Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit meinen Notizzettel prog. (https://www.delphipraxis.net/92860-problem-mit-meinen-notizzettel-prog.html)

tetra1337 27. Mai 2007 19:14


Problem mit meinen Notizzettel prog.
 
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;

DeddyH 27. Mai 2007 19:19

Re: Problem mit meinen Notizzettel prog.
 
Hallo, ersetz mal beim Löschen
Delphi-Quellcode:
for i := 0 to notizliste.Items.Count -1 do
durch
Delphi-Quellcode:
for i := notizliste.Items.Count - 1 downto 0

tetra1337 27. Mai 2007 19:32

Re: Problem mit meinen Notizzettel prog.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für die schnelle antwort. Leider funktioniert das auch nicht :S

Ich habe das ganze Programm mal hochgeladen und angehang.

Erstelle mal 3 notizen und lösche das mittlere und dann versuch das 1 zu löschen dann kommt ein Fehler wenn man immer das letzte löscht dann gehts :S aber wenn man irgendeins löscht dann kommt ein Fehler den ich mir nicht erklaeren kann :S

DeddyH 27. Mai 2007 19:57

Re: Problem mit meinen Notizzettel prog.
 
Hallo, Du solltest statt des Arrays lieber eine TObjectList verwenden. Schau mal dazu in der Hilfe nach.

tetra1337 27. Mai 2007 20:11

Re: Problem mit meinen Notizzettel prog.
 
meinst die componenten liste?

Mit der habe ich das auch schon vesucht :S kommt genau der gleiche fehler habe dann componentcount[i-22] benutzt - kommt aber der gleiche fehler :S

DeddyH 27. Mai 2007 20:19

Re: Problem mit meinen Notizzettel prog.
 
Nein, ich meine eine TObjectList. Schau mal in der Hilfe nach.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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