AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke PayPal SOAP Konto Bewegungen abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

PayPal SOAP Konto Bewegungen abfragen

Ein Thema von franktron · begonnen am 4. Jun 2015 · letzter Beitrag vom 5. Jun 2015
Antwort Antwort
Seite 2 von 2     12   
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#11

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 13:14
[...] Danke für die Infos aber alle Methoden gehen unter XE2 nicht. [...]
Das glaube ich nicht, Tim.

Bitte poste Deinen Code.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#12

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 14:24
D_VT1.FieldByName('GrossAmountcurrencyID').Text:=GetEnumName(TypeInfo(CurrencyCodeType),Response.PaymentTransactions[i].NetAmount.currencyID); Fehlermeldung [DCC Fehler] Unit2.pas(83): E2010 Inkompatible Typen: 'Integer' und 'CurrencyCodeType'

Hier nochmal der Code vom RTTI...
Delphi-Quellcode:
TRttiEnumerationType = class(TRttiOrdinalType)
  private
    function GetMaxValue: Longint; override;
    function GetMinValue: Longint; override;
    function GetUnderlyingType: TRttiType;
    constructor Create(APackage: TRttiPackage; AParent: TRttiObject; var P: PByte); override;
    {$HINTS OFF}
    function GetNames: TArray<string>;
    class function GetName<T{: enum}>(AValue: T): string; reintroduce; static;
    class function GetValue<T{: enum}>(const AName: string): T; static;
    {$HINTS ON}
  public
    property UnderlyingType: TRttiType read GetUnderlyingType;
  end;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#13

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 14:48
D_VT1.FieldByName('GrossAmountcurrencyID').Text:=GetEnumName(TypeInfo(CurrencyCodeType),Response.PaymentTransactions[i].NetAmount.currencyID); Fehlermeldung [DCC Fehler] Unit2.pas(83): E2010 Inkompatible Typen: 'Integer' und 'CurrencyCodeType' [...]
Du hast den allerersten Treffer meines in http://www.delphipraxis.net/1304215-post8.html geposteten Links ignoriert.

Das Beispiel für GetEnumName in dem von @TiGü genannten Blogpost ist tatsächlich fehlerhaft.

(Aber mal ernsthaft: Da hätte man auf Grund der Fehlermeldung des Compilers aber auch durchaus drauf kommen können...)
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#14

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 14:57
D_VT1.FieldByName('GrossAmountcurrencyID').Text:=GetEnumName(TypeInfo(CurrencyCodeType),Response.PaymentTransactions[i].NetAmount.currencyID); Fehlermeldung [DCC Fehler] Unit2.pas(83): E2010 Inkompatible Typen: 'Integer' und 'CurrencyCodeType' [...]
Du hast den allerersten Treffer meines in http://www.delphipraxis.net/1304215-post8.html geposteten Links ignoriert.

Das Beispiel für GetEnumName in dem von @TiGü genannten Blogpost ist tatsächlich fehlerhaft.

(Aber mal ernsthaft: Da hätte man auf Grund der Fehlermeldung des Compilers aber auch durchaus drauf kommen können...)
Ich habe gedacht das wurde in einer neueren Delphi Version geändert.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#15

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 15:01
So jetzt habe ich die Gesamte Lösung
Delphi-Quellcode:
Var
  client : PayPalAPIInterface;
  credentials : RequesterCredentials;
  trans : TransactionSearchReq;
  UserID : UserIdPasswordType;
  trans1 : TransactionSearchRequest;

  Response : TransactionSearchResponse;

  i : Longint;
begin
  HTTPRIO1.URL:='https://api-3t.paypal.com/2.0/';
  client:=(HTTPRIO1 as PayPalAPIInterface);
  credentials:=RequesterCredentials.Create;

  UserID:=UserIdPasswordType.Create;

  UserID.Username:='';
  UserID.Password:='';
  UserID.Signature:='';

  credentials.Credentials:=UserID;

  HTTPRIO1.SOAPHeaders.Send(credentials);

  trans1:=TransactionSearchRequest.Create;
  trans:=TransactionSearchReq.Create;
  trans1.StartDate:=TXSDateTime.Create;
  trans1.Version:='94.0';
  trans1.StartDate.AsDateTime:=Now-10;
  trans.TransactionSearchRequest:=trans1;
  Response:=client.TransactionSearch(trans);

  D_VT1.Open;
  D_VT1.Clear;
  For i:=Low(Response.PaymentTransactions) To High(Response.PaymentTransactions) do
  Begin
    D_VT1.Append;
    D_VT1.FieldByName('timestamp').AsDateTime:=Response.PaymentTransactions[i].Timestamp.AsDateTime;
    D_VT1.FieldByName('type').Text:=Response.PaymentTransactions[i].Type_;
    D_VT1.FieldByName('payer').Text:=Response.PaymentTransactions[i].Payer;
    D_VT1.FieldByName('payerdisplayname').Text:=Response.PaymentTransactions[i].PayerDisplayName;
    D_VT1.FieldByName('TransactionID').Text:=Response.PaymentTransactions[i].TransactionID;
    D_VT1.FieldByName('Status').Text:=Response.PaymentTransactions[i].Status;
    D_VT1.FieldByName('GrossAmount').Text:=StringReplace(Response.PaymentTransactions[i].GrossAmount.Text,'.',',',[]);
    D_VT1.FieldByName('FeeAmount').Text:=StringReplace(Response.PaymentTransactions[i].FeeAmount.Text,'.',',',[]);
    D_VT1.FieldByName('NetAmount').Text:=StringReplace(Response.PaymentTransactions[i].NetAmount.Text,'.',',',[]);
    D_VT1.FieldByName('GrossAmountcurrencyID').Text:=GetEnumName(TypeInfo(CurrencyCodeType),Integer(Response.PaymentTransactions[i].GrossAmount.currencyID));
    D_VT1.FieldByName('FeeAmountcurrencyID').Text:=GetEnumName(TypeInfo(CurrencyCodeType),Integer(Response.PaymentTransactions[i].FeeAmount.currencyID));
    D_VT1.FieldByName('NetAmountcurrencyID').Text:=GetEnumName(TypeInfo(CurrencyCodeType),Integer(Response.PaymentTransactions[i].NetAmount.currencyID));
    D_VT1.Post;
  End;
  D_VT1.SaveToXML('t1.xml');
  D_VT1.Close;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 15:25
GetName ... Wozu auch, gibt ja das Property Name?

Und natürlich will es einen Integer, da man sonst millionen Überladungen für jeden Enumtypen bräuchte.
Delphi-Referenz durchsuchenOrd
$2B or not $2B
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: PayPal SOAP Konto Bewegungen abfragen

  Alt 5. Jun 2015, 16:10
Wie kann ich den Response.PaymentTransactions[i].NetAmount.currencyID; in ein String umwandeln
Wie der Zufall es will, gab es dazu erst neulich einen Blog-Post mit drei verschiedenen Möglichkeiten:
http://www.delphifeeds.com/go/f/1266...hiFeeds.com%29
Danke für die Infos aber alle Methoden gehen unter XE2 nicht.

TRttiEnumerationType.GetName Getname ist Privat
Du musst den Typ mitgeben!
Sonst nimmt er die private function GetName aus der Basisklasse TRttiType.
Es ist eine wiedereingeführte generische Klassenfunktion.

Delphi-Quellcode:
uses
  System.Rtti;
...
var
  str : string;
begin
  str := TRttiEnumerationType.GetName<CurrencyCodeType>(Response.PaymentTransactions[i].NetAmount.currencyID);
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:06 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