Autor Beitrag
nabbl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 51

Win XP Home
Delphi 7 PE
BeitragVerfasst: Do 28.05.09 08:09 
Moijn. Ich habe folgendes Problem:
Wenn ich die unten angegebene Funktion aufrufe, wird immer die Zeile eingefügt. Auch wenn die Zeile bereits in der Stringlist StdFuncs vorhanden ist. Die If-Abfrage funktioniert soweit.
KnownCommands ist eine Listbox.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Button1Click(Sender: TObject);
var i, j :integer;
  line: String;
begin
 // Alle Tabs durchgehen
 for i:=0 to TabControl.PageCount-1 do begin
   // SourceCode ist ein Memo
   for j:=0 to (TabControl.Pages[i].Controls[0as TFrame).SourceCode.Lines.Count-1 do begin
     line := Trim((TabControl.Pages[i].Controls[0as TFrame).SourceCode.Lines.Strings[j]);
     if ( ((Copy(line, 09) = 'procedure'OR (Copy(line, 08) = 'function')) AND (Copy(line,Length(line),Length(line)) = ';') ) then
       if (StdFuncs.IndexOf(line) <> -1then begin
         StdFuncs.Add(line);
       end;
   end;
 end;
KnownCommands.Items.Assign(StdFuncs);
end;


Ich hoffe, ihr versteht, was das Problem ist. Bin nicht sonderlich gut in Problembeschreibung ^^

Gruß
Nabbl

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Boar bin ich blind ^^. Fehler behoben.

Es muss if (StdFuncs.IndexOf(line) = -1then begin heißen...


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Do 28.05.2009 um 08:52