![]() |
Text zerlegen
Hallo
Ich schreib grad folgendes Delphi Programm (Delphi 3):
Delphi-Quellcode:
Das ausschmücken mach ich später noch
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) MEMO1: TMemo; Button1: TButton; Memo2: TMemo; Memo3: TMemo; Memo4: TMemo; Memo5: TMemo; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; t1: integer ; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin T1:= strToInt(Memo1.Text); end; end. Ich habe ein großes memo. In dieses soll ein Text eingefügt werden (Strg + V) Wenn man auf den Button klickt, dann soll der Text in die andere Memos Felder zerlegt werden und zwar mit jeweils 510 Zeichen! Bitte um Hilfe :wall: |
Re: Text zerlegen
Ich schätze, t1 soll die Länge des Textes in Memo1 enthalten. Dann wäre der Code aber so:
Delphi-Quellcode:
t1 := Length(Memo1.Text)
|
Re: Text zerlegen
das würd ich so machen:
Delphi-Quellcode:
können noch fehler drinsein, aber sollte vom prinzip her klappen...
for i:=1 to length(Memo.Lines.Text) div 510 do//wieviele memos werden gebrauch?
begin TMemo(findcomponent('Memo'+inttostr(i))):=copy(Memo.Lines.Text,0,510);//text übertragen delete(memo1.Lines.Text,0,510);//text aus 1. memo löschen end; TMemo(findcomponent('Memo'+inttostr(i+1))):=Memo.Lines.Text;//rest des textes löschen |
Re: Text zerlegen
sorry, ich check das ganze noch nicht so...
kannst du mir bitte den genauen Quelltext geben? |
Re: Text zerlegen
also, nochma besser kommentiert und übersichtlicher
Delphi-Quellcode:
da du in jede memo 510 zeichen haben willst, ermittel ich, wie viele memos ich brauch und durchlaufe so oft
for i:=1 to length(Memo.Lines.Text) div 510 do
begin
Delphi-Quellcode:
ermittelt die memo mit dem namen "Memo"+ die laufende nummer i
TMemo(findcomponent('Memo'+inttostr(i)))
also die memo wo jetzt reingeschrieben werden soll
Delphi-Quellcode:
kopiert die ersten 510 zeichen aus der ausgangsmemo
copy(Memo.Lines.Text,0,510);
Delphi-Quellcode:
das kopiert also die ersten 510 zeichen der ausgangsmemo in die memo mit der laufenden nummer i
TMemo(findcomponent('Memo'+inttostr(i))).Lines.Text:=copy(Memo.Lines.Text,0,510);
Delphi-Quellcode:
hier lösche ich den bereits kopierten text (510 zeichen) aus der ausgangsmemo
delete(memo1.Lines.Text,0,510);
end; ende der schleife
Delphi-Quellcode:
nun wird der komplette rest (also rest -> zeichenanzahl mod 510) in die nächte memo kopiert
TMemo(findcomponent('Memo'+inttostr(i+1))).Lines.Text:=Memo.Lines.Text;
Memo.Clear; danach wird als letztes die ausgangsmemo geleert (der code ist leicht anders als der vorige, da mir da tippfehler unterlaufen sind :wink: ) |
Re: Text zerlegen
hi,
für was braucht man so nen programm?! würd mich mal intressieren ^^ |
Re: Text zerlegen
also, ich habs mal versuch...
bei der Zeile mit dem Copy gibt er folgenden Fehler aus: Operator oder Semikolon fehlt |
Re: Text zerlegen
@pjuk
Für Hardware, die nur soviel aufnehmen kann ;-) |
Re: Text zerlegen
scheint primitiv zu sein xD.
dacht gleich an sms aufgrund der anzahl von zeichen... deswegen hab ich gefragt :) |
Re: Text zerlegen
fürs testen vielleicht??
ich würds einfacher machen und zwar die einzelnen chars rüberkopieren
Delphi-Quellcode:
for i := 1 to 510 do
Memo2.text[i] := Memo1.text[i]; :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 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-2025 by Thomas Breitkreuz