| |
|
|
| KompilierenMarqueSéparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Datei: Ersatz für Longname$ unter Profan 6.6 und 7.x
Ein PROFAN-Beispiel Quelltext von Achim Engelhardt
Profan-Vers.: 6.5 oder höher
Routine zum Ersetzen von LongName$ unter Profan 6.6 u. 7.0 u. ?
Proc GETLONA
Routine zum Ersetzen von LongName$ unter Profan 6.6 u. 7.0
PARAMETERS SHPFAD$, DOPPEL%, QUOTES%
= Pfad zum Umwandeln in Lang- oder Kurzform,
und evtl. 1 für Ausgabe mit \ anst. im Pfad
und evtl. 1 für Ausgabe in Quotes
Declare LONGB$,LONGD$,LONGG$,LONGH$,LONGI$,LONGJ$,LOPFA$,X%
Let LONGB$=@ShortName$(SHPFAD$)
LET X%=50
DECLARE DIM$[50,0]
Let LONGD$=
While @GT(X%,0)19-1 wird ausgewertet
Let LONGI$=@SubStr$(LONGB$,X%,) ermittelt den Dateinamen in DOS-Format ohne Pfad
If @NEQ$(LONGI$,)
If @NEQ$(LONGJ$,)
Let LONGJ$=@ADD$(@ADD$(LONGI$,\),LONGJ$)
Else
Let LONGJ$=LONGI$
EndIf
Let LONGH$=@Translate$(LONGB$,@ADD$(\,LONGJ$),)
If @Instr(\,LONGH$)
Let LONGG$=@FindFirst$(@Translate$(LONGB$,@ADD$(\,LONGJ$),))
@FindNext$()
Else
Let LONGG$=LONGH$
EndIf
Let LONGI$=@Translate$(@Translate$(LONGG$,[,),],)
Let DIM$[X%,0] =LONGI$
EndIf
DEC X%
Wend
Let LOPFA$=DIM$[2,0]Laufwerk
LET X%=3
WhileNot @GT(X%,49)3-19 wird ausgewertet
IfNot @EQU$(DIM$[X%,0],)
If DOPPEL%
Let LOPFA$=@ADD$(@ADD$(LOPFA$,\\),DIM$[X%,0])
Else
Let LOPFA$=@ADD$(@ADD$(LOPFA$,\),DIM$[X%,0])
EndIf
EndIf
INC X%
Wend
If DOPPEL%
Let LOPFA$=@ADD$(@ADD$(LOPFA$,\\),DIM$[1,0])
Else
Let LOPFA$=@ADD$(@ADD$(LOPFA$,\),DIM$[1,0])
EndIf
If QUOTES%
Let LOPFA$=@ADD$(@ADD$(@CHR$(34),LOPFA$),@CHR$(34))
EndIf
Return LOPFA$
Dispose DIM$
EndProc
Beispiel
Declare A$,B$
Let A$=@LoadFile$(Datei wählen : ,*.*)
Let B$=@ShortName$(A$)
Cls
Print Gewählt : ,A$
Print Also, Ausgang =,B$ist eigentlicher Ausgangspunkt, A$ NICHT in die Routine einbeziehen!!!
Print
GETLONA A$
Print Ergebnis normal:
Print @$(0)
Print
GETLONA A$,1
Print Ergebnis mit \\:
Print @$(0)
Print
GETLONA A$,0,1
Print Ergebnis normal in Quotes:
Print @$(0)
Print
GETLONA A$,1,1
Print Ergebnis mit \\ in Quotes:
Print @$(0)
WaitInput
end
|
|
|
| |
|
|