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 ile Webserverlar icin cache server yapimi TheEAK 0 63 12-09-2019, Saat: 16:36
Son Yorum: TheEAK
Thumbs Up Json Parse AV Hatası yhackup 0 66 02-09-2019, Saat: 13:27
Son Yorum: yhackup
  XML Json dosyaları ile Çalışma masteryoda 9 1.764 02-08-2019, Saat: 11:20
Son Yorum: TheEAK
  Json Parse Etme faktoral 3 226 01-08-2019, Saat: 08:50
Son Yorum: SimaWB
  Json Free Etmek yhackup 4 471 31-07-2019, Saat: 11:17
Son Yorum: Halil Han Badem



Konuyu Okuyanlar: 1 Ziyaretçi