AGB  ·  Datenschutz  ·  Impressum  







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

Umgebungsvariablen in Delphi nutzen

Ein Thema von gunfran · begonnen am 13. Dez 2007 · letzter Beitrag vom 19. Feb 2009
Antwort Antwort
gunfran

Registriert seit: 25. Apr 2007
Ort: Hamburg
15 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Umgebungsvariablen in Delphi nutzen

  Alt 13. Dez 2007, 08:50
Hallo Leute.

Ich habe grad ein vermutlich recht triviales Problem, aber irgendwie find ich nicht raus wie es geht. Ich möchte in einem Delphi-Programm eine Log-Datei zu Debug-Zwecken schreiben. Hierzu möchte ich es vermeiden in dem Code einen festen Pfad zu verwenden, sondern würde gerne die Systemumgebungsvariable TEMP benutzen um den Pfad-string für die Datei zu erzeugen. Kann mir jemand zeigen, wie ich an die Information komme? Muss ich da dann eigentlich immer überprüfen, ob das letzte Zeichen des Strings der TEMP-Variable ein \ ist?

Ich hoffe ich habe mich verständlich ausgedrückt und bedanke mich schonmal im voraus für die Antworten.

Gruß

Michael
Michael D.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Umgebungsvariablen in Delphi nutzen

  Alt 13. Dez 2007, 08:55
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
  SetLength(s,MAX_PATH); //evtl. großzügiger sein
  GetTempPath(Length(s) - 1,PChar(s));
  SetLength(s,StrLen(Pchar(s)));
  ShowMessage(s);
end;
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
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Umgebungsvariablen in Delphi nutzen

  Alt 13. Dez 2007, 09:25
Ansonsten für die direkten Fragen:

1. Delphi-Referenz durchsuchenGetEnvironmentVariable()
2. Wegen dem abschließendem Backslash: Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter() bzw. Delphi-Referenz durchsuchenExcludeTrailingPathDelimiter()

Nutze aber für 1. lieber diese abgeänderte Version von DeddyH's gelieferte Lösung_

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
  SetLength(s, MAX_PATH);
  SetLength(s, GetTempPath(MAX_PATH - 1, PChar(s)));
  ShowMessage(s);
end;
@DeddyH: Warum nochmal Length() wenn du weißt wie lang (als Konstante vorliegen)? Und StrLen() kostet neben der temporären PChar Konvertierung nochmals mehr Zeit, dabei liefert GetTempPath() die Anzahl der eingetragenen Zeichen zurück.
  Mit Zitat antworten Zitat
gunfran

Registriert seit: 25. Apr 2007
Ort: Hamburg
15 Beiträge
 
Delphi 10 Seattle Professional
 
#4

Re: Umgebungsvariablen in Delphi nutzen

  Alt 13. Dez 2007, 09:50
Vielen Dank für die Hilfe.

Das hiflt mir sehr weiter. Ihr seid spitze.
Michael D.
  Mit Zitat antworten Zitat
gunfran

Registriert seit: 25. Apr 2007
Ort: Hamburg
15 Beiträge
 
Delphi 10 Seattle Professional
 
#5

Re: Umgebungsvariablen in Delphi nutzen

  Alt 19. Feb 2009, 13:42
Hello again.

Ich steh grad wieder ein bisschen auf dem Schlauch. Ich habe diesen Code so wie ihn "Muetze1" erfolgreich in Delphi 7 Pro verwendet. Alles prima.

Jetzt habe ich den Code in Turbo Delphi 2006 Proffesional für Win 32 reinkopiert und er meckert sowohl "MAX_PATH" als auch "GetTempPath" als nicht deklarierten Bezeichner an. Ich denke mir fehlt da eine unit, aber ich weiss leider nicht welche. Hat jemand eine Ahnung, warum er auf diese Weise nicht mehr den TEMP-Pfad finden mag.

Danke im voraus.
Michael D.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Umgebungsvariablen in Delphi nutzen

  Alt 19. Feb 2009, 13:46
Ruf doch einfach "GetTempPath" in der Hilfe auf, da steht dann normalerweise auch die enthaltende Unit.
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 sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Umgebungsvariablen in Delphi nutzen

  Alt 19. Feb 2009, 13:47
unit windows
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
gunfran

Registriert seit: 25. Apr 2007
Ort: Hamburg
15 Beiträge
 
Delphi 10 Seattle Professional
 
#8

Re: Umgebungsvariablen in Delphi nutzen

  Alt 19. Feb 2009, 13:52
Ich hab den Begriff in der Suche eingegeben, aber komischerweise kein Ergebnis gefunden. Gewundert hatte mich das auch, aber wie immer seid ihr schneller als die Polizei erlaubt. Das ist echt wahnsinn. Herzlichen Dank.

p.s. Ich schliesse natürlich nicht aus, dass ich zu doof war das richtige Ergebnis in der Hilfe zu finden.
Michael D.
  Mit Zitat antworten Zitat
Antwort Antwort


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:37 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