Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#30

Re: Edit-Felder während der Laufzeit erstellen... wie?

  Alt 22. Jan 2008, 13:24
Ja. Das liegt daran, dass du bei Button2 die Liste aus dem Speicher löschst. Nutze Clear in Button2click
-Free löscht die Komplette Liste und du müsstest wieder create aufrufen, um die Liste zu erstellen
-Clear löscht nur den Inhalt der Liste und du kannst problemlos neue Elemente der Liste hinzufügen.

Das Konzept ist, dass ich/du diese Liste mit dem Formular erstelle und wenn das Formular gelöscht wird auch die Liste wieder lösche (free). Unabhängig davon kann ich aber immer den Inhalt der Liste löschen (clear) und die Liste dann wieder neu füllen. Das Clear mache ich ja auch in Button1click, falls jemand vergessen hat Button2 vorher zu drücken. Und falls die Liste schon leer war, passiert eben nix.

Noch etwas:
Delphi-Quellcode:
n:=strtoint(edit1.text);
  if (trystrtoint(edit1.Text,n))and (n>0) then
Das ist doppelt. Ich habe nur aus dem strtoint ein trystrtoint gemacht, weil dadurch kein Fehler auftritt, wenn keine Zahl im Edit steht. Denn dann liefert trystrtoint false zurück und die IF-Bedingung ist nicht erfüllt. Schau dir mal die Hilfe dazu an.

Noch ein weiteres:
Delphi-Quellcode:
with Edit do
begin
  Parent:=self;
  Left:=16+(j-1)*64;
  Top:=72+(i-1)*24;
  width:=57;
  Name:='e'+inttostr(j)+inttostr(i);
  //text:='';
end;

//geht auch so:
Edit.Parent:=self;
Edit.Left:=16+(j-1)*64;
Edit.Top:=72+(i-1)*24;
Edit.width:=57;
Edit.Name:='e'+inttostr(j)+inttostr(i);
//Edit.text:='';
Es gibt Programmierer (ich auch) die mögen das with nicht, da besonders, wenn es länger wird eine gewisse Unübersichtlichkeit entstehen kann. Deswegen hatte ich die Variable Edit eingeführt, aber es nicht konsequent durchgezogen (Copy&Paste ging schneller). Ich wollte es nur noch einmal erwähnen
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat