![]() |
Re: Reload
@himi: Bei Turbo Delphi ist das schon der Fall. Dort kann ich mir auch die Erklärungen der WinAPI - Funktionen ansehen, natürlich in Englisch. ;)
|
Re: Reload
...Ich habe leider nur Delphi 2006 (auch als TurboDelphi bekannt)
aber mein Fachspezifisches English ist nicht sehr gut... ;) |
Re: Reload
Zitat:
|
Re: Reload
Zitat:
mit ''.\'' sag ich Delphi das sich die Datei in dem Ordner befindet in dem die exe ist... und mit ''.\Save\Save.ini'' ,dass sich die Datei im von der exe gesehen in einem Unterordner namens Save befindet und das die datei Save.ini heißt... WO Soll DA DIE GEFAHR SEIN??? :gruebel: |
Re: Reload
Zitat:
![]() Und auch mit ![]()
Code:
muß man als Anfänger auch verstehen.
HINSTANCE ShellExecute(
HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); |
Re: Reload
Zitat:
[edit] Vertippsler [/edit] [edit2] Zitat:
|
Re: Reload
Zitat:
während dein Programm läuft, kann sich, durch ein anderes Programm, das aktuelle Arbeitsverzeichnis ändern. Nix anderes macht man nämlich mit relativen Pfadangaben: Man schreibt ins aktuelle Arbeitsverzeichnis. Im Regelfall ist dass das der Anwendung, u.U. ist das aber auch ein völlig anderes. Deswegen ist
Delphi-Quellcode:
die beste Lösung, wenn du was ins eigene Verzeichnis packen willst. Wenn du nur den Pfad zur Exe brauchst, dann steht der komplett in ParamStr(0). ;)
IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'irgendeine.datei'
|
Re: Reload
Zitat:
|
Re: Reload
Zitat:
|
Re: Reload
Zitat:
|
Re: Reload
Zitat:
|
Re: Reload
Zitat:
|
Re: Reload
Was zur Hölle ist eine Batch-Datei?
|
Re: Reload
|
Re: Reload
IncludeTrailingPathDelimiter(ExtractFilePath(Param Str(0))) + 'irgendeine.datei'
.................................................. .................... .................................................. .................... (______ ______)....(___ ___).(__ __)............................(_____ _____) .......'...............'........'................. ....................' Was ist der.........Delimiter..Extract.................... ........z.B. Save.ini? Trailing Path?.........???.......Wieso ein ..................................Auszug? |
Re: Reload
Sorry, aber:
-ParamStr -> F1 -ExtractFilePath -> F1 -IncludeTrailingPathDelimiter -> F1 Soviel kann man erwarten. |
Re: Reload
IncludeTrailingPathDelimiter() fügt einen BackSlash ans Ende an, falls dieser noch nicht da ist (was aber eigentlich bei ExtractFilePath() der Fall ist)
|
Re: Reload
hab den realtiven Pfad gerade mal mit dem Befehl ersetzt und schon...FUNKTIONIERTS NICHT MEHR
...naja wie auch immer mit relativen Pfaden klappts ja... |
Re: Reload
Und wie sieht der Pfad nun aus?
|
Re: Reload
Zitat:
[edit] Markus: wie bitte? [/edit] |
Re: Reload
Zitat:
Hier paar nützliche Funktionen: ParamStr(0) gibt dem kompletten Pfad deines Exe-Programms ExtractFilePath(ParamStr(0)) gibt nur den Ordner an in dem sich dein Exe-Programm befindet. |
Re: Reload
Zitat:
|
Re: Reload
Nicht pushen :warn:
|
Re: Reload
Und genau deshalb, um mir nicht immer merken zu müssen, welche Funktion den Pfad wie zurück gibt, knall ich die Funktion da drumherum. ;)
|
Re: Reload
@Popov: Liest du eigentlich auch die Antworten von anderen Benutzern?
|
Re: Reload
Zitat:
Ich weiß auf was du hinaus willst. Es ist jetzt zwei oder drei mal vorgekommen, daß ich einen Tipp abgegeben habe der schon abgegeben wurde. Aber verlangst du wirklich von mir, daß ich, wenn ich das Gefühl habe, daß ich antworten sollte, mir erst alle Beiträge bis Ende durchlesen soll und zu prüfen ob einer bereits etwas geschrieben hat, bevor ich selbst antworte? Das nimmt die ganze Spontanität weg. Entweder will ich zu dem Zeitpunkt antworten oder nicht. Ich lese garantiert nicht erst 10 Minuten weiter und gehe dann alles noch mal durch. Aber auch wenn ich es machen würde, in der Zeit in der ich dann schrieben, kann einer mit seiner Antwort schneller sein. Und schon wieder haben wir das Problem. Also entschuldige, daß ich paar Mal gleiche Ideen hatte wie du. Und komm nicht mit dem Hinweis, daß so eine rote Schrift mich drauf hinweist, daß zwischendurch neue Antworten hinzugekommen sind. Glaubst du ich schrieben fünf Minuten an einem Text um denn dann nicht abzuschicken? Also, entweder du akzeptierst, daß manche Tipps doppelt kommen und du löscht bei Bedarf meine Beiträge. |
Re: Reload
Zitat:
|
Re: Reload
Ähm... sorry, das sollte ein "oder" sein, nicht "und". Man sollte nicht eine Reportage über die Mafia mit dem einem Auge gucken, mit dem anderen Texte schreiben.
|
Re: Reload
[OT]Ich habe hier lange nicht mehr einen Thread gesehen, wo so viele Sachen doppelt und dreifach hintereinander von verschiedenen Usern genannt werden. Entweder wir werden senil oder ich bin heute nur sensibel.[/OT]
Gibt es zum eigentlichen Problem, weswegen der Thread eröffnet wurde noch Fragen? |
Re: Reload
nicht direckt, aber:
Ich habe mal aus Spaß eine Verküpfung zum Desktop gemacht von meiner Exe und ich habe auch mal parallel zu meinem Programm ein anderes laufen lassen. Keine Error Meldung, kein nicht gefundener Pfad und alle Ini-Dateien wurden richtig angelegt.... Ich finde einfach nichts was meine relativen Pfade erschüttert... Woher glaubt ihr den zu wissen das sich der Pfad da ändert? Der Pfad wird ja auch immer nur ausgelesen, in einem Moment in dem das Programm aktiv ist... |
Re: Reload
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe dir mal was zusammengestrickt:
Zuerst auf "LoadFile" klicken Dann auf "OpenDialog" klicken - dabei eine x-beliebige Datei in einem fremden Verzeichnis auswählen. Dann wieder auf "LoadFile" klicken - Und jetzt kann die Datei nicht gefunden werden... ;) Und deshalb soll man absolute Pfadangaben benutzen... ;) |
Re: Reload
Mach mal eine Konsole auf (angenommen, Dein Programm steht unter "C:\Programme\Test\Test.exe"). In der Konsole gibst Du nun ein:
Code:
Alles super, funktioniert, wozu Sorgen machen? Neue Konsole:
c:
cd "\programme\test" test.exe
Code:
Nanu? Was ist nun aktuelles Verzeichnis?
c:
cd \ "programme\test\test.exe" |
Re: Reload
Zitat:
Delphi-Quellcode:
ähnlich ist,
save:=TIniFile.Create('.\Save\Save.ini');
es gibt nur
Delphi-Quellcode:
und da gibt es ja kein .\
Memo1.Lines.LoadFromFile('test.txt')
|
Re: Reload
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
(siehe Anhang > Bild) Zitat:
und das mit den mehreren Programmen, sei froh, daß du nicht mehr unter DOS arbeitets, da gab es nur einen aktiven Pfad je Laufwerk und alle Programme mußten sich diesen Teilen (OK, war kein Problem, da dort eh fast nur immer ein Programm gleichzeitig lief :nerd: ) ... in Windows hat jedes Programm seinen "eigenen" aktiven Pfad und dann nochmal eines je Laufwerk (irgendwas mssen wir ja für DOS übriglassen :angel2: ) |
Re: Reload
@Farnk, vielleicht sollte man zur Verdeutlichung einen abweichenden Pfad nehmen
|
Re: Reload
Zitat:
|
Re: Reload
.7z ?
Was isn das fürn Datei-Typ? Das is aber nicht sevenzip? falls doch, kannst du's bitte nochmal als normale zip hochladen, längst nicht jeder nutzt sevenzip |
Re: Reload
@Daniel G: mit oder ohne .\ am Anfang, sollte da schon das Gleiche rauskommen
@mkinzler: wieso ich? er sollte da doch mal was Anderes ausprobieren ... ich weiß was passiert und wollt mir die Arbeit sparen :mrgreen: Tschuldschung: 7z = 7zip ... ich lag's gleich noch mal als .ZIP hoch |
Re: Reload
Zitat:
|
Re: Reload
so, hab's in dem entsprechendem Beitrag durch .ZIP ersetzt
Zitat:
jaja, relative Pfade und ihre Tücken ... nicht zu vergessen '..\datei' ... und ich laß jetzt mal UNC besser weg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz