Einzelnen Beitrag anzeigen

tetra1337

Registriert seit: 18. Dez 2006
8 Beiträge
 
#1

Problem mit meinen Notizzettel prog.

  Alt 27. Mai 2007, 20:14
Hallo Leute,

Ich habe ein Notizzettel programm geschrieben mit dem man Notizen erstellen/editieren und löschen kann.

Nur beim löschen happert es :S ich habe die fenster in einen Array gespeichert und parallel die caption in einer liste gespeichert. Wenn ich jetzt eins lösche klicke ich das dementsprechende item in der liste an und es wird dann in der liste gelöscht und im array sollte es gelöscht werden.

Nur habe ich da irgendwie ein problem bekomme immer eine listbound(irgendeinezahl) error und readaddress fehler :S

Vielleicht weiss ja jemand von euch bescheid :S

Code auszug vom erstellbutton...
Code:
procedure TForm1.btnnewClick(Sender: TObject);
begin
if (notizname.text = '') then                                  //wenn notizname leer ist dann
    begin
      notizname.Color := clmaroon;                             // notizname rot faerben
    end
  else                                                         // wenn nicht dann...
    begin
      notizliste.Items.Add(notizname.text);                    // item in notizliste mit notiznamen wert hinzufügen
      notiz[winanr] := tform2.create(form1);                   // notizarray ein tform2 element hinzufügen
      notiz[winanr].Width := notizw.Value;                     // notizelement breite zuweisen
      notiz[winanr].Height := notizh.Value;                    // notizelement hoehe zuweisen
      notiz[winanr].Caption := notizname.text;                 // notizelement caption zuweisen
      notiz[winanr].Show();                                    // notizelement anzeigen
      winanr := winanr + 1;                                    // zaehler um ein erhoehen
    end;
end;
Code auszug vom löschbutton...
Code:
procedure TForm1.Button3Click(Sender: TObject);
var i : integer;                                               // i als zahl definieren
begin
for i := 0 to notizliste.Items.Count -1 do                     // for-schleife von 0 bis notizliste itemanzahl
  begin
    if notizliste.Selected[i] then                             // wenn notizliste item ausgewaehlt ist dann...
      begin
        if notizliste.items.strings[i] = notiz[i].caption then // ... fragen ob inhalt des notizlisten items mit caption des notizfesnters übereinstimmen
          begin
            notiz[i].destroy();                                // dann löschen
            winanr := winanr - 1;
            notizliste.DeleteSelected();                       // ausgewaehltes notizlistenitem löschen
          end;
      end;
    end;
end;
  Mit Zitat antworten Zitat