AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Setup.INI einlesen

Ein Thema von GVolberg · begonnen am 16. Mär 2018 · letzter Beitrag vom 18. Mär 2018
Antwort Antwort
Seite 1 von 2  1 2      
GVolberg

Registriert seit: 12. Mär 2018
5 Beiträge
 
#1

Setup.INI einlesen

  Alt 16. Mär 2018, 22:28
Hallo Community,

ich möchte mein Delphiprogramm in einem beliebigen Verzeichnis starten und es soll dann genau dort nach einer Datei setup.ini suchen und einlesen.

Zur Zeit habe ich den Pfadnamen hartkodiert im Sourcecode stehen. Das klappt prima.

Auf Dauer finde ich das aber nicht ideal, da der Benutzer meines Programms selber bestimmen können soll, wo das EXE läuft.

Viele Grüße
Gerd
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#2

AW: Setup.INI einlesen

  Alt 16. Mär 2018, 22:45
ExtractFilePath(ParamStr(0)) + 'Setup.ini'
oder
ExtractFilePath(Application.ExeName) + 'Setup.ini'

Beides gleich.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.006 Beiträge
 
Delphi 12 Athens
 
#3

AW: Setup.INI einlesen

  Alt 16. Mär 2018, 23:26
ExtractFilePath(ParamStr(0)) + 'Setup.ini' oder
ExtractFilePath(Application.ExeName) + 'Setup.ini'
Das gibt das Verzeichnis an wo die EXE liegt, aber nicht das Verzeichnis aus dem sie gestartet wurde. Die Frage ist in der Form nicht eindeutig gestellt.

Also, was soll's sein: c:\WINDOWS\system32 oder c:\temp?
Code:
c:\WINDOWS\system32>c:\Temp\MeinProg.exe
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
GVolberg

Registriert seit: 12. Mär 2018
5 Beiträge
 
#4

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 00:17
ExtractFilePath(ParamStr(0)) + 'Setup.ini' oder
ExtractFilePath(Application.ExeName) + 'Setup.ini'
Das gibt das Verzeichnis an wo die EXE liegt, aber nicht das Verzeichnis aus dem sie gestartet wurde. Die Frage ist in der Form nicht eindeutig gestellt.

Also, was soll's sein: c:\WINDOWS\system32 oder c:\temp?
Code:
c:\WINDOWS\system32>c:\Temp\MeinProg.exe
Many thanks schonmal.

Aktuell liegt das exe in c:\games . Dort liegt auch die ini
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 00:26
Hi, Du kannst auch in der Zeile wo Du auf eine Datei im Verzeichniss des Hauptprogramms zugreifen möchtest lediglich ein '.\Setup.ini' anstelle 'X:\Verzeichniss\Setup.ini', klappt auch mit Unter- und Oberverzeichnissen.
Der >.< ist ein Platzhalter für's Programmverzeichniss.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#6

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 01:35
Der >.< ist ein Platzhalter für's Programmverzeichniss.
Nein, der Punkt ist ein Platzhalter für das aktuelle Arbeitsverzeichnis des Programms. C:\Windows\system32 in Uwes Beispiel. Übrigens, wie auch schon von anderen Leuten hier im Forum erwähnt, kann sich das Arbeitsverzeichnis eines Programms durch das Benutzen von TOpenDialog und Konsorten ändern. Daher IMMER absolute Pfade zusammenbauen.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 08:42
Habe es gerade nochmal getestet, also bei mir wird immer das Verzeichniss genommen wo sich auch die .exe befindet, auch wenn sich die .exe nicht im aktuellen Pfad befindet. Getestet per Console (cmd.exe).
Vielleicht liegt es auch daran das in einer meiner Standard-Units ein
Code:
ChDir(ExtractFilePath(ParamStr(0)));
im INITIALIZATION part steht.
In einem Neuen Projekt ohne auf meine Units zuzugreifen kommt genau das raus was ihr beschrieben habt also denke ich mal das ChDir() macht den Unterschied.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 09:08
Das ChDir wechselt das aktuelle Arbeitsverzeichnis. Nur kann es sein, dass das nach dem Aufruf noch einmal irgendwo anders geschieht, z.B. durch einen Dialog. Aber das hast Du bestimmt auch schon ausprobiert und hier reden alle nur Blödsinn
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 KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 09:23
Tut mir ja leid, ich konnte nichts von einem Dialog lesen und bin daher auch von keinem vorigen Dialog der das Verzeichniss wechselt ausgegangen, in meinem Test war nur Console-Code, kein VCL.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#10

AW: Setup.INI einlesen

  Alt 17. Mär 2018, 10:16
Zitat:
Das gibt das Verzeichnis an wo die EXE liegt, aber nicht das Verzeichnis aus dem sie gestartet wurde. Die Frage ist in der Form nicht eindeutig gestellt.
Darüber hat er kein Wort gesagt.
Zitat:
ich möchte mein Delphiprogramm in einem beliebigen Verzeichnis starten und es soll dann genau dort nach einer Datei setup.ini suchen und einlesen.
ich bin mir sicher er will einfach nur die Exe doppelt anklicken und die Ini laden. Kein CMD und so was.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:58 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