Ce ptit code extrait les liens d'une source d'une page
Il faut:
une boite de Texte(Edit1)
Un bouton (Button1)
Une liste(ListBox1)
Edit1 contien le chemin du fichier
Source / Exemple :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function Mid(Source: string; Start: integer; Length: integer): string;
function InStr(Start: integer; Source: string; SourceToFind: string): integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//renvoi un parti d'une chaine
function TForm1.Mid(Source: string; Start: integer; Length: integer): string;
begin
Result := copy(Source,Start,Length);
end;
//renvoi la position d'une chaine dans une autre
function TForm1.InStr(Start: integer; Source: string; SourceToFind: string): integer;
begin
Result := pos(SourceToFind,copy(Source,Start,Length(Source) - (Start - 1)));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Fichier:TextFile;
LaPage,TmpS:string;
Posi:integer;
begin
AssignFile(Fichier,Edit1.Text); //Ouverture du fichier
ReSet(Fichier);
While not EOF(Fichier) do begin
ReadLn(Fichier,TmpS);
LaPage := LaPage + TmpS;
end;
Posi:=1;
while Posi<Length(LaPage) do begin //Jusqu'a la fin du fichier
if LowerCase(Mid(LaPage,Posi,4)) = 'href' then begin //si trouve href
TmpS := Mid(LaPage,Posi+6,InStr(Posi+6,LaPage,'>')-2); //récupère le lien qui suit
ListBox1.Items.Add(TmpS); //Ajoute a une listeBox
Posi := Posi + length(TmpS); //décale posi de ce k'il a ajouté
end;
Posi := Posi+1 //ajoute 1 a posi
end;
end;
end.
Conclusion :
sinon voir zip
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.