In den Home-Ordner speichern

In den Home-Ordner speichern

Beitragvon Mathias » 11. Mär 2020, 16:49 In den Home-Ordner speichern

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
Mathias
 
Beiträge: 4488
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 11. Mär 2020, 17:03 Re: In den Home-Ordner speichern

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.
theo
 
Beiträge: 8255
Registriert: 11. Sep 2006, 18:01

Beitragvon Mathias » 11. Mär 2020, 17:15 Re: In den Home-Ordner speichern

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
Mathias
 
Beiträge: 4488
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Ich934 » 12. Mär 2020, 09:25 Re: In den Home-Ordner speichern

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
Ich934
Lazarusforum e. V.
 
Beiträge: 64
Registriert: 5. Mai 2019, 15:52
Wohnort: Bayreuth
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4) | 
CPU-Target: x86_64, i386
Nach oben

• Themenende •

Zurück zu Linux



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried