Einzelnen Beitrag anzeigen

Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#1

Der Index war außerhalb des Arraybereichs

  Alt 10. Mai 2009, 17:57
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;
  Mit Zitat antworten Zitat