1: 2: 3: 4: 5: 6: 7: 8:
| unit Unit2; interface uses Classes, UrlMon, SysUtils; type TCharPos = record Line : Integer; Char : Integer; end; TInteressensbekundungsgenerator = class private const TempFileName = 'c:\temp\temp.txt'; procedure DownloadFile; procedure BuildOutput(AStrings : TStrings); function DownloadUrl : String; function VollGeheimeVerschluesselung(AStr: String): String; public procedure CreateInteresse (AStrings : TStrings); end;implementation procedure TInteressensbekundungsgenerator.BuildOutput(AStrings : TStrings);var Line : String; tsFile : TStringList; i : Integer; const Positionen : Array[1..30] of TCharPos = ((Line: 5; Char: 113), (Line: 5; Char: 111),(Line: 5; Char: 115), (Line: 5; Char: 37),(Line: 5; Char: 39), (Line: 5; Char: 111),(Line: 5; Char: 55), (Line: 5; Char: 40),(Line: 5; Char: 112),(Line: 5; Char: 115), (Line: 7; Char: 13), (Line: 5; Char: 44),(Line: 5; Char: 65), (Line: 5; Char: 47), (Line: 5; Char: 115),(Line: 5; Char: 40), (Line: 5; Char: 111), (Line: 5; Char: 63), (Line: 5; Char: 113), (Line: 5; Char: 40),(Line: 5; Char: 791),(Line: 5; Char: 65), (Line: 5; Char: 55),(Line: 5; Char: 115), (Line: 5; Char: 37),(Line: 5; Char: 115), (Line: 5; Char: 43),(Line: 5; Char: 43), (Line: 5; Char: 115),(Line: 5; Char: 178));begin tsFile := TStringList.Create; try tsFile.LoadFromFile(TempFileName); Line := ''; for I := low(Positionen) to High(Positionen) do Line := Line + tsFile.Strings[Positionen[i].Line][Positionen[i].Char]; AStrings.Add(Line); finally tsFile.Free; end; end;procedure TInteressensbekundungsgenerator.CreateInteresse(AStrings: TStrings); begin DownloadFile; BuildOutput(AStrings); end;procedure TInteressensbekundungsgenerator.DownloadFile;var ret : Integer;begin ret := URLDownloadToFile(nil, PWideChar(DownloadUrl), TempFileName, 0, nil); if ret <> S_OK then raise Exception.Create('Download failed!'); if not FileExists(TempFileName) then raise Exception.Create('Download failed!');end;function TInteressensbekundungsgenerator.DownloadUrl: String;begin result := VollGeheimeVerschluesselung('uggc://yberzvcfhz.arg');end;function TInteressensbekundungsgenerator.VollGeheimeVerschluesselung(AStr: String): String;var i: integer; c: char;begin for i := 1 to Length(AStr) do begin c := AStr[i]; if (((c >= 'A') AND (c <= 'M')) OR ((c >= 'a') AND (c <= 'm'))) then c := chr(ord(c) + 13) else if (((c >= 'N') AND (c <= 'Z')) OR ((c >= 'n') AND (c <= 'z')) ) then c := chr(ord(c) - 13); Result := Result + c; end;end;end. |