![]() |
Problem mit Google web APIs
Hiho Board!
Die Suche habe ich verwendet. Ich habe wohl Threads zur google-suche gefunden, aber keinen, der mein Problem behandelte. Ich hab mir die Google Web APIs gezogen, einen LicenseKey erworben und folgende Unit dazu geschrieben (mit dem einen oder anderen Blick auf ein Tutorial ;) ):
Delphi-Quellcode:
Beim Compilen meldet er: "Ungenügende Forward- oder External-Deklaration: 'GetGoogleSearchPort'".
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, SoapHTTPClient, GoogleSearch; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Memo1: TMemo; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; function GetGoogleSearchPort(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): GoogleSearchPort; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var gsp: GoogleSearchPort; result: GoogleSearchResult; i: integer; rea: ResultElementArray; begin gsp:=GetGoogleSearchPort(True, '', nil); result:=gsp.doGoogleSearch('MeinLicenseKey', Edit1.Text, 0, 10, true, 'countryDE', false, 'lang_de', 'UTF-8', 'UTF-8'); if Assigned(result) then begin Label1.Caption:='Insgesamt '+IntToStr(result.estimatedTotalResultsCount)+' Ergebnisse, die ersten 10 werden angezeigt'; Memo1.Clear; rea:=result.resultElements; for i:=0 to high(rea) do begin Memo1.Lines.Add(rea[i].Title); Memo1.Lines.Add(rea[i].Summary); Memo1.Lines.Add(rea[i].URL); Memo1.Lines.Add(' '); end; result.Free; end; end; end. Die Unit GoogleSearch entstammt dem WSDL-Import, an der habe ich nichts verändert. SoapHTTPClient hab ich bei den uses wegen der Verwendung von THTTPRIO deklariert. Vielleicht ist da ja schon irgendwo der Wurm drin, ich blick jedenfalls nicht so wirklich durch und imo bin ich jetzt auch echt schon lang genug daran gesessen. In diesem Sinne hoffe ich, dass mir jemand helfen kann, vielen Dank schonmal, popserias. |
Re: Problem mit Google web APIs
Da liegt der Fehler:
Delphi-Quellcode:
Der Delphi-Compiler scheint entweder external 'xxx' oder eine lokale (d.h. in der selben Unit) Funktionn "GetGoogleSearchPort" zu erwarten.
function GetGoogleSearchPort(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): GoogleSearchPort;
Oder um es anders zu formulieren: Du musst dem Compiler auch sagen, wo er die Funktion GetGoogleSearchPort findet. Gruß Heiko |
Re: Problem mit Google web APIs
Delphi-Quellcode:
habe ich versucht, geht nicht, weil's keine DLL ist.
function GetGoogleSearchPort(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): GoogleSearchPort;
external 'GoogleSearch.pas'; Oder habe ich das falsch eingebunden? Füge ich allerdings die function aus GoogleSearch.pas in den implementation-Teil meiner Unit ein, klappt alles tadellos! Vielen Dank! Zwei neue Fragen hätte ich allerdings noch: 1) Sollte das Programm nicht zu google connecte können, kommt folgende Fehlermeldung: Zitat:
Die unit "SoapHTTPClient"? 2) In den Suchergebnissen im Memo-Feld wird der Suchbegriff im 'rea[i].Title' und in der 'rea[i].Summary' (falls vorhanden) immer mit einem ...-Tag versehen. Gibt es eine einfache Möglichkeit diesen Tag so interpretieren zu lassen, dass er Wörter innerhalb dieses Tags fett schreibt? Oder, dass er diese Tags weglässt? Um sich das besser vorstellen zu können habe ich für alle Fälle ein Bild [1] hochgeladen. [1] ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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