| |
|
|
| CompileMarkSeparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
LoadFile mit Mehrfachauswahl von Dateien
Lauffähig ab Profan-Version 5.0
rem ******************************** für Profan 6.6 ****************************
(c) 26.12.99 Uwe Pascal Niemeier
Window 50,50-300,300
declare a#,a%,a&
declare a$,b$,c$
def GetOpenFileName(1) ! COMDLG32.DLL,GetOpenFileNameA
def CommDlgExtendedError(0) ! COMDLG32.DLL,CommDlgExtendedError
proc Opendlg --------------------------------------------------------------------OPEN-Dialog
dim a#,2600 ---------------------------------------------- Puffer + Struktur
clear a#
long a#,0=76--------------------------------------------- Struktur für GetOpenFileName
long a#,28=a#+100---------------------------------------- Beginn Puffer
long a#,32=2500------------------------------------------ Puffer 2500 Bytes
a$=Textdateien;chr$(0);*.txt;;chr$(0);--------------- DateiFilter 1
a$=a$;Alle Dateien;chr$(0);*.*;;chr$(0);------------- DateiFilter 2
a$=a$;chr$(0) ------------------------------------------- 2*0 als Abschluß
a&=addr(a$)+1
long a#,12=a&
b$=Bitte Datei(en) wählen,chr$(0)---------------------- Titel
a&=addr(b$)+1
long a#,48=a&
c$=c:1test+chr$(0)------------------------------------- Anfangspfad
a&=addr(c$)+1
long a#,44=a&
long a#,4=%hwnd------------------------------------------- übergeordnetes Fenster
long a#,52=$00081206-------------------------------------- Flags siehe Winhlp32
GetOpenFileName(a#)
if equ(CommDlgExtendedError(),12291)---------------------- Fehlerabfrage Pufferüberlauf
messagebox(Sie haben zu viele Einträge gewählt.
Verteilen Sie ihre Auswahl auf mehrere kleine Portionen!,Hinweis,48)
endif
rem ------------------------------------------------------------------------------ Auswertung
a%=long(a#,56)-1
a$=string$(a#,100)
if len(a$)=a% ----------------- MehrfachAuswahl
print MehrfachAuswahl
print Pfad :,a$
a%=0
while len(a$) -------------- alle Dateinamen aus Puffer lesen (getrennt durch 0-Byte)
a%=a%+len(a$)+1
a$=string$(a#,100+a%) --- Puffer = Byte 100 bis Byte 2600 in a#
case len(a$):print Datei :,a$
endwhile
else--------------------------- EinzelAuswahl
print EinzelAuswahl
print Gewählt :,a$
endif
dispose a#
endproc---------------------------------------------------------------------------------
opendlg
ef='./../../Function-References/XProfan/waitkey/'>waitkey
|
|
|
| |
|
|