İstediğiniz gibi örnek kod sipariş kalemlerini bazı değerlerini memo alanı içine listeliyor. Ancak tümünü okumak isterseniz örnek üzerinden yola çıkarak diğer değerleri okumalısınız.
Master bilgileri okumak isterseniz göndermiş olduğum örnek kod içinde V isimli variant değişkende bu bilgiler de mevcut. Özetle Json içindeki herşey göndermiş olduğum örnek kod içindeki V isimli variant değişken içinde mevcuttur.
Her seferinde tek sipariş alacak iseniz master bilgileri rahatlıkla döngü olmadan okuyabilirsiniz. Aşağıda *bazı* sipariş başlık bilgileri memo içine listeleniyor. Hemen altına da *bazı* sipariş kalemi/detayı bilgileri listeleniyor.
Kod: Tümünü seç
uses
DateUtils,
SynCommons;
procedure TForm1.Button1Click(Sender: TObject);
var
V: Variant;
JsonString: RawUTF8;
i: Integer;
begin
Memo1.Lines.Clear();
Request.Execute();
JsonString := RawUTF8(Request.Response.Content);
V := _JsonFast(JsonString);
Memo1.Lines.Add('*** sipariş başlık ***');
Memo1.Lines.Add(EmptyStr);
Memo1.Lines.Add('Id: ' + IntToStr(V.orders._(0).Id));
Memo1.Lines.Add('Name: ' + V.orders._(0).Name);
Memo1.Lines.Add('CurencyName: ' + V.orders._(0).CurrencyName);
Memo1.Lines.Add('Discount: ' + FloatToStr(V.orders._(0).Discount));
Memo1.Lines.Add('DiscountedTotal: ' + FloatToStr(V.orders._(0).DiscountedTotal));
Memo1.Lines.Add('Order Date: ' + V.orders._(0).OrderDate);
Memo1.Lines.Add(EmptyStr);
Memo1.Lines.Add('*** sipariş detay/kalem ***');
for i := 0 to V.Count-1 do
begin
Memo1.Lines.Add('sipariş satırı: ' + (i + 1).ToString());
Memo1.Lines.Add(V.orders._(0).Items._(i).Product.Name);
Memo1.Lines.Add(V.orders._(0).LastActivityDate);
Memo1.Lines.Add('DateTime değişken üzerinden: ' + DateTimeToStr(ISO8601ToDate(V.orders._(0).LastActivityDate)));
Memo1.Lines.Add('Miktar: ' + FloatToStr(V.orders._(0).Items._(i).Quantity));
Memo1.Lines.Add('Fiyat: ' + FloatToStr(V.orders._(0).Items._(i).Price));
Memo1.Lines.Add('Birim: ' + V.orders._(0).Items._(i).Unit);
Memo1.Lines.Add('Kdv: ' + FloatToStr(V.orders._(0).Items._(i).Vat));
Memo1.Lines.Add(EmptyStr);
end;
end;