Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Readln will irgendwie nicht (https://www.delphipraxis.net/91670-readln-will-irgendwie-nicht.html)

Cr3at0r 8. Mai 2007 13:53


Readln will irgendwie nicht
 
Hi,

ich find den Fehler irgendwie nicht, kann sich ma einer von euch den folgenden Code anschauen?

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var F:TextFile;
begin
  If OpenDialog1.Execute Then
    Begin
    AssignFile(F,OpenDialog1.Filename);
    Reset(F);
    Readln(F,Memo1.Text);
    CloseFile(F);
  end;

end;
Vielen Dank im Voraus ;)

hoika 8. Mai 2007 13:56

Re: Readln will irgendwie nicht
 
Hallo,

ReadLn liest nur ein Zeile.
Du muesstest das per while und memo.lines.add machen.

Einfacher ist aber Memo.LoadFromFile.


Heiko

divBy0 8. Mai 2007 13:57

Re: Readln will irgendwie nicht
 
Was willst du denn machen?

Aus der Datei lesen und ins Memo schreiben?

Das müsste so gehn:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  F:TextFile;
  tmp : String;
begin
  If OpenDialog1.Execute Then
    Begin
    AssignFile(F,OpenDialog1.Filename);
    Reset(F);
    Readln(F,tmp);
    CloseFile(F);
    Memo1.Lines.Add(tmp);
  end;

end;
Hoika war schneller...

Cr3at0r 8. Mai 2007 14:05

Re: Readln will irgendwie nicht
 
Danke für die schnellen Antworten.
Habe die Lösung von divBy0 gewählt, weil wir das auch so in der Schule machen müssen. ;)

Habe gerade bemerkt, das wenn ich das Memo speichere, dass er nur die erste Zeile speichert aber wie erweitere ich das denn beim WriteLn?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var F:Textfile;
begin
  If SaveDialog1.Execute Then
    Begin
    AssignFile(F,SaveDialog1.FileName);
    Rewrite(F);
    Writeln(F,Memo1.Text);
    CloseFile(F);
    end;
end;
So sieht er bisher aus. ;)

hoika 8. Mai 2007 14:30

Re: Readln will irgendwie nicht
 
Hallo,

selber coden macht schlau .. ;)
Writelen schreibt auch nur eine Zeile.
Gehe per Schleife über memo.lines und trage jede
einzelne Zeile per WriteLn ein.


Heiko

stifflersmom 8. Mai 2007 14:35

Re: Readln will irgendwie nicht
 
In Deinem Fall also

Delphi-Quellcode:
For I:=0 to Memo1.Lines.Count -1 do
 Writeln(F,Memo1.Lines[i]);
Moin

inherited 8. Mai 2007 14:47

Re: Readln will irgendwie nicht
 
Welcher Lehrer verlangt so einen Mist? :wall:
Mag er es, ecuh zu Quälen, oder warum lässt er euch nicht einfach TMemo.SaveToFile und TMemo.LoadFromFile benutzen?

divBy0 8. Mai 2007 14:52

Re: Readln will irgendwie nicht
 
Ihr kennt doch Lehrer, oder? Warum einfach, wenn's auch umständlich geht?!?! :gruebel:

Cr3at0r 8. Mai 2007 15:05

Re: Readln will irgendwie nicht
 
Joa stimmt, war nicht die feine Art von mir. ;)

Nachtrag:

Zitat:

Zitat von divBy0
Ihr kennt doch Lehrer, oder? Warum einfach, wenn's auch umständlich geht?!?! :gruebel:

Jo, das stammt wohl daher,dass er nur das kann was wir auch machen und es über SaveToFile und LoadFromFile geht weiß ich auch aber er will ja das andere hören. :(
Mit dem Memo haben wir das nie gemacht, sondern eher mit einer Listbox. ;)

QuickAndDirty 8. Mai 2007 15:23

Re: Readln will irgendwie nicht
 
Vielleicht ist ein realitätsnahes Beispiel für die noch zu schwer?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 Uhr.
Seite 1 von 2  1 2      

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