Entwickler-Ecke

Dateizugriff - Datei mit einmaligem Namen wieder aufrufen


Stread - Sa 23.07.11 21:46
Titel: Datei mit einmaligem Namen wieder aufrufen
Hi,
ich speichere ein Bild in einem Image so ab.

Delphi-Quelltext
1:
2:
3:
4:
5:
JpegBild := TJPEGImage.Create;
.
.
JpegBild.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Screen\' + GetUsername + ' '
+ FormatDateTime('dd.mm-hh.mm.ss', Now) + '.jpeg');


und wollte nun eigentlich das aktuelle Bild über FTP so uploaden

Delphi-Quelltext
1:
2:
 IdFTP1.Put(ExtractFilePath(ParamStr(0)) + '\Screen\'+...+'.jpeg',
         ExtractFileName(...+'.jpeg'));


Nur wie bekomme ich nun den genauen Dateinamen? Der enthält ja die damals aktuelle Minute und Sekunde. Aber die ist natürlich beim klick auf den FTP Button nicht mehr die gleiche.
Den Namen der Datei in eine Variable laden?


Xion - Sa 23.07.11 22:01

user profile iconStread hat folgendes geschrieben Zum zitierten Posting springen:
Nur wie bekomme ich nun den genauen Dateinamen? Der enthält ja die damals aktuelle Minute und Sekunde. Aber die ist natürlich beim klick auf den FTP Button nicht mehr die gleiche.
Den Namen der Datei in eine Variable laden?

Logisch überlegt kannst du dir entweder den Dateinamen merken, oder du musst ihn später wieder rausfinden (z.B. mit TSearchRec alle Dateien durchgucken). Aber ich denke, den Dateinamen bzw. die Uhrzeit merken wäre das einfachste. Beim Merken musst du dir halt irgendwo den Dateinamen speichern, wenn du das Programm neu startest.


Regan - Sa 23.07.11 22:13

Du musst erstmal natürlich prinzipiell den Dateinamen in eine Variable packen. Sonst kannst du ihn dir natürlich nicht mehr merken. Bei deiner Struktur bietet es sich sogar an, nur den Zeitpunkt zu speichern.
user profile iconStread hat folgendes geschrieben Zum zitierten Posting springen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
Zeipunkt: String;
{..}
JpegBild := TJPEGImage.Create;
{...}
Zeitpunkt = FormatDateTime('dd.mm-hh.mm.ss', Now);
JpegBild.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Screen\' + GetUsername + ' '
+ Zeitpunkt + '.jpeg');


und wollte nun eigentlich das aktuelle Bild über FTP so uploaden

Delphi-Quelltext
1:
2:
 IdFTP1.Put(ExtractFilePath(ParamStr(0)) + '\Screen\'+...+'.jpeg',
         ExtractFileName(Zeitpunkt+'.jpeg'));


Was du dann mit dem Zeitpunkt machst, musst du entscheiden. Wenn du die Datei sofort hochlädtst, dann brauchst du gar nichts zu ändern. Andernfalls solltest du die Zeitpunkte in eine Datei schreiben, auf die fest zugreifen kannst.