Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler in einer while Schleife (https://www.delphipraxis.net/91264-fehler-einer-while-schleife.html)

raiguen 4. Mai 2007 11:13

Re: Fehler in einer while Schleife
 
Zitat:

Zitat von moperswings
Hallo,
ich möchte eine *.html-Datei nach Bildern durchsuchen und die gefundenen Bilder ...

:gruebel: WAS genau möchtest du 'extrahieren'?
a) den kompletten ImageTag
b) den Bildnamen einscjliesslich VerzeichnisPfad
c) den Bildnamen ohne VerzeichnisPfad

zu a)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ts: TStrings;
    i: integer;
    StartTag, EndTag, Pos2: Integer;
    s: String;
begin
  ts := TStringList.Create;
  ts.LoadFromFile('d:\image14\daten.html');
 
  //-- nur zur Kontrolle
  MEMO1.Lines.Assign(ts);

  for i := 0 to ts.Count -1 do begin
    StartTag := Pos('<img src="', ts[i]);
    if StartTag > 0 then begin
      //--zwischenspeichern
      s := Copy(ts[i], StartTag, Length(ts[i])-StartTag);
      //--EndtagZeichen > ermitteln
      EndTag := Pos('>',s);
      ListBox1.Items.Add(Copy(s, 1, EndTag));
    end;
  end;
  ts.Free;
end;
zu b)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ts: TStrings;
    i: integer;
    StartTag, EndTag, Pos2: Integer;
    s: String;
begin
  ts := TStringList.Create;
  ts.LoadFromFile('d:\image14\daten.html');

  for i := 0 to ts.Count -1 do begin
    StartTag := Pos('<img src="', ts[i]);
    if StartTag > 0 then begin
      s := Copy(ts[i], StartTag+10, Length(ts[i])-StartTag);
      //--abschliessendes " ermitteln
      EndTag := Pos('"',s);
      ListBox1.Items.Add(Copy(s,1, EndTag-1));
    end;
  end;

  ts.Free;
end;
zu c)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ts: TStrings;
    i: integer;
    StartTag, EndTag, Pos2: Integer;
    s: String;
begin
  ts := TStringList.Create;
  ts.LoadFromFile('d:\image14\daten.html');

  for i := 0 to ts.Count -1 do begin
    StartTag := Pos('<img src="', ts[i]);
    if StartTag > 0 then begin
      s := Copy(ts[i], StartTag+10, Length(ts[i])-StartTag);
      //--abschliessendes " ermitteln
      EndTag := Pos('"',s);

      //--ab gefundender Position rückwärts suchen nach /
      //--um Bildname zu extrahieren
      Pos2 := EndTag;

      repeat
        Dec(Pos2)
      until (s[Pos2]='/') or (Pos2=0);
      ListBox1.Items.Add(Copy(s,Pos2+1, EndTag - (Pos2+1)));
    end;
  end;
 
  ts.Free;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz