AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Cover von Amazon?

Ein Thema von mlspider · begonnen am 22. Sep 2009 · letzter Beitrag vom 4. Dez 2010
Antwort Antwort
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#1

Re: Cover von Amazon?

  Alt 23. Sep 2009, 20:05
Teil 2

Nun kommt der Delphi-Teil

Oberfläche:

Wir benötigen 3 Edit-Kompos, 1 Indy-HTTP-Client, 4 Labels, 1 Memo, 1 Button, 1 Image-Kompo und ein TWebBrowser.

Schiebt euch die Kompos nach belieben zusammen, da die meisten Kompos, bis auf Image1, Edit1, Button1, TWebBrowser nicht sichtbar sind. (Eigenschaften - Visible)

Setzt nun die Eigenschaft Width von TWebBrowser auf 0. Damit ist dieser auch nicht mehr zur Laufzeit zu sehen.

Der Quelltext:

Delphi-Quellcode:
unit CoverUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP, ExtCtrls, DynamicSkinForm,
  SkinCtrls;

type
  TCover = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    WebBrowser1: TWebBrowser;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    Edit3: TEdit;
    Image1: TImage;
    Label3: TLabel;
    Label4: TLabel;
    spDynamicSkinForm1: TspDynamicSkinForm;
    spSkinPanel1: TspSkinPanel;
    procedure Button1Click(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
    FTime: Longword;
    FBytes: Longword;
  public
    { Public-Deklarationen }
  end;

var
  Cover: TCover;

implementation

{$R *.dfm}

//Werte an die PHP übergeben
//Hier werden alle benötigten Infos an unser Script Get-Methodenmäßig übergeben
procedure TCover.Button1Click(Sender: TObject);
var rubrik, seite, schluesselwort, check: String;
begin
 rubrik:='Music';
 seite:='1';
 schluesselwort:=Edit1.Text;
 check:='nennen wir diesen jetzt mal "sehr einfallsreich';
 WebBrowser1.Navigate('http://euer Server.de/Dateiname des Scripts.php?rubrik1='+rubrik+'&seite1='+seite+'&schluesselwort1='+schluesselwort+'&check1='+check);
end;

//Unser Script gibt nun die korrekte URL zum gesuchten Begriff aus
// Diese URL (vielmehr datei downloaden wir jetzt
//Danach parsen wir die Datei in das Memo1 und löschen diese wieder von unserer Festplatte
//Aus Memo1 wird nun das gewünschte Bild(URL) gefiltert und an Edit3 aufbereitet übergeben.
//Jetzt wird Die Datei runtergeladen und in Image1 angezeigt
procedure TCover.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var DownloadStream: TFilestream;
    Liste: TStrings;
    myString : String;
    ipString : String;
    i : Integer;
begin
 Label1.Caption:=ExtractFilePath(ParamStr(0))+
    'Conf\data\temp.html';
 Label4.Caption:=ExtractFilePath(ParamStr(0))+
    'Conf\data\temp.jpg';
 Edit2.Text:=WebBrowser1.LocationURL;
 Label2.Caption:=Edit2.Text;
 DownloadStream := TFileStream.Create(Label1.Caption,fmCreate);
  try
    IDHTTP1.Get(Label2.Caption, downloadstream);
  finally
    DownloadStream.Free;
  Liste := TStringlist.Create;
  Liste.LoadFromFile(Label1.Caption);
  Memo1.Lines.AddStrings(Liste);
  Liste.Free;
  myString := Memo1.Text;
  i := Pos ('ecx',mystring);
  Delete (myString,1,i);
  i := Pos ('"',mystring);
  ipString := Copy(myString,1,i-1);
  Edit3.Text := 'http://e'+ipString;
  Memo1.Clear;
  DeleteFile(Label1.Caption);
  DownloadStream := TFileStream.Create(Label4.Caption,fmCreate);
  IDHTTP1.Get(Edit3.Text, downloadstream);
  DownloadStream.Free;
  Image1.Picture.LoadFromFile(Label4.Caption);
  end;
end;

end.
Das wars. Ich wünsche nun viel Spass beim nachbauen. Sollte es Schwierigkeiten, Verbesserungsvorschläge und/oder Kritik geben, einfach posten. Auch ich bin nicht perfekt!!!

Auch Erfolgsergebnisse könnt ihr mir posten. Eine PN tuts auch.

lg, Mario

PS: An Euch Moderatoren: Wenn ihr der Meinung seit, dass dies ein Eintrag in der Code-Libary wert ist, dann nichts wie rein damit. Das wäre denn mein erstes Example.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 Uhr.
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