English
Source / code snippets

dialog Loadfile Multiselect

 

CompileMarkSeparation
von Bernhard Künzel

Proc MultiLoadFile$

    Parameters Titel$,Dateimaske$,LW$
    Titel$= Überschrift des Dialoges
    Die Übergabe der Dateimaske ist gleich wie bei der Profanfunktion LoadFile$()
    Beispiel Dateimaske$= Alle unterstützten Metadateien|*.wmf;*.emf
    Dateimaske$= Metafile (wmf)|*.wmf|Enhanced Metafile (emf)|*.emf
    bei Leerstring alle Dateien
    LW= kann optional ein Pfad angegeben werden  z.B.C:	est
    Case %PCount < 3:LW$=GetDir$(@)sonst wird der Übergebene Pfad übernommen
    Declare Api#,i%,Err$,Datei$,RetFile$
    Dim Api#,8100
    CaseNot Len(Dateimaske$):Dateimaske$=Alle Dateien|*.*;*.*
    Dateimaske$=Translate$(Dateimaske$,|,z)+zz
    Clear Api#,RetFile$
    Long Api#,0=76 ...................Strukturlänge für GetOpenFileName
    Long Api#,4=GetActiveWindow() ....übergeordnetes Fenster
    Long Api#,8=%HINSTANCE............Instance Dialogbox
    Long Api#,12=addr(Dateimaske$) ...Adr. AnwenderFilterfunktion
    Long Api#,16=0 ...................Adr. Customfilter
    Long Api#,20=0 ...................Max.Länge CustFilter
    Long Api#,24=0 ...................Index der Standard Definition
    long Api#,28=Api#+100 ............Adr. für die ausgewählten Dateinamen
    long Api#,32=8000 ................Max.Länge Dateinamen
    long Api#,36=0....................Adr. FileTitel
    long Api#,40=0....................Max.Länge FileTitel
    long Api#,44=addr(LW$)............Adr. Startverzeichnis z.B.C:	est
    long Api#,48=addr(Titel$).........Addr. Dialogboxtitel
    long Api#,52=$00081206 .......... OFN_EXPLORER | OFN_FILEMUSTEXIST |
    OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
    Word Api#,56=0 ...................Adr. Dateinamensbeginn
    Word Api#,58=0 ...................Adr. Extensionsbeginn
    Long Api#,60=0 ...................Adr. Standardextension
    ~GetOpenFileName(Api#)
    //Fehlerabfrage Pufferüberlauf FNERR_BUFFERTOOSMALL

    If ~CommDlgExtendedError()

        Err$=If(Equ(~CommDlgExtendedError(),$3003),Sie haben zu viele Einträge ausgewählt !,
        Format$(Fehlernummer : ###,~CommDlgExtendedError()))
        Messagebox(Err$,Hinweis,48)

    Else

        i%=Long(Api#,56)-1
        Datei$=String$(Api#,100)

        If Len(Datei$) = i% ---------> Mehrfachauswahl

            RetFile$=Datei$+
            i%=0

            While Len(Datei$)

                i%=i%+Len(Datei$)+1
                Datei$=String$(Api#,100+i%)
                Case Len(Datei$):RetFile$=RetFile$+|+Datei$

            Wend

            Else ------------------------> Einzeleintrag
            Case Len(Datei$):RetFile$=Translate$(Datei$,+FindFirst$(Datei$),|+FindFirst$(Datei$))
            Case Len(Datei$):Ins$(|,Datei$,Len(Datei$)-Len(FindFirst$(Datei$))+1)

        EndIf

    EndIf

    Dispose Api#
    Return RetFile$ erster Substring ist der Pfad alle weiteren sind Dateien (Trenner ist |)

ss=s4 href='./../../Function-References/XProfan/endproc/'>ENDPROC
 
09/25/05  
 




Carlo
Keil
MeineHeader-Files (XProfan 9) insist any, tappt im dunkeln would not fit.
which becomes because here using?

Greeting
Carlo

Nachtrag:
something cogitate and a little search can helpful his.
so ought to it too klappen (yet ungetestet)


Def GetOpenFileName(1) ! COMDLG32, GetOpenFileNameA
Def CommDlgExtendedError(0) ! COMDLG32, CommDlgExtendedError
 
11/07/05  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

2.401 Views

Themeninformationen

this Topic has 2 subscriber:

Carlo Keil (1x)
iF (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie