colorbox oder RGB Farbe benutzen[nicht gelöst]

Für Fragen von Einsteigern und Programmieranfängern...
MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von MAC »

tja Bauer , zu schade, das du die antwort auf die frage zum Rectangle bereits mitzitiert hast :mrgreen:
Zeichnet ein weißes Viereck von 0,0, bis zur Breite und Höhe.
Also löscht es das gemalte Bild.

Bild Speichern ?

schau dir mal Image1.Picture.SavetoString('C:\Beispiel.bmp') an, bzw LoadfromFile wobei das laden schwiriger wird, weil du ja dann das bild einscannen willst und die checkboxen so aktivieren willst das sie zum bild passen, also andersrum, aber ich erwähns einfach mal, laden brauch man bestimmt immer mal, genauso geht das übrigens auch mit memos : memo1.lines.savetoString


zu der TChecklistbox. Dann hast du eben keine 220 boxen schlön verteilt, bei dir solls aber so schön aussehen, also würd ich das dann nicht benutzen.


Meine Version :

Code: Alles auswählen

for i := 0 to 220 do
  begin
  VObject := Page1.ControlByName('CheckBox'+inttostr(i)); // jetzt , wird geprüft ob überhaupt was gefunden wurde
 
  if VObject = nil then continue;
  if not(VObject is TCheckbox) then continue;
  TCheckbox(VObject).checked := false;
  end;
1. Ich hab das Page1 korrigiert und continue anstatt break und exit verwended.
Macht nichts anderes als die andere Version auch. Nur...
die speichert die Checkbox, oder genauer ein Pointer( so ne art Wegweiser,Zeiger) in VObject.
Dann prüft sie ob VObject = nil ist. Wenn das so währe gab es keine Checkbox1, Checkbox2, Checkbox3
Dann prüft sie ob das ding was die gefunden hat, wirklich eine Checkbox ist. Die Funktion hat ja nach etwas mit dem Namen Checkbox1 in Page1 gesucht. Natürlich könnte das auch nen Sofa oder nen Farari :| sein, das einfach nur Checkbox heißt. Wenn es also nicht von der Klasse TCheckbox ist, weg damit.
Und am Ende nimt es an das VObject ist eine Checkbox , kann es ja auch weil ich vorher geprüft habe ob es eine ist, sonnst könnte es nen bööösen fehler geben :)
und setzt den wert checled auf False.

Ach ja folgende 3 Befehle sind ziemlich wichtig:
1. exit: beendet die Funktion , procedure, methode , wo du dich gerade drinn befindest...
2. break: beendet die Schleife, wo du dich gerade drinn befindest.
3.continue: Beendet einen Durchgang der Schleife
for i := 0 to 3 do
begin
if i = 2 then continue;
irgendwas
end;
dann wird nei i = 2 das irgendwas nicht ausgeführt...

Ich glaub ich sollte man anfangen nen Buch zu schreiben...

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Bauer321 »

MAC hat geschrieben:tja Bauer , zu schade, das du die antwort auf die frage zum Rectangle bereits mitzitiert hast :mrgreen:
Zeichnet ein weißes Viereck von 0,0, bis zur Breite und Höhe.
Also löscht es das gemalte Bild.
das geht ja leider nicht. beim ersten mal macht er das beim zweiten mal macht der den bereich zwar weiß, aber wnen ich das TPicture vergrößert habe wird der vergrößerte bereich nicht "erkannt".

MAC hat geschrieben:zu der TChecklistbox. Dann hast du eben keine 220 boxen schlön verteilt, bei dir solls aber so schön aussehen, also würd ich das dann nicht benutzen.


Meine Version :

Code: Alles auswählen

for i := 0 to 220 do
  begin
  VObject := Page1.ControlByName('CheckBox'+inttostr(i)); // jetzt , wird geprüft ob überhaupt was gefunden wurde
 
  if VObject = nil then continue;
  if not(VObject is TCheckbox) then continue;
  TCheckbox(VObject).checked := false;
  end;
1. Ich hab das Page1 korrigiert und continue anstatt break und exit verwended.
Macht nichts anderes als die andere Version auch. Nur...
die speichert die Checkbox, oder genauer ein Pointer( so ne art Wegweiser,Zeiger) in VObject.
Dann prüft sie ob VObject = nil ist. Wenn das so währe gab es keine Checkbox1, Checkbox2, Checkbox3
Dann prüft sie ob das ding was die gefunden hat, wirklich eine Checkbox ist. Die Funktion hat ja nach etwas mit dem Namen Checkbox1 in Page1 gesucht. Natürlich könnte das auch nen Sofa oder nen Farari :| sein, das einfach nur Checkbox heißt. Wenn es also nicht von der Klasse TCheckbox ist, weg damit.
Und am Ende nimt es an das VObject ist eine Checkbox , kann es ja auch weil ich vorher geprüft habe ob es eine ist, sonnst könnte es nen bööösen fehler geben :)
und setzt den wert checled auf False.
werd ich bei gelegenheit ma ausprobieren.

MAC hat geschrieben:Ach ja folgende 3 Befehle sind ziemlich wichtig:
1. exit: beendet die Funktion , procedure, methode , wo du dich gerade drinn befindest...
2. break: beendet die Schleife, wo du dich gerade drinn befindest.
3.continue: Beendet einen Durchgang der Schleife
for i := 0 to 3 do
begin
if i = 2 then continue;
irgendwas
end;
dann wird nei i = 2 das irgendwas nicht ausgeführt...
gut werd ich mir ma merken.

vielen dank ;) (ob ich jetzt alles weiß was ich hier gefragt habe überprüf ich gleich nochmal^^)

edit:
MAC hat geschrieben:Bild Speichern ?

schau dir mal Image1.Picture.SavetoString('C:\Beispiel.bmp') an, bzw LoadfromFile wobei das laden schwiriger wird, weil du ja dann das bild einscannen willst und die checkboxen so aktivieren willst das sie zum bild passen, also andersrum, aber ich erwähns einfach mal, laden brauch man bestimmt immer mal, genauso geht das übrigens auch mit memos : memo1.lines.savetoString
guck ich mir gleich ma an

kannst du mir bitte noch ein wenig mehr informationen geben ich bekomm da einfach nur nen fehler
Bild
www.mcpatcher.net | www.hoeper.me

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Euklid »

Bauer321 hat geschrieben:
MAC hat geschrieben:schau dir mal Image1.Picture.SavetoString('C:\Beispiel.bmp') an, bzw LoadfromFile wobei das laden schwiriger wird, weil du ja dann das bild einscannen willst und die checkboxen so aktivieren willst das sie zum bild passen, also andersrum, aber ich erwähns einfach mal, laden brauch man bestimmt immer mal, genauso geht das übrigens auch mit memos : memo1.lines.savetoString
kannst du mir bitte noch ein wenig mehr informationen geben ich bekomm da einfach nur nen fehler
Bild
MAC meinte sicherlich Image1.Picture.SaveToFile('C:\Beispiel.bmp'), vgl.: http://www.lazarusforum.de/portal.php?c ... ry=Picture" onclick="window.open(this.href);return false;

Tipp: Nach dem "." hinter Picture eine Weile warten, und es kommen Vorschläge über die möglichen Funktionen/Prozeduren.

Gruß, Euklid

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von MAC »

Sry, savetostring ist ne procedure die ich in meinen aktuellen projekt verwende :mrgreen:
Natürlich meinte ich savetoFile.

Wie Euklit schon gesagt hat, nach den punkt warten hilf ziemlich viel, bzw:
Unter EInstellungen >> EInstellungen >> Automatische Funktionen
Die Verzögerung auf 0 stellen und die Checkboxen 2,3,4 makieren.
Dann kommt diese HilfeBox, wenn du Form1 schreibst und dann ein . dahinter machst, sofort.

Ach ja , zu den Imagevergrößern, soweit ich weis muss man da auch ne zweite heigh und width mitverändern, probier mal Image1.Picture.Heigh ...
Ich weis, irgendwo im internet stand mal was darüber, einfach mal googlen "Lazarus Image Größe ändern" oder "Delphi Image Größe ändern" oder sowas...

€dit:

Code: Alles auswählen

for i := 0 to 220 do
  begin
  VObject := Page1.ControlByName('CheckBox'+inttostr(i));
 
  if VObject = nil then continue;
  if not(VObject is TCheckbox) then continue;
  (VObject as TCheckbox).checked := false; // Geändert, so sollte es eher klammen, VObject wird als TCheckbox behandelt, weil das Object auch eine ist ;)
  end;

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Bauer321 »

Euklid hat geschrieben:
Bauer321 hat geschrieben:
MAC hat geschrieben:schau dir mal Image1.Picture.SavetoString('C:\Beispiel.bmp') an, bzw LoadfromFile wobei das laden schwiriger wird, weil du ja dann das bild einscannen willst und die checkboxen so aktivieren willst das sie zum bild passen, also andersrum, aber ich erwähns einfach mal, laden brauch man bestimmt immer mal, genauso geht das übrigens auch mit memos : memo1.lines.savetoString
kannst du mir bitte noch ein wenig mehr informationen geben ich bekomm da einfach nur nen fehler
Bild
MAC meinte sicherlich Image1.Picture.SaveToFile('C:\Beispiel.bmp'), vgl.: http://www.lazarusforum.de/portal.php?c ... ry=Picture" onclick="window.open(this.href);return false;

Tipp: Nach dem "." hinter Picture eine Weile warten, und es kommen Vorschläge über die möglichen Funktionen/Prozeduren.

Gruß, Euklid
danke. es geht^^ nen check ob die datei und so existiert habe ich vorerst noch nicht aber das ist auch eher unwichtig...
joa der tipp ist auch ganz gut den werd ich mir ma merken.
www.mcpatcher.net | www.hoeper.me

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Bauer321 »

MAC hat geschrieben:Sry, savetostring ist ne procedure die ich in meinen aktuellen projekt verwende :mrgreen:
Natürlich meinte ich savetoFile.
np
MAC hat geschrieben:Ach ja , zu den Imagevergrößern, soweit ich weis muss man da auch ne zweite heigh und width mitverändern, probier mal Image1.Picture.Heigh ...
Ich weis, irgendwo im internet stand mal was darüber, einfach mal googlen "Lazarus Image Größe ändern" oder "Delphi Image Größe ändern" oder sowas...
gut. habs probiert, das ist soweit zulässig nur bekomm ich nen fehler ab := ....
Bild
www.mcpatcher.net | www.hoeper.me

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von MAC »

der Fehler heißt die property ( sowas wie ne Variable ) kann man zwar lesen , aber nicht schreiben.
verschuch mal Image1.Picture.Bitmap.Heigh zu ändern,
Image1.ClientHeight

oder eben alles was irgenwie was mit der größe zu tun hat. kannst ja nichts falsch machen :mrgreen:

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Bauer321 »

dank dir ;)

Image1.Picture.Bitmap.Heigh geht ;)

und

Code: Alles auswählen

for i := 0 to 220 do
      begin
      VObject := Page1.ControlByName('CheckBox'+inttostr(i));
 
      if VObject = nil then continue;
      if not(VObject is TCheckbox) then continue;
      (VObject as TCheckbox).checked := false; // Geändert, so sollte es eher klammen, VObject wird als TCheckbox behandelt, weil das Object auch eine ist ;)
      end;
geht auch :D

ich link das programm nochmal eben und dann lad ich s mal hoch ;) zwar nix besonderes aber was solls^^

hier eben nen link: http://ds.redio.de/lazarus/CanvasCodeMaker.rar ich weiß die icons könnte man noch ändenr aba gerade keine lust und der wuellcode der erstellt wird ist auch keineswegs optimal :(^^

edit und dann habe ich da noch nen kleines problem mit 'hotkeys' und zwar macht man das ja mit case key of ... end; und ich bekomm das aber nicht so hin das die immer erkannt werden. im moment nutze ich das event Form.Key.Down und meine farge ist was ich ändern muss damit der die auch erkennt wenn ich z.B. gerde den curser in ner memo Box habe oder aus welchem anderen grund das nicht geht.
diese hotkeys sind die der version die ich hochgeladen habe allerdings gehen sie nicht alle richtig.

Code: Alles auswählen

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 Case Key of
      vk_F10 : close;
      vk_escape : page1.show;
      vk_F9 : Button2.Click;
      vk_delete : Button4.Click;
      vk_f5 : Button3.Click;
 end;
end;
www.mcpatcher.net | www.hoeper.me

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Euklid »

Das mit den Hotkeys ist sicherlich eine systemspezifische Sache. Hast Du mal gegoogled?

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Teekeks »

Bei der Form KeyPreview auf true setzen.

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von MAC »

Cool.

Du benutzt ja moveto und dann lineto.
Übersichtlicher ist vielleicht: line(x1,y1,x2,y2);
ist eben das moveto und lineto in einer funktion

moveto(150,200);
lineto(175,200);
--> line(150,200,175,200)

Wie wärs mit ner möglichkeit den Namen des Images anzugeben , also das nicht immer Form2.Image1 sonder das was in dem Edit steht genommen wird...
Was bestimmt auch cool wäre:
pen.sytle := psdot;
für gepunktete linien, bzw strg+klick drauf, da gibst noch mehr möglichkeiten.

Oder das man alle in einer Reihe makieren kann...

Jede menge Ideen :mrgreen:

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Bauer321 »

Teekeks hat geschrieben:Bei der Form KeyPreview auf true setzen.
danke geht super ;)
hab das eben als version 1.1 hochgeladen also mit de nfunktionieren hotkeys: http://ds.redio.de/lazarus/CanvasCodeMaker%201.1.rar
MAC hat geschrieben:Cool.

Du benutzt ja moveto und dann lineto.
Übersichtlicher ist vielleicht: line(x1,y1,x2,y2);
ist eben das moveto und lineto in einer funktion

moveto(150,200);
lineto(175,200);
--> line(150,200,175,200)

Wie wärs mit ner möglichkeit den Namen des Images anzugeben , also das nicht immer Form2.Image1 sonder das was in dem Edit steht genommen wird...
Was bestimmt auch cool wäre:
pen.sytle := psdot;
für gepunktete linien, bzw strg+klick drauf, da gibst noch mehr möglichkeiten.

Oder das man alle in einer Reihe makieren kann...

Jede menge Ideen :mrgreen:
evtl werde ich noch mal ein paar deiner anregungen umsetzten.
wie würdest du denn z.B. das alle in einer reihe markieren machen enifach ne checkbox daneben? und dann einmal oben kann man spalten markieren und links reihen oder was würdest du vorschlagen?
das mit pen.style weiß ich nicht... evtl wäre es da am besten dafür nen zweiten tab zu machen aber dann sind schon 440 checkboxen da und außerden hat lazarus da irgenwie nen kleinen bug augrund dessen werden alle striche dazwischen(sind labels) beim kopieren in eine andere position gebracht. was heißt das ich die dann alle neu ausrichten muss.

gibt es ne möglichgeit bei lazaruis mehrer elemente auszuwählen wie z.B. im windows explorer mit Strg + Klick?

dann wäre da noch gut zu wissen wie ich das mache das der erkennt ob ich strg + klick nehme oder nen normalen klick...(und wie man das am einfachsten in ein solches muster einbringen könnte:

Code: Alles auswählen

//reihe 1 beginn
  if checkbox1.state = cbchecked
     then with Form2.Image1.Canvas do begin
                   pen.color := farbe;
                   pen.width := groesse;
                   moveto(0,0);
                   lineto(breite,0);
                   Memo1.Lines.Add('moveto(0,0);');
                   Memo1.Lines.Add('lineto(' + inttostr(breite) + ',0);');
               end;
 
      for reihe1i:=2 to 10 do
        begin
             reihe1 := reihe1 + 1;
             if TCheckBox(Page1.ControlByName('CheckBox'+inttostr(reihe1i))).checked = true
                then with Form2.Image1.Canvas do
                     begin
                          pen.color := farbe;
                          pen.width := groesse;
                          moveto(breite*reihe1,0);
                          lineto((breite*(reihe1+1)),0);
                          Memo1.Lines.Add('moveto(' + inttostr(breite*reihe1) + ',0);');
                          Memo1.Lines.Add('lineto(' + inttostr(breite*(reihe1+1)) + ',0);');
                     end;
        end;
  //reihe 1 ende
www.mcpatcher.net | www.hoeper.me

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von MAC »

du meinst strg + klick um mehrere Checkboxen auf einmal anzuklicken?
Also man könnte es wie auf den Desktop machen, strg + ziehen.
Dann speicherst du mal x,y bei mousedown
und x,y bei mouseup
und guckst für alle checkboxen ob die checkbox.left und .top dazwichen liegen...
oder wie meinst du das ?
wie würdest du denn z.B. das alle in einer reihe markieren machen enifach ne checkbox daneben?
zum beispiel.

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von Bauer321 »

MAC hat geschrieben:du meinst strg + klick um mehrere Checkboxen auf einmal anzuklicken?
Also man könnte es wie auf den Desktop machen, strg + ziehen.
Dann speicherst du mal x,y bei mousedown
und x,y bei mouseup
und guckst für alle checkboxen ob die checkbox.left und .top dazwichen liegen...
oder wie meinst du das ?
ich dachte jetzt ob man niocht auslesen kann ob mit Strg + klick eine checkbox angewählt wird und wenn dies der fall ist wird diese linie gestrichelt.

und schonmal ne neue version in der auch die idee mit dem namen des Objekts zu ändern integriert wurde. http://ds.redio.de/lazarus/CanvasCodeMaker%201.2.rar
www.mcpatcher.net | www.hoeper.me

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: colorbox oder RGB Farbe benutzen[nicht gelöst]

Beitrag von MAC »

Gut.

Es geht übrigens:
Du makierst in Lazarus alle Checkboxen, gehst in den Objektinspektor und setzt OnMouseDown auf Checkbox1MouseDown
Wenn jetzt strg gerückt wird , wird die globale variable "istSTRG" auf True gesetzt, wenns wieder losgelassen wird auf False.


Aber achtung , wenn du im MouseDown Checkbox1.Checked := False drückst, dann passiert folgendes:

Checlbox1.Checked wird false gesetzt.
Weil du geklickt hast wird er wieder auf true gesetzt.

Also musst du , das worauf du geklickt hast auf True setzen wenns am ende Auf false sein soll :idea:
Wenn das jetzt nen bisschen kompliziert ist, schreib mal
(Sender as TCheckbox).checked := False;
in Checkbox1MouseDown und du siehst was ich meine, anstatt False ist das ding gecheckt...

Code: Alles auswählen

var
  istSTRG:boolean = False;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
procedure TForm1.CheckBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if ssCTRL in Shift then istSTRG := True
                   else istSTRG :=False;
end;

Achja, wie du gemerkt hast ist dein Programm bei select all ziemlich langsam. (zumindestens bei mir)
Das liegt daran, da dein Programm folgendes macht:

Eine Zeile Hinzufügen,
Alles Anzeigen
Eine Zeile Hinzufügen,
Alles Anzeigen
Eine Zeile Hinzufügen,
Alles Anzeigen

und das ziemlich oft, eigentlich reicht folgendes genauso:

Eine Zeile Hinzufügen,
Eine Zeile Hinzufügen,
Eine Zeile Hinzufügen,
Alles Anzeigen

Und das lässt sich ziemlich einfach, aber effizient so machen.

Nehmen wir mal an deine Memo heißt Memo1
dann sieht dein code folgendemaßen auß

Code: Alles auswählen

procedure ...
var
...
begin
Memo1.Lines.Add
Memo1.Lines.Add
...
 
end;
Wenn du den folgender maßen änderst

Code: Alles auswählen

procedure ...
var
...
VMemo:TMemo;
begin
VMemo := TMemo.Create(nil); // erstellt eine VMemo, V für Virtuell ;) heißt aber nur so, ist ne ganz normale memo...
VMemo.Lines.Add // füge die Zeichen zu Vmemo hinzu...
VMemo.Lines.Add
...
Memo1.Text := VMemo.Text; // setzt den Text von Memo1 auf VMemo.text
VMemo.Free; // lscht VMemo wieder, wichtig!...
end;
Wie du siehst, 3 Zeilen mehr Code und wenn das jetzt klappt ist das richtig schnell.
im var berecih machst du eben platzt für eine Weitere Memo.
Die wird dann erstmal erstellt.
Alle befehle beziehen sich auf diese Memo, da diese sich aber nirgens (Frage an die die das wissen, wo befindet die sich eigentlich?) befindet, wird diese auch nicht gezeichnet.
Danach wird der gesammte text auf Memo1 geschrieben, 1 mal zeichnen , und danach wird VMemo gelöscht.

€ monta, ich will ne statistik die angibt wieviele Zeichen durchschnittlich pro Beitrag geschrieben werde :mrgreen:

Code: Alles auswählen

Signatur := nil;

Antworten