1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OleCtrls, ActiveX, SHDocVw_EWB, EwbCore, EmbeddedWB, ClipBrd, StdCtrls;
type
THTMLForm = class(TForm)
Memo: TMemo;
EmbeddedWB1: TEmbeddedWB;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
function GetStrFromClipbrd: string;
procedure ConvertCSV;
procedure ExtractPhoneBook;
procedure LoadHtml(URL: string);
end;
var
HTMLForm: THTMLForm;
SL: TStringList;
const
URLSite = 'MonSite.php';
implementation
{$R *.DFM}
procedure THTMLForm.LoadHtml(URL: string);
begin
EmbeddedWB1.Navigate(URL);
end;
function THTMLForm.GetStrFromClipbrd: string;
begin
if Clipboard.HasFormat(CF_TEXT) then
Result := Clipboard.AsText
else
begin
ShowMessage('pas de texte dans le presse papier !');
Result := '';
end;
end;
procedure THTMLForm.Button2Click(Sender: TObject);
var
vInput, vOutput: OleVariant;
str: string;
Cpt: TPoint;
i: integer;
begin
Cpt := Point(EmbeddedWB1.Width div 2 - 20, EmbeddedWB1.Height div 2 20);
Cpt := EmbeddedWB1.ClientToScreen(Cpt);
SetCursorPos(Cpt.X, Cpt.Y); {position curseur}
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); {clic On}
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); {clic Off}
Application.ProcessMessages; {nécessaire pour propager la sélection}
EmbeddedWB1.ExecWB(OLECMDID_SELECTALL, 0, vInput, vOutput); {copier coller}
EmbeddedWB1.ExecWB(OLECMDID_COPY, 0, vInput, vOutput);
Memo.Lines.Text := GetStrFromClipbrd; {stockage dans Memo}
for i := 0 to Memo.Lines.Count - 1 do {conversion en CSV}
begin
Str := Memo.Lines.Strings[i];
str := StringReplace(str, ' ', ';', [rfReplaceAll]);
Memo.Lines.Strings[i] := Str;
end;
Memo.Lines.SaveToFile('Annuaire.csv'); {sauvegarde pour tester le fichier}
// ConvertCSV; {traitement futur pour extraire les données}
end;
procedure THTMLForm.FormShow(Sender: TObject);
begin
// pas de possibilité d'enchaîner les opérations..
end;
procedure THTMLForm.FormCreate(Sender: TObject);
begin
LoadHtml(URLSite);
end;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end. |
Partager