Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Probleme mit Checklistbox und Indexof bzw Indexofname

  Alt 4. Jan 2010, 18:46
Schau dir mal die Variablen a und b an.
Delphi-Quellcode:
a := copy(newlist[i],0,pos(':', newlist[i])-1);
b := copy(newlist[i],pos(':', newlist[i])+2,length(newlist[i])-pos(':', newlist[i])-2);
Dieser Code ist zu kompliziert und könnte auch Fehler enthalten.
Die Lösung ist eine eigene Funktion, um den Eintrag in zwei Teile zu zerlegen:
Delphi-Quellcode:
procedure SplitEintrag(const eintrag:string; var a,b:string);
begin
  // bitte selbst lösen
end;
Dadurch wird der Sourcecode deutlich vereinfacht.
Delphi-Quellcode:
procedure TForm1.ExecuteAddons(aktuell: string);
var newlist: TStringlist;
      i,o,u: integer;
        a,b: string;
begin
  newlist := TStringlist.Create;
  newlist.LoadFromFile(aktuell+'AddOns.txt');
  for i := 0 to newlist.count-1 do
  begin
    SplitEintrag(newlist[i], a, b);
    o := Checklistbox1.Items.IndexOf(a); // hier Breakpoint setzen
    if (o>=0) and (pos('enabled',b) >=0) then Checklistbox1.Checked[o]; // neue Version
  end;
  newlist.Free; // hat gefehlt
end;
Wenn du an der markierten Zeile einen Breakpoint setzt, dann kann du den Inhalt der Variablen
a und b überprüfen. (einfach Mauszeiger drüber halten)

=> Probleme in kleinere Teile zerlegen - das ist der Schlüssel zum Erfolg beim Programmieren
fork me on Github
  Mit Zitat antworten Zitat