Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi savetofile in bestimmtest Verzeichnis / Ordner erstellen (https://www.delphipraxis.net/15060-savetofile-bestimmtest-verzeichnis-ordner-erstellen.html)

Kiaro 21. Jan 2004 13:17


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

maximov 21. Jan 2004 13:20

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:
savetofile(Application.ApplicationPath+'ordner\dateiname.txt')
PS: wenn das eine Delphi8 frage ist, dann ist dies das richtige forum...ansonsten eher nicht :wink:

Kiaro 21. Jan 2004 13:33

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...

scp 21. Jan 2004 13:43

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')

Kiaro 21. Jan 2004 13:46

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

Lord_Stifterl 21. Jan 2004 14:01

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:

Zitat von Kiaro
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

LG
LS

scp 21. Jan 2004 14:04

Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
 
Sorry, habs einfach von oben übernommen, kannst natürlich auch mit
Delphi-Quellcode:
If not DirectoryExists(extractFilePath(PAramStr(0)) + 'Unterordner1') then
  Mkdir(extractFilePath(PAramStr(0)) + 'Unterordner1');
savetofile(extractFilePath(PAramStr(0)) + 'Unterordner1' + '\' + 'dateiname.txt')
arbeiten, mein D6 kennt auch weder Application.ApplicationPath noch Application.Path (evtl. erst ab D7?).

Sebastian Nintemann 21. Jan 2004 14:08

Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
 
Hallo zusammen,

Delphi-Quellcode:
Application.Exename
liefert dir Pfad + Dateinamen + Erweiterung der Exedatei. Also müsstest du auch hier mit ExtractFilePath arbeiten.

MfG, Sebastian

Kiaro 21. Jan 2004 14:12

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...

Lord_Stifterl 21. Jan 2004 14:14

Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
 
So...ich hab die Sourcen doch gefunden :-D

und so funkts:


Code:
  // 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');
Ist jetzt sicher nicht die einfachste Methode dies zu tun, aber es funzt :-D


LG
LS

PS: Hoffentlich hab ich jetzt alle richtig abgetippt :mrgreen:

Sebastian Nintemann 21. Jan 2004 14:18

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:
C:\DeineExeDatei.exe /blah /blub
auf, dann liefert dir Paramstr(1) '/blah', Paramstr(2) '/blub' als string zurück. Der "nullte Parameter" ist immer der Pfad der Exedatei.

Gruß, Sebastian

DP-Maintenance 21. Jan 2004 14:47

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Delphi .NET" nach "Sonstige Fragen zu Delphi" verschoben.
Stimmt, falsches Forum ;-)

Kiaro 21. Jan 2004 15:10

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

Lord_Stifterl 21. Jan 2004 15:16

Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
 
Sorry, aber jetzt bin ich überfragt :duck:

LG
LS

Kiaro 21. Jan 2004 15:22

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

Nightshade 21. Jan 2004 15:31

Re: savetofile in bestimmtest Verzeichnis / Ordner erstell
 
Delphi-Quellcode:
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;
Versuchs mal so....

Benedikt 21. Jan 2004 15:42

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;

Kiaro 21. Jan 2004 21:33

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 05:45 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