Autor Beitrag
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Do 10.11.05 10:12 
Hallo Leute !
Ist es irgenwie möglich eine Temporäre Datei zu erstellen.
Beispielsweise Ich erstelle eine Stringlist und möchte sie
als Temporäre Datei im html - Format im Browser anzeigen.
Es wäre ja kein Problem die Datei zu erzeugen, dann müsste Ich sie aber irgendwo speichern und weil Ich Sie nachher nicht mehr brauch auch wieder löschen.
Hat da wer eine Idee ?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 10.11.05 10:20 
Moin!

Du stellst ja spannende Fragen, und dann beantwortest du sie auch gleich noch selber... :wink:

Machs doch genau so, wie du gesagt hast, Datei anlegen, benutzen, löschen. Einzige Erweiterung: lies den aktuellen Temp-Pfad aus dem Environment, fertig.

cu
Narses
Blackheart666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Do 10.11.05 10:35 
Das war ja meine eigentliche Frage, war vieleicht ein bischen blöd formuliert.
Ich meinte wie kann ich die Datei einfach erzeugen und ohne groß Pfad angaben zu machen.
Also Stringlist=Stringlist.html nur im Arbeitsspeicher und einfach wieder freigeben wenn Ich sie nicht mehr brauch.
(Temp-Pfad aus dem Environment - Das mal auf Deutsch wenns geht) danke.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 10.11.05 11:00 
Siehe OVFSShellUtils.pas, dort gibt's ne Funktion TempDir, die genau das ermittelt ... Ansonsten kann man per WinAPI auch "temporäre Dateien" direkt erzeugen lassen. Glaub einmal mit CreateFile unter angabe des Temporary-Attributs, und das andere mal gab's dafür ne direkte Funktion (deren Name mir auf die Schnelle grad entfallen ist).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 10.11.05 11:19 
Das Temp-Verzeichnis erhält man mit der Funktion Suche im MSDN GETTEMPPATH. Ich denke mit hier im Forum solltest du wohl ein paar Beispiele erhalten. -> Suche in: Delphi-Forum GETTEMPDIR.

Lg Martin

_________________
Ein Nutzer der Ecke ;-)
Blackheart666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Do 10.11.05 14:10 
Erst mal Danke für die Antworten hatt Mir schon weitergeholfen.
Ansich ist es ja nicht das Problem die Datei zu erstellen und wieder zu löschen, hab Ich ja zur Zeit auch getan aber wenn es einfacher geht - warum nicht.
Hier im Forum gibts nicht viel dazu aber über google hab Ich diese Function gefunden, werds mal ausprobieren.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
function GetTempFile: String;
var Path:array[0..Max_Path] of char; 
 s: array[0..Max_Path] of char; 
 i: integer;
begin 
 i:=GetTempPath(Max_Path,Path); 
 i:=GetTempFileName(Path, '~tm'0, s);  
Result:=s;
end;


Das war auch nichts, das ist dann doch glaube Ich wesentlich komplizierter als meine alte Methode was solls.
Danke.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 10.11.05 15:39 
user profile iconBlackheart666 hat folgendes geschrieben:
Hier im Forum gibts nicht viel dazu aber über google hab Ich diese Function gefunden, werds mal ausprobieren.

Dann kannst du wohl nicht richtig suchen. :?

Der von mir oben gepostete Suchlink führt dich unter anderem zu diesem Topic. Und dort wird unter anderem diese Funktion gepostet:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
function GetTempDir: string;
begin
  SetLength(Result,MAX_PATH + 1);
  SetLength(Result,GetTempPath(length(Result),@Result[1]));
end;

Das ist doch genau das was du suchst, oder?

Lg Martin

_________________
Ein Nutzer der Ecke ;-)
Blackheart666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Do 10.11.05 16:01 
Danke Martin1966 genau das wars was Ich gebraucht habe, ich hab schon unter den Links von Dir geschaut aber manchmal sieht man den Wald vor lauter Bäumen nicht.
vielen dank Problem gelöst.

Kleiner Nachtrag...

Kleine Zusatzfrage wollt nicht extra ein Neues Thema draus machen weils ja eigentlich dazu gehört, das Problem ist ansich gelöst aber nun wollte Ich die Stringlist wieder freigeben, und dann kommt ein Laufzeitfehler könnte es damit zusammenhängen das die Liste eben Temporär ist und dadurch nicht freigegeben werden braucht.