Ich bin gerade dabei, ein bisschen mit ASP.NET zu programmieren und jetzt komme ich an einer Stelle nicht weiter.
Und zwar habe ich eine Funktion, die eine bestimmte Stelle in einem Quelltext auslesen kann.
Nur das funktioniert jetzt nicht so ganz, wie ich das gerne haben würde!
Wenn ich jetzt mit der Funktion FindinString einen Quelltext auslesen, kommt die meldung "Der Index war außerhalb des Arraybereichs". Habe es mal im folgenden Quelltext kommentiert.
Hoffe, jemand kann mir damit helfen!
Delphi-Quellcode:
type
TArrayofstring = array of string;
function FindInString(Text, SearchFrom, SearchTo: string; FirstOnly: Boolean; var Return: TArrayofstring): Boolean;
var
i: Cardinal;
FoundString: string;
begin
Result := False;
SetLength(Return, 0);
i := Pos(SearchFrom, Text);
while i > 0 do
begin
Result := True;
i := i + Length(SearchFrom);
FoundString := Copy(Text, i, PosEx(SearchTo,Text,i) - i);
SetLength(Return, length(Return) + 1);
Return[high(Return)] := FoundString;
Delete(Text, 1, i);
i := Pos(SearchFrom, Text);
if FirstOnly then Break;
end;
end;
procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var FileStream : TFileStream;
HTMLCode: String;
VideoID: TArrayOfString;
TWert: TArrayOfString;
VideoName: TArrayOfString;
begin
HTMLCode := TextBox1.Text;
FindInString(HTMLCode, '<title>YouTube - ', '</title>', True, VideoName);
FindInString(HTMLCode, '"t": "', '"', True, TWert);
FindInString(HTMLCode, '"video_id": "', '"', True, VideoID);
HTMLCode := 'http://youtube.com/get_video?video_id=' + VideoID[0] + '&t=' + TWert[0]; //[b]Der Index war außerhalb des Arraybereichs.[/b]
TextBox1.Text := HTMLCode;
end;