Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi 7 json veri işlemleri
#1
Herkese merhaba,
web geliştiricisiyim ve windows üzerinde çalışan bir erp programından veri alıp php koduma aktarmam gerekiyor. Delphi öğrenmek için bu işi kendim geliştirmek istedim ve delphi' ye adım attım.
Bir kaç sorum olacak yanıtlarsanız çok sevinirim.

1 - Rest api için aşağıdaki kodu kullanıyorum.

procedure TFrmAna.Button1Click(Sender: TObject);
var
 data: TIdMultiPartFormDataStream;
 response: String;
begin

data := TIdMultiPartFormDataStream.Create;
try
 data.AddFormField('kod', 'kullanici_kodu');
 data.AddFormField('sifre', UTF8Encode('isdaşdğpasğd'));

 IdHTTP1.HandleRedirects := True;
 IdHTTP1.ReadTimeout     := 5000;
 IdHTTP1.Request.Accept  := 'application/json';
 IdHTTP1.Request.AcceptCharSet  := 'UTF-8';
 IdHTTP1.Request.AcceptLanguage := 'tr';
 IdHTTP1.Request.ContentType    := 'application/json';

 response :=IdHTTP1.Post('http://blablabla.com/veri/deneme', data);
finally
data.Free;
Memo1.Text := response;
end;

end;


blablabla.com' a verileri post edebiliyorum. ve dönüş değerini memoya yazdırabiliyorum.
Gelen veri json olduğunda json veriyi nasıl çözümleyebilirim?

2 - birde php den gelen verileri memo ya yazdırırken türkçe karakterlerde problem yaşıyorum. Bunu nasıl çözebilirim?

şimdiden çok teşekkür ederim. 
Öğrendikçe bende forumdaki arkadaşlara yardımcı olmaya çalışıcam.
Herkese kolay gelsin.
Cevapla
#2
(13-04-2019, Saat: 18:21)onurakman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Herkese merhaba,
web geliştiricisiyim ve windows üzerinde çalışan bir erp programından veri alıp php koduma aktarmam gerekiyor. Delphi öğrenmek için bu işi kendim geliştirmek istedim ve delphi' ye adım attım.
Bir kaç sorum olacak yanıtlarsanız çok sevinirim.

1 - Rest api için aşağıdaki kodu kullanıyorum.

procedure TFrmAna.Button1Click(Sender: TObject);
var
 data: TIdMultiPartFormDataStream;
 response: String;
begin

data := TIdMultiPartFormDataStream.Create;
try
 data.AddFormField('kod', 'kullanici_kodu');
 data.AddFormField('sifre', UTF8Encode('isdaşdğpasğd'));

 IdHTTP1.HandleRedirects := True;
 IdHTTP1.ReadTimeout     := 5000;
 IdHTTP1.Request.Accept  := 'application/json';
 IdHTTP1.Request.AcceptCharSet  := 'UTF-8';
 IdHTTP1.Request.AcceptLanguage := 'tr';
 IdHTTP1.Request.ContentType    := 'application/json';

 response :=IdHTTP1.Post('http://blablabla.com/veri/deneme', data);
finally
data.Free;
Memo1.Text := response;
end;

end;


blablabla.com' a verileri post edebiliyorum. ve dönüş değerini memoya yazdırabiliyorum.
Gelen veri json olduğunda json veriyi nasıl çözümleyebilirim?

2 - birde php den gelen verileri memo ya yazdırırken türkçe karakterlerde problem yaşıyorum. Bunu nasıl çözebilirim?

şimdiden çok teşekkür ederim. 
Öğrendikçe bende forumdaki arkadaşlara yardımcı olmaya çalışıcam.
Herkese kolay gelsin.
Json için Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. incelemenizi tavsiye ederim içerisinde sample'lar var. Türkçe karakter sorunu ile ilgili veriler bozuk mu alıyorsunuz, yazdırırken mi sorun yaşıyorsunuz.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#3
Delphi 7 yerine , rad studio sürümlerinden birine geçmenizi tavsiye ediyorum. Yapmak istediğiniz iş için gerekli rest bileşenlerine sahip olmuş olursunuz. Forumda Rad Studionun yanılmıyorsam 1 yıl kadar bedava kullanabileceğiniz sürümünden bahsedilmişti. Böylece hem json okuma hemde rest işlemini zahmetsizce yapabilirsiniz.
Cevapla
#4
(13-04-2019, Saat: 19:54)narkotik Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(13-04-2019, Saat: 18:21)onurakman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Herkese merhaba,
web geliştiricisiyim ve windows üzerinde çalışan bir erp programından veri alıp php koduma aktarmam gerekiyor. Delphi öğrenmek için bu işi kendim geliştirmek istedim ve delphi' ye adım attım.
Bir kaç sorum olacak yanıtlarsanız çok sevinirim.

1 - Rest api için aşağıdaki kodu kullanıyorum.

procedure TFrmAna.Button1Click(Sender: TObject);
var
 data: TIdMultiPartFormDataStream;
 response: String;
begin

data := TIdMultiPartFormDataStream.Create;
try
 data.AddFormField('kod', 'kullanici_kodu');
 data.AddFormField('sifre', UTF8Encode('isdaşdğpasğd'));

 IdHTTP1.HandleRedirects := True;
 IdHTTP1.ReadTimeout     := 5000;
 IdHTTP1.Request.Accept  := 'application/json';
 IdHTTP1.Request.AcceptCharSet  := 'UTF-8';
 IdHTTP1.Request.AcceptLanguage := 'tr';
 IdHTTP1.Request.ContentType    := 'application/json';

 response :=IdHTTP1.Post('http://blablabla.com/veri/deneme', data);
finally
data.Free;
Memo1.Text := response;
end;

end;


blablabla.com' a verileri post edebiliyorum. ve dönüş değerini memoya yazdırabiliyorum.
Gelen veri json olduğunda json veriyi nasıl çözümleyebilirim?

2 - birde php den gelen verileri memo ya yazdırırken türkçe karakterlerde problem yaşıyorum. Bunu nasıl çözebilirim?

şimdiden çok teşekkür ederim. 
Öğrendikçe bende forumdaki arkadaşlara yardımcı olmaya çalışıcam.
Herkese kolay gelsin.
Json için Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. incelemenizi tavsiye ederim içerisinde sample'lar var. Türkçe karakter sorunu ile ilgili veriler bozuk mu alıyorsunuz, yazdırırken mi sorun yaşıyorsunuz.

hocam teşekkürler verdiğiniz linki inceledim delphide yeni olduğumdan karmaşık geldi.
basit olarak dönen json veya xml leri kullanabileceğim bir kod paylaşabilir misiniz?

php de post ettiğim bilgileri print_r($_POST); şeklinde geri döndürüp memoya yazdırıyorum.
isdaşdğpasğd bunu post ettiğimde dönen  isdaÅŸdÄŸpasÄŸd bu oluyor.
Cevapla
#5
Xml için Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Json ile yapacaksan forumda önceden açılmış konular var.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#6
İşletim sisteminde hazır olarak bulunan "Microsoft HTML Object Libarary" nesnesini kullanarak "JavaScript" ile kolayca Json parseleyebiliriz. Eğer Json metninde içiçe girintiler varsa, "eval" yöntemini kullanmak daha doğru olacaktır.

Ben Visual Basic kodu ekledim; Delphi' ye çevrilmesi çok zor olmasa gerek...



Sub Test()
   Const json = "{""name"":""Zeki"", ""age"":40, ""city"":""Sakarya""}"
   
   Set doc = CreateObject("htmlfile")

   doc.write "<meta http-equiv='x-ua-compatible' content='ie=11'><script>var jsonObject; function setToObject(jsonString) {" & _
             "jsonObject = JSON.parse(jsonString);} function getValue(key) {return jsonObject[key];}</script>"

   Set wnd = doc.parentWindow

   wnd.setToObject json

   'MsgBox wnd.getValue("name")
   'veya,

   MsgBox wnd.eval("jsonObject.name") 'eval biraz yavaş çalışır
End Sub
Cevapla
#7
Herkese çok teşekkürler.
örnek sample dan xml ile işimi hallettim.
Cevapla
#8
Çok sağlıklı çalıştığından emin değilim ama eski sürüm delphiler için Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. kütüphanesi var.
Cevapla
#9
Ole kütüphanesi veya json serialize edecek githubta örnek kodlar var. Tam olarak ihtiyacınız nedir
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Date - Sql Datetime HuseyinF 4 94 5 saat önce
Son Yorum: adelphiforumz
  Delphi Test Otomasyonu baslaner 3 95 7 saat önce
Son Yorum: edo
  HTML Sayfaya Veri Çekme Hayati 1 67 Dün, Saat: 21:44
Son Yorum: SimaWB
  Excel'den veri çekme hatası harezmi 7 84 Dün, Saat: 18:40
Son Yorum: harezmi
  Parmak izi okuyucudan veri çekmek ermanispir@gmail.com 9 307 16-07-2019, Saat: 13:47
Son Yorum: wiseman



Konuyu Okuyanlar: 1 Ziyaretçi