Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Text zerlegen (https://www.delphipraxis.net/33162-text-zerlegen.html)

icke 2. Nov 2004 13:57


Text zerlegen
 
Hallo

Ich schreib grad folgendes Delphi Programm (Delphi 3):

Delphi-Quellcode:
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.
Das ausschmücken mach ich später noch

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:

Dax 2. Nov 2004 13:58

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)

glkgereon 2. Nov 2004 14:00

Re: Text zerlegen
 
das würd ich so machen:

Delphi-Quellcode:
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
können noch fehler drinsein, aber sollte vom prinzip her klappen...

icke 2. Nov 2004 14:06

Re: Text zerlegen
 
sorry, ich check das ganze noch nicht so...

kannst du mir bitte den genauen Quelltext geben?

glkgereon 2. Nov 2004 14:20

Re: Text zerlegen
 
also, nochma besser kommentiert und übersichtlicher

Delphi-Quellcode:
for i:=1 to length(Memo.Lines.Text) div 510 do
  begin
da du in jede memo 510 zeichen haben willst, ermittel ich, wie viele memos ich brauch und durchlaufe so oft

Delphi-Quellcode:
TMemo(findcomponent('Memo'+inttostr(i)))
ermittelt die memo mit dem namen "Memo"+ die laufende nummer i
also die memo wo jetzt reingeschrieben werden soll

Delphi-Quellcode:
copy(Memo.Lines.Text,0,510);
kopiert die ersten 510 zeichen aus der ausgangsmemo

Delphi-Quellcode:
TMemo(findcomponent('Memo'+inttostr(i))).Lines.Text:=copy(Memo.Lines.Text,0,510);
das kopiert also die ersten 510 zeichen der ausgangsmemo in die memo mit der laufenden nummer i

Delphi-Quellcode:
delete(memo1.Lines.Text,0,510);
end;
hier lösche ich den bereits kopierten text (510 zeichen) aus der ausgangsmemo
ende der schleife

Delphi-Quellcode:
TMemo(findcomponent('Memo'+inttostr(i+1))).Lines.Text:=Memo.Lines.Text;
Memo.Clear;
nun wird der komplette rest (also rest -> zeichenanzahl mod 510) in die nächte memo kopiert
danach wird als letztes die ausgangsmemo geleert

(der code ist leicht anders als der vorige, da mir da tippfehler unterlaufen sind :wink: )

pjuk 2. Nov 2004 14:25

Re: Text zerlegen
 
hi,

für was braucht man so nen programm?!

würd mich mal intressieren ^^

icke 2. Nov 2004 14:29

Re: Text zerlegen
 
also, ich habs mal versuch...

bei der Zeile mit dem Copy gibt er folgenden Fehler aus:
Operator oder Semikolon fehlt

icke 2. Nov 2004 14:31

Re: Text zerlegen
 
@pjuk

Für Hardware, die nur soviel aufnehmen kann ;-)

pjuk 2. Nov 2004 14:32

Re: Text zerlegen
 
scheint primitiv zu sein xD.
dacht gleich an sms aufgrund der anzahl von zeichen... deswegen hab ich gefragt :)

Nicodius 2. Nov 2004 14:35

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 22:48 Uhr.
Seite 1 von 3  1 23      

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