2016-05-08 4 views
-2

ich versucht habe zu verwenden ...Wie kann ich auf Aktienkurse in meinem Delphi XE7-Code zugreifen?

var thepath: PWideChar; 
thepath := 'http://www.google.com/finance?tab=we'; 
ShellExecute(Self.Handle, 'Open', 'chrome', thepath, '', sw_MINIMIZE); 

und ich möchte mit Antworten (csv-Form) in einer Excel-Tabelle landen.

Ich möchte die Ergebnisse direkt in mein Delphi-Programm (als Zeichenfolgen, vielleicht) für die Verarbeitung und Anzeige bringen.

+0

Wahrscheinlich möchten Sie einen REST API –

+0

Was hast du probiert? –

Antwort

1

Verwenden Sie eine REST-API.

Der Codeteil könnte nicht einfacher sein:

http://docwiki.embarcadero.com/RADStudio/Berlin/en/Tutorial:_Using_the_REST_Client_Library_to_Access_REST-based_Web_Services

die Anweisungen in der Anleitung folgen.
Ich könnte alles hier kopieren, aber es ist ein bisschen viel.

Einmal bekam man, dass die Arbeit die folgenden Änderungen für Aktien machen: (siehe: http://www.example-code.com/DelphiDll/rest_simple.asp)

BaseURL: dev.markitondemand.com/MODApis/Api/v2/Quote Ändern der Parameter auf:

parameter.name:= 'symbol' 
parameter.value:= 'AAPL' //Apple whatever ticker you feel like. 

Ich bin nicht sicher, ob diese besondere Die Site kann json-Daten zurückgeben, aber ich weiß, dass sie xml im folgenden Format erstellt:

<?xml version="1.0" encoding="utf-8" ?> 
<StockQuote> 
    <Status>SUCCESS</Status> 
    <Name>Apple Inc</Name> 
    <Symbol>AAPL</Symbol> 
    <LastPrice>94.91</LastPrice> 
    <Change>-2.91</Change> 
    <ChangePercent>-2.9748517686</ChangePercent> 
    <Timestamp>Thu Apr 28 15:17:03 UTC-04:00 2016</Timestamp> 
    <MSDate>42488.6368402778</MSDate> 
    <MarketCap>526236372530</MarketCap> 
    <Volume>4965478</Volume> 
    <ChangeYTD>105.26</ChangeYTD> 
    <ChangePercentYTD>-9.8327949838</ChangePercentYTD> 
    <High>97.88</High> 
    <Low>94.88</Low> 
    <Open>97.61</Open> 
</StockQuote> 
+0

Wenn Sie die REST-Komponenten von Embarcadero nicht verwenden möchten (oder können), können Sie eine beliebige HTTP-Client-Komponente/Bibliothek verwenden, z. B. von Indy, ICS, Synapse, WinInet/WinHTTP, libcurl usw. –

+0

habe ich nicht Zugriff auf die REST-Komponenten, da ich nur die "Starter" -Version von XE7 habe. Ich habe versucht, die Indy-Komponenten darin zu verwenden, habe aber zu diesem Zweck noch nicht die richtige gefunden. –