![]() |
Problem mit Textausgabe -> TMemo
Hi! Ich habe ein - sicherlich ganz einfach zu lösendes- Problem...
Hier ist ein Ausschnitt aus einem Code:
Delphi-Quellcode:
Der Code liest -Zeile für Zeile- aus textinput ein, bearbeitet ihn mit "Bearbeitung" und gibt ihn in textoutput aus, textinput und textoutput sind TMemos. "Showmessage..." ist nur zum testen!
begin
Textoutput.Clear; b:=0; a:=length(textinput.Lines[0]); if a>0 then begin repeat begin s1:= Textinput.lines[b]; s2:= Bearbeitung(s1); Textoutput.Lines[b]:= s2; b:=b+1; a:= length(textinput.Lines[b]); showmessage(s1+' '+s2); end; until a=0; end else showmessage('Bitte Text eingeben!'); end; DAS PROBLEM: Die erste Zeile läuft einwandfrei durch, die Zweite aber nur bis "s2:= Bearbeitung...", also s2 wird noch richtig bestimmt, aber eigentlich sollte s2 dann ja in der 2. Zeile ausgegeben werden, aber das wird es leider nicht :? Weiss jemand woran das liegt?? P.S.: Bin eher Einsteiger, also wundert euch nicht über solche Fragen :mrgreen: |
Re: Problem mit Textausgabe -> TMemo
Du leerst Textoutput und greifst dann auf Zeile b zu? :shock:
Delphi-Quellcode:
Und was machst du mit der Länge der ersten Zeile?
Textoutput.Lines[b]
Delphi-Quellcode:
Vielleicht einmal folgendes:
a:=length(textinput.Lines[0]);
Die Anzahl der Zeilen bekommst du mit Textinput.Lines.Count, den kompletten Inhalt mit allen Zeilen bekommst du mit Textinput.Text. Auf die Zeile b greifst du mit Textinput.Lines[b] zu. |
Re: Problem mit Textausgabe -> TMemo
Zudem könnte man die Zeile ja mit Memo.Lines.Append() ans Memo anfügen.
|
Re: Problem mit Textausgabe -> TMemo
Zitat:
Delphi-Quellcode:
Habe ich benutzt, um zu kontrollieren, ob überhaupt etwas ins Memo eingetragen ist, ansonsten kommt die Messagebox...
a:=length(textinput.Lines[0]);
Zitat:
Zitat:
Vielen Dank euch beiden! |
Re: Problem mit Textausgabe -> TMemo
Zitat:
Schau dir doch einfach einmal an welche Möglichkeiten es gibt, in der Hilfe und bei der Syntaxergänzung. Also wenn du den Punkt nach Textinput.Lines schreibst z.B., dann bietet Delphi dir ja an welche Möglichkeiten es gibt. Und viele (wie Add z.B.) sagen ja schon vom Namen her was sie machen. ;-) |
Re: Problem mit Textausgabe -> TMemo
Hallo,
das ganze sollte dann ungefähr so aus sehen...
Delphi-Quellcode:
[EDIT] Hab gerade kein Delphi zur Hand, du musst allerdings, den unteren Teil nochmal überprüfen.
begin
Textoutput.Clear; b := 0; a :=Textinput.Lines.Count; if a > 0 then begin while a > b then begin s1:= Textinput.lines[b]; s2:= Bearbeitung(s1); Textoutput.Lines.Add := s2; b:=b+1; end; end else showmessage('Bitte Text eingeben!'); end; Gruß Jens |
Re: Problem mit Textausgabe -> TMemo
Oder so, es sei denn es soll eine while-Schleife sein:
Delphi-Quellcode:
Textoutput.Text := '';
for i := 0 to Textinput.Lines.Count - 1 do Textoutput.Lines.Add(Bearbeitung(Textinput.Lines[i])); |
Re: Problem mit Textausgabe -> TMemo
Zitat:
Gruß Jens |
Re: Problem mit Textausgabe -> TMemo
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 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