Entwickler-Ecke
Sonstiges (Delphi) - Relative Pfade-Verständnisfrage
Boldar - Sa 27.12.08 20:46
Titel: Relative Pfade-Verständnisfrage
Hallo,
ist das hier
Delphi-Quelltext
1:
| assignfile (f, 'test.irgendwas'); |
Das Gleiche wie
Delphi-Quelltext
1: 2: 3: 4:
| var s: string begin getdir (0, s); assignfile (f, s+test.irgendwas); |
????
Weil bei mir machte es sehr wohl einen Unterschied, aber ich dachte immer es wäre äquivalent??
jaenicke - Sa 27.12.08 20:50
Meine Standardantwort zu dem Thema ist erstmal dies:
http://www.delphi-library.de/viewtopic.php?p=499701
Warum du ohne Pfadangabe Probleme bekommst und es eben nicht das selbe ist, siehst du auch in der Demo. Wo nämlich genau ein Problem auftritt ohne dass etwas besonderes gemacht wird.
Boldar - Sa 27.12.08 20:52
Aber der Getdir-aufruf ermittelt doch auch das arbeitsverzeichnis :gruebel:
Delete - Sa 27.12.08 20:54
Du meinst eher GetCurrentDir, oder? Wobei ich auch nicht schlau daraus werde, was bei Übergabe von 0 an GetDir "Vorgabe" bedeuten soll.
SmileySN - So 28.12.08 14:03
Das ist soweit auch richtig, solange sich das Default-Laufwerk (0) nicht ändert.
GetDir (DefaultLaufwerk, Pfadname) Wenn 0 im Aufruf von GetDir benutzt wird.
jaenicke - So 28.12.08 14:07
Die 0 benutzt ja das "default drive", das heißt du bekommst so insgesamt das "default directory" auf dem "default drive".
Wie das genau gemeint ist, weiß ich nicht. :nixweiss:
Es kann schon sein, dass damit gemeint ist, dass das das Arbeitsverzeichnis zurückgibt, in der Delphi Hilfe steht auch current directory statt default.
Und im Test eben war der Rückgabewert auch gleich dem von GetCurrentDir.
Und die Datei wird so mal gefunden und mal nicht? Bist du sicher, dass das daran liegt und nicht daran, dass sich das Arbeitsverzeichnis geändert hat?
Warum willst du eigentlich nicht auf ein bestimmtes Verzeichnis zugreifen, sondern auf das Arbeitsverzeichnis, das sich ja jederzeit ändern kann? :gruebel:
Du weißt ja nicht wohin das Arbeitsverzeichnis zeigt, es sei denn du setzt es vorher, und dann kannst du genauso gut auch gleich dieses Verzeichnis direkt benutzen.
Boldar - So 28.12.08 15:56
naja, ich habe das progg 2x mit meinen g-Tasten (Makrotasten) auf der Tastatur verknüpft. Nun habe ich im Treiber jeweils ein unterschiedliches Arbeitsverzeichnis gewählt, sodass das Progg dann eine andere ini benutzt und somit auch was anderes macht...
:) :lol: 8)
[Sind die paar Smileys noch erlaubt, Kha??]
jaenicke - So 28.12.08 16:00
Kannst du nicht einfach Parameter an das Programm übergeben? (Die sich mir ParamStr ja leicht auslesen lassen.) :gruebel:
Boldar - So 28.12.08 16:01
also die Einstellung in der Hardware is als erknüpfung ausgelegt... Wie fügt man denn Bei Verknüpfungen Parameter hinzu?? :nixweiss: :oops: :oops: :nixweiss:
Delete - So 28.12.08 16:03
Eigenschaften der Verknüpfung öffnen und die Parameter unter "Ziel" dahinterschreiben.
Quelltext
1:
| Pfad\Programm.exe /parameter |
jaenicke - So 28.12.08 16:03
Du kannst den Parameter ja in der Verknüpfung angeben. :idea:
In den Eigenschaften der Verknüpfung:
Unter Ziel z.B.:
Quelltext
1:
| "c:\...\xy.exe" Param1 |
ParamStr(1) enthält dann in Delphi den String Param1.
Boldar - So 28.12.08 16:04
muss man da Param1 inna verknüpfung nich in anführungszeichen setzen? und wie stehts mit Leerzeichen in Parametern??
jaenicke - So 28.12.08 16:05
Wenn der Parameter Leerzeichen enthält, muss er in Anführungszeichen, da sonst die einzelnen Teile als einzelne Parameter ankommen.
Boldar - So 28.12.08 16:06
mmh dann mach ichs so...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!