Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeilen in Memo abarbeiten (https://www.delphipraxis.net/101387-zeilen-memo-abarbeiten.html)

XXcD 12. Okt 2007 09:51


Zeilen in Memo abarbeiten
 
Moin moin,
ich bin jetzt schon lange am Suchen und hab nichts gefunden.
Ich möchte in einer For Schleife ein Memo Zeile für Zeile abarbeiten.
Wie kann ich das machen dass z.b. bei Showmessage. Erst Zeile 1 ausgeben und dann 2,3,4...

Van HelF 12. Okt 2007 09:52

Re: Zeilen in Memo abarbeiten
 
Delphi-Quellcode:
for i:=0 to memo1.lines.count-1 do
  Showmessage(memo1.lines.strings[i]);

XXcD 12. Okt 2007 09:53

Re: Zeilen in Memo abarbeiten
 
aso , ja danke dann muss ich mir das mal merken :-D

XXcD 12. Okt 2007 10:03

Re: Zeilen in Memo abarbeiten
 
Kann man auch irgendwie direkt in dem Memo die Zeichen pro Zeile beschränken?? Ich kann bei google irgendwie nichts finden.

quendolineDD 12. Okt 2007 10:10

Re: Zeilen in Memo abarbeiten
 
Ich glaub maximale Länge einer Zeile betrug die Länge eines Strings = 255(256) Zeichen.
Mit MaxLength kannst du die maximale Zeichenlänge des im Memo befindlichen Textes einstellen.

Van HelF 12. Okt 2007 10:13

Re: Zeilen in Memo abarbeiten
 
Nicht direkt, du kannst aber per length die länge der zeile z.b. im onChange event auslesen und weitere eingaben blockieren.

quendolineDD 12. Okt 2007 10:21

Re: Zeilen in Memo abarbeiten
 
Delphi-Quellcode:
procedure TForm1.Memo1Change(Sender: TObject);
const laenge = 10;
begin
if (Sender is TMemo) then
    if length(Memo1.Lines[0]) >= laenge then
        Memo1.Lines[0]:= Memo1.Lines[0] + #13#10
end;
Ich frag mich halt eben nur, wie man auf die aktuelle Zeile, in der geschrieben wird, kommt ...

XXcD 12. Okt 2007 10:33

Re: Zeilen in Memo abarbeiten
 
Ja das Problem habe ich im moment auch. Ich habe if länge größer als 69 dann #13#10. Aber dann ist ja klar der machte nach der erste zeile nen Zeilenumsprung. Aber dann auch direkt nach jeder eingabe.

Matze 12. Okt 2007 10:40

Re: Zeilen in Memo abarbeiten
 
Hallo,

das könnt ihr beispielsweise so lösen:

Delphi-Quellcode:
procedure TForm1.Memo1Change(Sender: TObject);
begin
  with Memo1 do
  begin
    if Length(Lines[CaretPos.Y]) >= 69 then
      Lines[CaretPos.Y] := Lines[CaretPos.Y] + #13#10;
  end;
end;
Memo.CaretPos.Y bzw. Memo.CaretPos.X beinhaltet die aktuelle Zeile/Spalte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 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