Seite 1 von 2
Aktuelles Directory Ermitteln!
Verfasst: 29.08.2005 22:52
von al90
Code: Alles auswählen
; Ermittelt das Aktuell gesetzte Verzeichnis!
Procedure.s GetCurrentDir()
buflen=#MAX_PATH
a$=Space(buflen)
l=GetCurrentDirectory_(buflen,@a$)
d$=PeekS(@a$,l)
If Right(d$,1)<>"\":d$+"\":EndIf
ProcedureReturn d$
EndProcedure
currentdir$=GetCurrentDir()
Debug currentdir$
Verfasst: 29.08.2005 22:55
von Hroudtwolf
Warum hast du den Stringbuffer auf 2 KB gesetzt? Das ist viel zu hoch.
250-300 sollten reichen.
Verfasst: 29.08.2005 23:03
von al90
Nur zur sicherheit. Klar, ist normalerweise viel zu hoch aber 2KB haben
selbst die ältesten Rechner der Welt noch.

Verfasst: 29.08.2005 23:15
von ts-soft
Dafür gibts aber
#MAX_PATH 
(sind 260)
Verfasst: 29.08.2005 23:24
von al90
Na gut ich werd's bei zeiten anpassen bevor man mich noch lyncht.

Verfasst: 29.08.2005 23:35
von ts-soft
Ich habs mal ein bissel um unnötige Umwandlungen gekürzt, ich hoffe Du bist nicht böse, ist ja nur zum lernen:
Code: Alles auswählen
; Ermittelt das Aktuell gesetzte Verzeichnis!
Procedure.s GetCurrentDir()
buflen=#MAX_PATH
a$=Space(buflen)
GetCurrentDirectory_(buflen,@a$)
If Right(a$,1)<>"\":a$+"\":EndIf
ProcedureReturn a$
EndProcedure
currentdir$=GetCurrentDir()
Debug currentdir$
Verfasst: 30.08.2005 00:02
von al90
Nö kein problem, hab's ja eh als PD freigegeben.

Verfasst: 30.08.2005 10:00
von Agent
Hey al90.
Warum erfindest du das Rad neu? All die Proceduren die Du zuletzt gepostet hast gibts alle schon....Wer sucht der findet. Z.t. auch im Codearchiv...
Verfasst: 30.08.2005 10:03
von ts-soft
Und wenn Du die größe des erforderlichen Buffers nicht kennst, kann man diesen oft ermitteln und zwar mit derselben Funktion, durch Übergabe von #NULL
Code: Alles auswählen
Procedure.s GetCurrentDir()
buflen=GetCurrentDirectory_(#Null,@a$); ermitteln des erforderlichen Buffers, deswegen #NULL
a$=Space(buflen)
GetCurrentDirectory_(buflen,@a$); zweiter Aufruf mit erforderlich Buffer
If Right(a$,1)<>"\":a$+"\":EndIf
ProcedureReturn a$
EndProcedure
currentdir$=GetCurrentDir()
Debug currentdir$
Verfasst: 30.08.2005 20:42
von al90
Agent hat geschrieben:Hey al90.
All die Proceduren die Du zuletzt gepostet hast gibts alle schon....Wer sucht der findet. Z.t. auch im Codearchiv...
Bist Du dir da sicher ?