![]() |
savetofile in bestimmtest Verzeichnis / Ordner erstellen
Hi ihr!
Ich hab ein Problem mit dem Projekt an dem ich gerade arbeite. Ich muss über savetofile('dateiname.txt') relativ viele Dateien speichern und wollte dazu der besseren ORdnung halber mehrere Ordner verwenden. Die Dateien bestehen vor dem ersten speichern nicht. Danach werden sie immer ersetzt durch die neue Datei. Wie sag ich in Delphi korrekt, dass er am Ort \Programmverzeichnis\Unterordner1 speichert, bzw. aus selbigem läd mit loadfromfile? Außerdem, gibt es eine Möglichkeit, selbige Ordner zur Laufzeit zu erstellen? :gruebel: Sorry, is glaub das falsche Forum, aber ich bin neu hier, hab mich grad vertan sorry!!! mfg Kiaro |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Willkommen in der DP :-D
Wenn ich dich richtig verstehe suchst du einen ersatz für
Delphi-Quellcode:
?
extractFilePath(PAramStr(0));
IMO sollte es so gehen:
Delphi-Quellcode:
PS: wenn das eine Delphi8 frage ist, dann ist dies das richtige forum...ansonsten eher nicht :wink:
savetofile(Application.ApplicationPath+'ordner\dateiname.txt')
|
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Ja, ich such im Prinzip ne andere Möglichekit als extractfilepath... MIr ist icht so ganz klar, wie ich extractfilepath richtig verwende...
|
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Um den Ordner zu erstellen, kannst du so vorgehen:
Delphi-Quellcode:
If not DirectoryExists(Application.ApplicationPath + 'Unterordner1') then
Mkdir(Application.ApplicationPath + 'Unterordner1'); savetofile(Application.ApplicationPath + 'Unterordner1' + '\' + 'dateiname.txt') |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Vielen Dank erst mal!
Aber kann es sein, dass es das application.filepath in Delphi 6 noch nicht gibt? Er motzt bei mir rum, dass er das nicht kennt... (Wie gesagt, war eben dummerweise falsches Forum) mfg Kiaro |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Hi Kiaro,
hab leider die passenden Quelltext gerade nicht bei mir, aber wenn mich nicht alles täuscht, dann war das nur Application.Path :gruebel: . Kann dir aber, solltest du bis dahin noch keine Antworten auf deine Fragen gefunden haben, am Abend einige deiner Fragen beantworten(inkl. Sourcebeispiele). Zitat:
LS |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Sorry, habs einfach von oben übernommen, kannst natürlich auch mit
Delphi-Quellcode:
arbeiten, mein D6 kennt auch weder Application.ApplicationPath noch Application.Path (evtl. erst ab D7?).
If not DirectoryExists(extractFilePath(PAramStr(0)) + 'Unterordner1') then
Mkdir(extractFilePath(PAramStr(0)) + 'Unterordner1'); savetofile(extractFilePath(PAramStr(0)) + 'Unterordner1' + '\' + 'dateiname.txt') |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Hallo zusammen,
Delphi-Quellcode:
liefert dir Pfad + Dateinamen + Erweiterung der Exedatei. Also müsstest du auch hier mit ExtractFilePath arbeiten.
Application.Exename
MfG, Sebastian |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Was hat denn das paramstring bei dem extractfilepath zu bedeuten?
Irgendwie bin ja kein ganz blutiger Anfänger mehr, aber da steig ich noch nicht so ganz durch... |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
So...ich hab die Sourcen doch gefunden :-D
und so funkts:
Code:
Ist jetzt sicher nicht die einfachste Methode dies zu tun, aber es funzt :-D
// Erstellen des Ordners/Unterordners:
var DirPfad, SavePfad: String; Config_Pfad: TFileName; //den Config_Pfad bekomm ich hier über einen Savedialog in einer anderen Procedure. DirPfad := ExtractFilePath(Config_Pfad); mkDir(DirPfad + '\Ordner'); SavePfad := DirPfad + '\Ordner'; // Speichern des Files: SaveToFile(SavePfad + '\File.txt'); LG LS PS: Hoffentlich hab ich jetzt alle richtig abgetippt :mrgreen: |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Ganz einfach: Auch Paramstr(0) gibt dir den kompletten Pfad deiner Anwendung (Exe-Datei) zurück.
Paramstr ist eine Funktion, die dir die eventuell vorhandenen Parameter erwidert. Rufst du dein Programm z.B. unter Ausführen mit
Code:
auf, dann liefert dir Paramstr(1) '/blah', Paramstr(2) '/blub' als string zurück. Der "nullte Parameter" ist immer der Pfad der Exedatei.
C:\DeineExeDatei.exe /blah /blub
Gruß, Sebastian |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Delphi .NET" nach "Sonstige Fragen zu Delphi" verschoben.
Stimmt, falsches Forum ;-) |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Danke! Hat mir schonmal das gebracht, was ich brauch.
Eine Frage noch, kann ich eine Textdatei erstellen, ohne was reinspeichern zu müssen? Ich erstelle sie gerade immer folgendermaßen: tmpstr:=TStringlist.create; tmpstr.add(''); tmpstr.savetofile('Dateiname'); dann ist aber schon ne leere Zeile drin (logisch eigentlich) es wär aber besser ohne... Ach ja, bevor ich deswegen jetzt noch einen neuen Thread aufmache, für ein on key press Ereignis einer Editkomponente, was muss ich schreiben, dass beim Druck der Enter oder Eingabe Taste eine bestimmte Prozedur aufgerufen wird? mfg Kiaro |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Sorry, aber jetzt bin ich überfragt :duck:
LG LS |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Naja, ich wart mal noch, ob einer mir noch was sagen kann, sonst muss ich mir mal wieder nen Umweg überlegen. Ich will nicht wissen, wieviele Zeilen von meinem Sourcecode Umwege um Probleme, für die ich keine direkte Lösung hatte, sind :mrgreen: :mrgreen: :mrgreen:
mfg Kiaro |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Delphi-Quellcode:
Versuchs mal so....
function TForm1.CreateFile(Filename : string) : Boolean;
var dat : TFileStream; begin result := false; if NOT ( FileExists(Filename) ) then begin dat := TFileStream.Create(Filename,fmCreate); Freeandnil(dat); result := true; end; end; |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Hi,
dann lass doch einfach das Add(''); weg, bei deiner Stringlist. Und zum OnKeyPress: if (Key=#13) then DiesUndDas; |
Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
Vielen Dank! Das bringts!
@ Benedikt: Ich weiß ja dass ich hin und wieder aufm Schlauch steh... aber da sollte man selber drauf kommen *blödbin* :wall: P.S.: euer Forum is echt cool, vor allem die schnellen Antworten, bin echt überrascht :thuimb: mfg Kiaro |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 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-2025 by Thomas Breitkreuz