![]() |
[Erledigt] %windir% wie geht des
Hi liebe DP-ler,
ich hab da mal ne frage ich möchte foglende variable vergeben
Delphi-Quellcode:
warum funktioniert des mit dem windir nicht?
const filename= ('%windir%\Temp\~temp.mid');
Danke im Voraus euer Klau |
Re: %windir% wie geht des
Beid dir funktioniert das? .. Bei mir nicht.
|
Re: %windir% wie geht des
ja sorry ich meinte natürlich warum funktioniert das nicht und was muss ich machen, dass das funktioniert
|
Re: %windir% wie geht des
Hai Klaus,
Du versuchst "unter anderem" einer Konstanten einen Wert zugeben der auf jedem Rechner anders sein kann. |
Re: %windir% wie geht des
:wiejetzt:
ich versuche eben einen pfad festzulegen wo die ~temp.mid gespeichert werden soll also Windows-Verzeichniss\Temp\~temp.mid wie muss ich des jetzt hinschreiben kann mir nicht jemand einen code geben? Meinst du ich müsste das unter var machen? |
Re: %windir% wie geht des
Delphi-Quellcode:
var
FileName: String; begin FileName := IncludeTrailingPathDelimiter(GetEnvironmentVariable('WinDir')) + 'TEMP\~TEMP.MID'; end; |
Re: %windir% wie geht des
|
Re: %windir% wie geht des
hmm Jeder Benutzer hat doch sein eigenes Temp verzeichniss, welches du nutzen solltest!
Dieses liegt liegt pie mal Daumen dort: C:\Dokumente und Einstellungen\"Benutzername"\Lokale Einstellungen\Temp :zwinker: Der genaue Pfad wird erstens in der Regestry abgespeichert und zweitens kann man den auch per KW (Keyword) erreichen... Warum solltest du das tun? Ganz einfach weil z.B. eingeschränkte Benutzer, welche keine Admins sind gar nicht erst in die Windowsverzeichnisse kommen... :cyclops: Bye |
Re: %windir% wie geht des
//Edit
//Da war ja jemand knapp schneller ;-) //Kedariodakon hat vollkommen Recht //Und der Code ist auch gleich dabei :-) //Edit Wobei du dir aber überlegen solltest, ob es wirklich
Delphi-Quellcode:
sein sollte, oder nicht doch eher
FileName := IncludeTrailingPathDelimiter(GetEnvironmentVariable('WinDir')) + 'TEMP\~TEMP.MID';
Delphi-Quellcode:
Da der User ja als Temp-Dir nicht unbedingt %windir%\temp festgelegt haben muss; unter NT-basierten Systemen nicht mal standardmäßig hat.
FileName := IncludeTrailingPathDelimiter(GetEnvironmentVariable('Temp')) + '~TEMP.MID';
|
Re: %windir% wie geht des
OK jetzt hab ich mal wieder was gelernt und er funktioniert vielen dank ihr alle.
:dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp: |
Re: %windir% wie geht des
Schreibe einfach anstatt der Konstante eine Funktion:
Delphi-Quellcode:
Die kopierst du irgendwo ganz oben in den Quellcode (gleich nach implementation). Dann kannst du Filename immer aufrufen, als ob es eine Konstante wäre.
function filename:string;
begin result:=IncludeTrailingPathDelimiter(GetEnvironmentVariable('windir'))+'TEMP\~TEMP.MID'; end; |
Re: [Erledigt] %windir% wie geht des
Klasse Jungs, daß der Anwender sein Temp-Verzeichnis verlegt haben könnte habt ihr ja schon gemerkt, aber wenn von einem anderen Programm die Datei ~temp.mid im Temp-Verzeichnis schonmal erzeugt wurde, wird sie hoffnungslos überschrieben. Schön, wenn das dann fehlschlögt, weil besagte andere Anwendung die datei noch geöffnet hat. Für temporäre Dateien sollte man daher immer GetTempFilename() verwenden.
|
Re: [Erledigt] %windir% wie geht des
Ist natürlich ein schlagkräftiges Argument, da hab zumindest ich bei diesem Dateinamen nicht dran gedacht :oops:
Zitat:
|
Re: [Erledigt] %windir% wie geht des
Ich hab jetzt einen namen für die datei, der den namen meines programms beinhaltet.
Also wird kein anderes Programm die gleiche datei dort speichern und verwednen Also nochmals: Vielen Dank für euere Hilfe :kiss: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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