[Delphi6] Google search API en results

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik probeer even een simpele voorbeeld applicatie te maken die met de Google search API werkt. De WSDL importeren gaat perfect, ook een search doen werkt goed (alleen is heeft searchTime float een . ipv een , zoals ingesteld in mijn Windows).

Maar ik kan de results array niet goed uitlezen, ik krijg steeds maar 1 array, terwijl er meer moet zijn toch?
code:
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
procedure TMainForm.ButtonSearchClick(Sender: TObject);
var
  SearchPort: GoogleSearchPort;
  x: Integer;
begin
  Application.UpdateFormatSettings := False;
  DecimalSeparator := '.';
  try
    SearchPort := GetGoogleSearchPort(True, '');
    with SearchPort.doGoogleSearch(EditKey.Text,
      EditQuery.Text, 1, UpDown1.Position, CheckFilter.Checked, '',
      CheckSafe.Checked , '', 'ISO-8859-1', 'ISO-8859-1') do begin

    MemoResult.Lines.Append('Search query: ' + searchQuery);
    MemoResult.Lines.Append('searchTime: ' + FloatToStr(RoundTo(searchTime, -6)));
    MemoResult.Lines.Append('searchTips: ' + searchTips);
    MemoResult.Lines.Append('searchComments: ' + searchComments);
    MemoResult.Lines.Append('estimatedTotalResultsCount: ' + IntToStr(estimatedTotalResultsCount));
    MemoResult.Lines.Append('----------------');

    for x := 0 to SizeOf(resultElements) do begin
      MemoResult.Lines.Append(resultElements[x].title);
    end;

    end;
  except
    on E: Exception do MemoResult.Lines.Append('Exception: ' + E.Message);
  end;
end;

Die code geeft mij dit resultaat:
code:
1
2
3
4
5
6
7
8
Search query: Tweakers
searchTime: 0.148617
searchTips: 
searchComments: 
estimatedTotalResultsCount: 134000
----------------
<b>Tweakers</b> Australia - Technology News, Reviews and Analysis
Exception: Invalid pointer operation

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • tomato
  • Registratie: November 1999
  • Niet online
code:
1
2
doGoogleSearch(
   EditKey.Text, EditQuery.Text, 1, UpDown1.Position,

Je weet wat het tweede en derde argument inhouden? Wat is de waarde van UpDown1.Position?

Verder wel leuk speelgoed he? :9

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Hehe, mijn fout, ik dacht dat die op 10 stond idd, maar staat op 1. :) Foutje. :)

Dat die for lus met z'n SizeOf ook verder gaat zal ook wel mijn fout zijn. :)

Edit: en idd, Length is natuurlijk de oplossing, dom. |:(

"The shell stopped unexpectedly and Explorer.exe was restarted."