Delphi-PRAXiS

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 14: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 14: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 14: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 15: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 15: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 15: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 15: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 15:52

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

Cr3at0r 8. Mai 2007 16: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 16:23

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

Cr3at0r 8. Mai 2007 16:32

Re: Readln will irgendwie nicht
 
Zitat:

Zitat von QuickAndDirty
Vielleicht ist ein realitätsnahes Beispiel für die noch zu schwer?

Keine Ahnung, ich weiß nur das unser Lehrer nur das weiß, was er mit uns machen muss, denn auch spezielle Fragen kann er keine Antwort geben, sowas wie "Wie kann ich Formatierungen mit speichern?"...Kann man nix machen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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 by Thomas Breitkreuz