In den Home-Ordner speichern

Antworten
Mathias
Beiträge: 5084
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

In den Home-Ordner speichern

Beitrag von Mathias »

Wen ich folgende Datei speichern will, gibt es einen Laufzeitfehler. Wieso ?

Code: Alles auswählen

  Memo1.Lines.SaveToFile('~/test.txt'); 


Gebe ich aber zB. bei Lazarus bei speichern unter... '~/test.txt' ein, da wird es gefressen. Wieso ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 8465
Registriert: Mo 11. Sep 2006, 19:01

Re: In den Home-Ordner speichern

Beitrag von theo »

FPC/Lazarus ist keine Unix Shell. Mit ~ kann es nichts anfangen.
Nimm https://www.freepascal.org/docs-html/rt ... erdir.html

Bei "Speichern unter" dürfte es vom Widgetset abhängen, was damit passiert. Der Save Dialog ist ja nativ.

Mathias
Beiträge: 5084
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: In den Home-Ordner speichern

Beitrag von Mathias »

Danke

Ich habe einen kleinen Test geschrieben.

Code: Alles auswählen

var
  s: string;
begin
  if SaveDialog1.Execute then begin
    s := SaveDialog1.FileName;
    Caption := s;
    Memo1.Lines.SaveToFile(s);
  end;   

Da habe ich bei speichern "~/test.txt" eingegeben. Bei Caption erschien dann "/hone/tux/test.txt".
Somit wandelt der SaveDialog dies automatisch um.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Ich934
Lazarusforum e. V.
Beiträge: 140
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: In den Home-Ordner speichern

Beitrag von Ich934 »

Ja, weil der SaveDialog dir hier die Arbeit der Umschreibung abnimmt. Im ersten Beispiel hast du das aber nicht. Hier musst du selbst aktiv werden. Was übrigens im Zuge von Plattformunabhängigkeit nicht falsch ist die genannte Funktion zu verwenden.
Tipp für PostgreSQL: www.pg-forum.de

Antworten