Hallo zusammen,
ich sitze nun schon eine Ewigkeit an einem Problem. ICh habe folgenden Code:
Delphi-Quellcode:
function Extract(Text :
string; WordPos : Word):
string;
var
p : PChar;
begin
p := PChar(Text);
repeat
Dec(WordPos);
while p^ <> '
:'
do
begin
if WordPos = 0
then
Result := Result + p^;
Inc(p);
end;
if WordPos = 0
then Exit;
Inc(p);
until p^ = '
:';
end;
procedure TForm5.BitBtn1Click(Sender: TObject);
var
Datei,Ziel:PChar;
i:integer;
begin
try
if radiobutton1.Checked
then begin
Datei := pchar('
http://lyricwiki.org/api.php?func=getSong&artist='+Edit1.Text+'
&song='+edit2.Text+'
&fmt=text');
end;
if radiobutton2.Checked
then begin
Datei := pchar('
http://lyricwiki.org/api.php?func=getSong&artist='+Edit1.Text+'
&song=&fmt=text');
end;
Ziel := pchar(extractfilepath(paramstr(0))+'
List.txt');
UrlDownloadToFile(
nil, Datei, Ziel, 0,
nil);
Listbox1.Items.LoadFromFile(extractfilepath(paramstr(0))+'
List.txt');
Combobox1.clear;
for I := 0
to Listbox1.items.Count - 1
do begin
Combobox1.items.add(extract(Listbox1.Items[i],2));
// FEHLER nach einem Durchlauf
end;
except
showmessage('
Download abgebrochen');
end;
end;
Dieser Code solleigentlich nichts anderes machen, als eine Ergebnisliste im *.txt Format auswerten. Die Ergebnisse
haben immer das Format Interpret:Titel. Ich möchte jetzt nur die Titel haben und verwende deswegen die Function Extract.
Leide ist genau bei dieser Schleife immer eine Zugriffsverletzung das Ergebnis. In der Combobox steht dann nur 1 Item.
Kann mir jemand sagen was ich falsch gemacht habe?
Danke!
Delphi is ......... DELPHI!!