AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Startparameter (Ordner angeben + Dateiname)

Startparameter (Ordner angeben + Dateiname)

Ein Thema von Back2Code · begonnen am 17. Apr 2012 · letzter Beitrag vom 17. Apr 2012
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#1

Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:06
Delphi-Version: 5
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?

  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:09
Delphi-Referenz durchsuchenParamStr und Delphi-Referenz durchsuchenParamCount sind Deine Freunde.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:16
So weit bin ich auch schon gewesen Es blick nur noch nicht ganz wie ich das ganze jetzt im Code verwirkliche.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#4

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:16
Es gibt auch die Eine oder Andere komponente, wenn man mehr braucht und nicht alles selber machen will.
z.B. http://www.delphipraxis.net/151755-p...-auslesen.html

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:
Es blick nur noch nicht ganz wie ich das ganze jetzt im Code verwirkliche.
Und wo genau ist das Problem?

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (17. Apr 2012 um 09:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#5

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:32
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#6

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:38
WriteLn(ParamStr(0)); = Ausgabe des Pfades in der sich das Programm befindet
Delphi-Quellcode:
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)
Ansonsten ... jupp, stimmt.


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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:41
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.
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#8

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:42
WriteLn(ParamStr(0)); = Ausgabe des Pfades in der sich das Programm befindet
Delphi-Quellcode:
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)
Ansonsten ... jupp, stimmt.


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.
Super. Gibts jetzt eine Möglichkeit nicht den des Pfad des Programmes anzugeben sondern ein Custompfad als Beispiel c:\test\ ?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:46
Super. Gibts jetzt eine Möglichkeit nicht den des Pfad des Programmes anzugeben sondern ein Custompfad als Beispiel c:\test\ ?
Den Pfad des Programmes mußt du nicht angeben, Paramstr(0) ist immer die Exe-Datei nebst Pfad, alle weiteren Parameter bleiben deiner Phantasie überlassen.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Startparameter (Ordner angeben + Dateiname)

  Alt 17. Apr 2012, 09:47
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
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz