AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit Google web APIs
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Google web APIs

Ein Thema von popserias · begonnen am 31. Jan 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
popserias

Registriert seit: 31. Jan 2005
Ort: Wien
2 Beiträge
 
#1

Problem mit Google web APIs

  Alt 31. Jan 2005, 23:40
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:
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.
Beim Compilen meldet er: "Ungenügende Forward- oder External-Deklaration: 'GetGoogleSearchPort'".

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.
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Problem mit Google web APIs

  Alt 1. Feb 2005, 00:20
Da liegt der Fehler:
function GetGoogleSearchPort(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): GoogleSearchPort; Der Delphi-Compiler scheint entweder external 'xxx' oder eine lokale (d.h. in der selben Unit) Funktionn "GetGoogleSearchPort" zu erwarten.

Oder um es anders zu formulieren: Du musst dem Compiler auch sagen, wo er die Funktion GetGoogleSearchPort findet.


Gruß

Heiko
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
popserias

Registriert seit: 31. Jan 2005
Ort: Wien
2 Beiträge
 
#3

Re: Problem mit Google web APIs

  Alt 1. Feb 2005, 18:00
Delphi-Quellcode:
function GetGoogleSearchPort(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): GoogleSearchPort;
external 'GoogleSearch.pas';
habe ich versucht, geht nicht, weil's keine DLL ist.
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:
The server name or adress could not be resolved - URL:http://api.google.com/search/beta2 -
SOAPAction:urn:GoogleSearchAction.
Wenn ich diese Fehlermeldung ändern möchte, was muss ich denn umschreiben?
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] http://www.audio-recorder.org/PopsCr...etc/b-tags.jpg
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz