| |
|
|
|
Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
Programmverzeichnis bestimmen
Freundlicherweise de Dieter Zornow para ROC
a Disposición gestellt. DANKE!
Def FindFirstFile(2) !KERNEL32,FindFirstFileA
Def FindClose(1) !KERNEL32,FindClose
Declarar PFAD$
PROC FINDFILE
Declarar handle&,info#,file#,Name$
parámetros file$
Filemode 0
Dim info#,255
Dim File#,add(len(file$),1)
String File#,0=file$
let handle&=FindFirstFile(file#,info#)
Let Name$=@String$(Info#,44)
FindClose(handle&)
Disponer File#
Disponer info#
Filemode 2
Volver Name$
ENDPROC
PROC ZERLEGEN
Declarar z%,name$,Pfad$,l1%,l2%,volver$
parámetros uebergabe$
let Pfad$=uebergabe$
let l1%=@len(uebergabe$)
Let z%=1
Sinestar encargado @equ(z%,0)
let z%=@instr(,uebergabe$)
let name$=Mid$(uebergabe$,@add(z%,1),@sub(len(uebergabe$),z%))
let uebergabe$=name$
wend
let l2%=@len(name$)
let uebergabe$=
let Pfad$=@left$(Pfad$,@sub(l1%,l2%)) con letztem
if @gt(@len(Pfad$),3) si no en el Hauptverzeichnis
inc l2%
let Pfad$=@left$(Pfad$,@sub(l1%,l2%)) schneide el letzte de wahlweise je después de Verwendung
endif
let volver$=Pfad$+|+name$ unübliches Trennzeichen uso
volver volver$
ENDPROC
PROC PFAD
Declarar Progpfad$,Progname$,temp$
zerlegen @par$(0)
If @equ$(@upper$(@Mid$(@$(0),@Add(@instr(|,@$(0)),1),@sub(@len(@$(0)),@instr(|,@$(0))))),PROFAN.EXE)
let temp$=@par$(1) *.prf
zerlegen temp$
elseif @equ$(@upper$(@Mid$(@$(0),@Add(@instr(|,@$(0)),1),@sub(@len(@$(0)),@instr(|,@$(0))))),PRFRUN32.EXE)
let temp$=@par$(1) *.prc
zerlegen temp$
más
let temp$=@par$(0) *.exe
zerlegen temp$
endif
let progpfad$=@Upper$(@left$(@$(0),@sub(@instr(|,@$(0)),1)))
let Progname$=@upper$(@Mid$(@$(0),@Add(@instr(|,@$(0)),1),@sub(@len(@$(0)),@instr(|,@$(0)))))
Findfile @upper$(temp$)
If @equ$(@Trim$(@$(0)),)
let Progpfad$=
Let Progname$=
declarar tz$,mess$
let tz$=Dateifehler
let mess$=Das Programmverzeichnis podría no gefunden voluntad, Por favor,
starten Sie el Programa en el eigenen Directorio neu.
@messagebox(mess$,tz$,16)
endif
Volver progpfad$
ENDPROC
Ejemplo
PFAD Pfad ermitteln
PFAD$=@$(0) Hier nun el korrekte Pfad para Programa
messagebox(pfad$,Programmverzeichnis:,4160)
|
|
|
| |
|
|