![]() |
Delphi-Version: 5
Startparameter (Ordner angeben + Dateiname)
Guten Tag DP,
hab schon eine Menge wie die Delphi Hilfe & Google gefragt nur wirklich weitergekommen bin ich noch nicht. Mein Problem ist folgendes : Ich habe vor bei einer Konsolanwendung 2 Parameter zu verwenden. Zum einen soll man den Folder angeben & als 2ten parameter den dateinamen. Als beispiel : test.exe -C:\test\ -test.jpg Wie kann ich das nun verwirklichen? :) |
AW: Startparameter (Ordner angeben + Dateiname)
|
AW: Startparameter (Ordner angeben + Dateiname)
So weit bin ich auch schon gewesen :) Es blick nur noch nicht ganz wie ich das ganze jetzt im Code verwirkliche.
|
AW: Startparameter (Ordner angeben + Dateiname)
Es gibt auch die Eine oder Andere komponente, wenn man mehr braucht und nicht alles selber machen will.
z.B. ![]() Tipp: Versuch mal sowas wie "prüfe, ob der Parameter -E vorhanden ist" ... dann mußt du erstmal alle Params einzeln danach durchsuchen und womöglich auch noch auf die Groß-/Kleinschreibung achten. Zitat:
Das sind zwei total einfache Funktionen, wozu auch noch alles in der OH erklärt wird. Es gibt sogar einige Tutorils dafür und im Forum lassen sich bestimmt genug Beispiele finden. Hast du schonmal mit einem Memo oder einer TStringList gearbeitet? Das ist genau das selbe Prinzip, beim Zugriff auf die einzelnen Werte/Zeilen. |
AW: Startparameter (Ordner angeben + Dateiname)
Also soweit ich das jetzt verstanden habe geht das so :
WriteLn(ParamStr(0)); = Ausgabe des Pfades in der sich das Programm befindet ParamStr(1); = Wäre dann der 1 Paramter z.b test.exe C:\test !? | V ParamStr(1) := 'C:\test' Und jetzt könnte ich mit dem parameter 1 arbeiten oder? |
AW: Startparameter (Ordner angeben + Dateiname)
Zitat:
Delphi-Quellcode:
Ansonsten ... jupp, stimmt.
WriteLn(ParamStr(0)); // Dateiname und Pfad der Anwendung
WriteLn(ExtractFilePath(ParamStr(0))); // Pfad der Anwendung (mit Backslash am Ende) WriteLn(ExtractFileDir(ParamStr(0))); // Verzeichnis der Anwendung (ohne) Man muß nur Bedenken, daß die Längenangabe wie bei einem String ist. > die 0 ignorieren wir einfach (ist ja auch kein Parameter) > und dann von 1 bis ParamCount Und es gibt keine Zugriffsverletzung. ParamStr(x) gibt einen Leerstring zurück, wenn es diesen Parameter nicht gibt. |
AW: Startparameter (Ordner angeben + Dateiname)
Du fragst einfach ab, wieviele Parameter beim Programmstart übergeben wurden. Wenn ParamCount = 1 dann wurde kein Parameter übergeben, denn ParamStr(0) wird defaultmäßig erzeugt.
|
AW: Startparameter (Ordner angeben + Dateiname)
Zitat:
|
AW: Startparameter (Ordner angeben + Dateiname)
Zitat:
|
AW: Startparameter (Ordner angeben + Dateiname)
noch eine Anmerkung
ich würde den Parametern Namen geben dann bist Du nicht an der Aufrufreihenfolge gebunden: Für test.exe -C:\test\ -test.jpg So: test.exe -folderName C:\test\ -fileName test.jpg Wenn Du dann die Paramterliste durchläufst z.B. bei i = 1 Dann steht z.B. im ParamStr(i) -folderName und im Paramstr(i+1) (dem nachfolgen von ParamStr(i)) der Name des Verzeichnisses. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz