AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Web API in ein Programm einbinden

Ein Thema von MSiMaxx · begonnen am 22. Okt 2017 · letzter Beitrag vom 23. Okt 2017
Antwort Antwort
MSiMaxx

Registriert seit: 22. Okt 2017
5 Beiträge
 
#1

Web API in ein Programm einbinden

  Alt 22. Okt 2017, 19:00
Delphi-Version: 5
Guten Abend,

zu allererst, Ich habe mich mit Delphi in der 9. Klasse ein wenig befasst, und nun ein paar Jahre später wieder einen kleinen Rechner auf die Beine gestellt.
Dabei handelt es sich um ein Hilfstool um für ein Computerspiel (Arma3) auszurechnen, wie viel man bei einer Farmtour an Geld bekommt.
Dabei gibt man die Größe des Autos, die Größe des Rucksackes den man bei sich trägt, das Gewicht von einer Einheit eines Rohstoffes (z.B. 1 Einheit kupfer wiegt 4 KG) und den Preis, welcher eine Einheit eines Rohstoffes gerade bringt.
-> Kofferraum 40 kg, Rucksack 20 kg, 1 Einheit 4kg ->> 60/4 - man kann 15 Einheiten mitnehmen. Der Einzelpreis pro Einheit beträgt z.B. 10 $, dann würde man auf der gesamten Route 150$ machen.
Hab das soweit schon mal in das ServerForum gepackt und bekam das Feedback, dass es doch vielleicht gehen würde wenn man die Preise in Echtzeit direkt angezeigt bekommt, man sozusagen nur noch den Rohstoff auswählen muss und das Programm gibt einen den Preis schon vor..
Der Server hat ein dynamisches Marktsystem, wodurch sich die Preise aller 10 min ändern.

Da ich ziemlich neu bin, weiß ich absolut nicht, wie ich diese API einbinden kann, damit sich das Programm selber zieht, dass 1 Einheit Kupfer um 19:00 Uhr z.B. 10$ bringt und aber 19:10 nur noch 9$.

Sorry für das lange Beispiel aber Ich hoffe dass ich nun alle Unklarheiten beseitigt habe
Wäre sehr nett wenn mir jemand das mit der API erklären würde
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.588 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Web API in ein Programm einbinden

  Alt 22. Okt 2017, 19:45
Es wäre ganz interessant wenn du schreiben würdest um welche API es sich handelt. Link zum Forum/Shop oder sonst was?
  Mit Zitat antworten Zitat
MSiMaxx

Registriert seit: 22. Okt 2017
5 Beiträge
 
#3

AW: Web API in ein Programm einbinden

  Alt 22. Okt 2017, 20:34
Das ist ja mein 2. Problem, das weiß ih nicht. Man sieht es nicht im Forum sondern im Spie (welcher über einen server läuft).. frag ich mal noch bei nem admin nach
  Mit Zitat antworten Zitat
MSiMaxx

Registriert seit: 22. Okt 2017
5 Beiträge
 
#4

AW: Web API in ein Programm einbinden

  Alt 22. Okt 2017, 21:04
Habe jetzt mal nen Admin gefragt, der hat mir die die ganzen APIs für den Server freigegeben.

https://api.realliferpg.de/

Nun hab ich eben das Problem, dass ich die

https://api.realliferpg.de/v1/market/1

in das Programm einbinden möchte, damit das Programm sich von dort die Preise für Äpfel, Kupfer, Glas etc. nimmt

Wie gesagt, ich bin ein blutiger Anfänger, also Entschuldigung schon mal wenn ich vielleicht dumme Fragen stelle
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Web API in ein Programm einbinden

  Alt 23. Okt 2017, 08:24
Google Stichwort wäre REST Client.
  Mit Zitat antworten Zitat
Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Web API in ein Programm einbinden

  Alt 23. Okt 2017, 08:32
Moin,

da musst du nicht viel einbinden, du sendest HTTP GET Anfragen an den Server und der liefert dir JSON zurück.

Hier nur mal so als Denkanstoß...(Umgebautes Bsp. von Emba)

Delphi-Quellcode:
uses
  IdHTTP, JSON;

procedure Form1.Button1Click(Sender: TObject);
var
  res: string;
  val: TJSONValue;
  HTTP: TIdHTTP;
begin
  HTTP := TIdHTTP.Create(nil);
  HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0'; // *
  res := HTTP.Get('https://api.realliferpg.de/v1/market/1');
  val := TJSONObject.ParseJSONValue(res);

  if val is TJSONObject then
  begin
    ShowMessage(val.GetValue<string>('data[0].price'));
  end;
end;
* Den Standarduseragent der in TIdHttp hinterlegt ist, hat er bei mir eben mit 403 abgelehnt (Mozilla/3.0 glaub ich und den akzeptiert der Server mit der API nicht).

Ich schätze aber mal, in deiner Delphi Version gibt´s den ganzen JSON Kram noch nicht und du müsstest wahrscheinlich mal nach Delphi JSON googlen oder du holst dir die momentan (?) kostenlose Starterversion von Embarcadero.
Thomas
  Mit Zitat antworten Zitat
MSiMaxx

Registriert seit: 22. Okt 2017
5 Beiträge
 
#7

AW: Web API in ein Programm einbinden

  Alt 23. Okt 2017, 19:10
Danke für die hilfe
Die startversion hab ich, ich konnte sie hier nur irgendwie nicht angeben
Ich versuch das ganze morgen mal umzusetzen und dann geb ich nochmal ne rückmeldung
  Mit Zitat antworten Zitat
MSiMaxx

Registriert seit: 22. Okt 2017
5 Beiträge
 
#8

AW: Web API in ein Programm einbinden

  Alt 23. Okt 2017, 19:39
Verstehe nur noch nicht so ganz, wie ich mir eine best. Variable ziehen kann, also in meinem fall den Preis.. könntest du mir da vllt wenn du zeit hättest nen kleinen code als beispiel schrieben, so dass ich den preis dann als variable habe die ich in ein edit einfügen kann?
Ich wäre dir unendlich dankbar ♥️
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.588 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Web API in ein Programm einbinden

  Alt 23. Okt 2017, 21:27
Verstehe nur noch nicht so ganz, wie ich mir eine best. Variable ziehen kann, also in meinem fall den Preis.. könntest du mir da vllt wenn du zeit hättest nen kleinen code als beispiel schrieben, so dass ich den preis dann als variable habe die ich in ein edit einfügen kann?
Ich wäre dir unendlich dankbar ♥️
Er hat doch bereits ein Beispiel gepostet.
  Mit Zitat antworten Zitat
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 +2. Es ist jetzt 14:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf