Français
Source/ Codesnippets

Dialog Loadfile Multiselect

 

KompilierenMarqueSéparation
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='./../../funktionsreferenzen/XProfan/endproc/'>ENDPROC
 
25.09.2005  
 




Carlo
Keil
MeineHeader-Fichiers (XProfan 9) behaupten alle, vous würden pas passen.
quelle wird car ici benutzt?

Salut
Carlo

Nachtrag:
quelque chose sur) et un peu chercher peut hilfreich son.
avec cela sollte es aussi marcher (encore ungetestet)


Def GetOpenFileName(1) ! COMDLG32, GetOpenFileNameA
Def CommDlgExtendedError(0) ! COMDLG32, CommDlgExtendedError
 
07.11.2005  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.372 Views

Untitledvor 0 min.
RudiB.06.04.2022
Manfred Barei08.11.2018
Peter Max Müller11.10.2017
Jochen Roxlau04.10.2014
plus...

Themeninformationen

cet Thema hat 2 participant:

Carlo Keil (1x)
iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie