Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
Json verisi DataSet e dönüştürülemiyor. |
Yanıt Yaz |
Yazar | |
ElifKarabacak
Yeni Üye Kayıt Tarihi: 16 Eylül 2024 Durum: Aktif Değil Puanlar: 15 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı ElifKarabacak
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 22 Kasım 2024 Saat 15:43 |
Aşağıdaki kodda içi birden fazla dolu olan hücreye tıklandığında tıklanan veriyi json olarak alıyor ama dataset e dönüştürmüyor. Aşağıdaki kısımda dataset e dönüştüremediği için ' ShowMessage(jsonObject2); 'a girmiyor. Yardımcı olabilir misiniz?
Teşekkürler. --- ShowMessage(FSender.Cells[FCol,FRow]); jsonObject2 = Clomosy.ClDataSetFromJSON(FSender.Cells[FCol,FRow]); jsonObject2.OpenOrExecute; ShowMessage(jsonObject2); ------ var jsonObject, jsonObject2, jsonObject3, jsonObject4 :TClJsonQuery; clRest:TclRest; mainform, mainform2, mainform3, mainform4 : TclForm; progrid, progrid2, progrid3, progrid4 : TclProGrid; mainvertScrollBox, mainvertScrollBox2, mainvertScrollBox3, mainvertScrollBox4 : TCLVertScrollBox; FSender, FSender2, FSender3 : TCLProGrid; FRow, FCol, FRow2, FCol2, FRow3, FCol3 : Integer; Position, Position2, Position3: Integer; a: string; jsonMetin,ToplamJson,yeniMetin,eskikarakter1,eskikarakter2 : String; kayitTut : TclArrayString ; allData: TClJsonQuery; sonrakiveri : Integer; void usersgrid4; { FSender3 = TCLProGrid(mainform3.clSender); FRow3 = mainform3.clSenderRow; FCol3 = mainform3.clSenderCol; //ShowMessage('['+IntToStr(FRow3)+','+IntToStr(FCol3)+'] '+'Hücresinde Bulunan Veri: '+FSender3.Cells[FCol3,FRow3]); try jsonObject4 = Clomosy.ClDataSetFromJSON(FSender3.Cells[FCol3,FRow3]); jsonObject4.openorexecute; Position3 = Pos('{', FSender3.Cells[FCol3,FRow3]); //ShowMessage(Position3); if (Position3 > 1) { ShowMessage('İçerik Bulunamadı.'); } else { mainform4 = TclForm.Create(self); ClRTSetProperty(mainform4, 'ClientWidth', 900); ClRTSetProperty(mainform4, 'ClientHeight', 750); mainvertScrollBox4 = mainform4.AddNewVertScrollBox(mainform4, 'mainvertScrollBox4'); mainvertScrollBox4.align = alClient; //ShowMessage('İçerik Bulundu. Position3: ' + IntToStr(Position3)); progrid4 = mainform4.addnewprogrid(mainvertScrollBox4, 'progrid4'); progrid4.ConnectDataSet(jsonObject4); with progrid4 do { align = alClient; margins.right = 30; margins.left = 30; margins.bottom = 30; width = (mainform.clwidth*90)/100; height=(mainform.clheight*75)/100; AutoSizeColumns(True,50); FixedLayoutFillColor = clalphacolor.clhextocolor('#43cd80'); SelectedLayoutFillColor = clalphacolor.clhextocolor('#698b69'); SelectedLayoutFontColor = clalphacolor.clhextocolor('#ffffff'); FocusedLayoutFillColor = clalphacolor.clhextocolor('#9bcd9b'); FocusedLayoutFontColor = clalphacolor.clhextocolor('#000000'); } mainform4.Run; } except //ShowMessage('Exception Class2: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } void usersgrid3; { FSender2 = TCLProGrid(mainform2.clSender); FRow2 = mainform2.clSenderRow; FCol2 = mainform2.clSenderCol; //ShowMessage('['+IntToStr(FRow2)+','+IntToStr(FCol2)+'] '+'Hücresinde Bulunan Veri: '+FSender2.Cells[FCol2,FRow2]); try jsonObject3 = Clomosy.ClDataSetFromJSON(FSender2.Cells[FCol2,FRow2]); jsonObject3.openorexecute; Position2 = Pos('{', FSender2.Cells[FCol2,FRow2]); //ShowMessage(Position2); if (Position2 > 1) { ShowMessage('İçerik Bulunamadı.'); } else { mainform3 = TclForm.Create(self); ClRTSetProperty(mainform3, 'ClientWidth', 900); ClRTSetProperty(mainform3, 'ClientHeight', 750); mainvertScrollBox3 = mainform3.AddNewVertScrollBox(mainform3, 'mainvertScrollBox3'); mainvertScrollBox3.align = alClient; //ShowMessage('İçerik Bulundu. Position2: ' + IntToStr(Position2)); progrid3 = mainform3.addnewprogrid(mainvertScrollBox3, 'progrid3'); progrid3.ConnectDataSet(jsonObject3); with progrid3 do { align = alClient; margins.right = 30; margins.left = 30; margins.bottom = 30; width = (mainform.clwidth*90)/100; height=(mainform.clheight*75)/100; AutoSizeColumns(True,50); FixedLayoutFillColor = clalphacolor.clhextocolor('#43cd80'); SelectedLayoutFillColor = clalphacolor.clhextocolor('#698b69'); SelectedLayoutFontColor = clalphacolor.clhextocolor('#ffffff'); FocusedLayoutFillColor = clalphacolor.clhextocolor('#9bcd9b'); FocusedLayoutFontColor = clalphacolor.clhextocolor('#000000'); } mainform3.AddNewEvent(progrid3, tbeOnProGridCellClick, 'usersgrid4'); mainform3.Run; } except //ShowMessage('Exception Class2: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } void usersgrid2; { FSender = TCLProGrid(mainform.ClSender); FRow = mainform.ClSenderRow; // 1 den başlıyor satırlar FCol = mainform.ClSenderCol; //0 dan başlıyor sütunlar //ShowMessage('['+IntToStr(FRow)+','+IntToStr(FCol)+'] '+'Hücresinde Bulunan Veri: '+FSender.Cells[FCol,FRow]); try Position = Pos('{', FSender.Cells[FCol,FRow]); // ShowMessage(Position) if (Position ==0) { ShowMessage('Substring not found.'); } else if (Position==1) { mainform2 = TclForm.Create(self); ClRTSetProperty(mainform2,'ClientWidth',900); ClRTSetProperty(mainform2,'ClientHeight',750); mainvertScrollBox2 = mainform2.AddNewVertScrollBox(mainform2,'mainvertScrollBox2'); mainvertScrollBox2.align=alClient; ShowMessage(FSender.Cells[FCol,FRow]); jsonObject2 = Clomosy.ClDataSetFromJSON(FSender.Cells[FCol,FRow]); jsonObject2.OpenOrExecute; ShowMessage(jsonObject2); ShowMessage('2'); //ShowMessage('Substring found. Position: ' + IntToStr(Position)); progrid2 = mainform2.addnewprogrid(mainvertScrollBox2, 'progrid2'); ProGrid2.ConnectDataSet(jsonObject2); with progrid2 do { align= alClient; margins.right= 30; margins.left= 30; margins.bottom= 30; width=(mainform.clwidth*90)/100; height=(mainform.clheight*75)/100; AutoSizeColumns(True,50); FixedLayoutFillColor = clalphacolor.clhextocolor('#43cd80'); SelectedLayoutFillColor = clalphacolor.clhextocolor('#698b69'); SelectedLayoutFontColor = clalphacolor.clhextocolor('#ffffff'); FocusedLayoutFillColor = clalphacolor.clhextocolor('#9bcd9b'); FocusedLayoutFontColor = clalphacolor.clhextocolor('#000000'); } mainform2.AddNewEvent(progrid2, tbeOnProGridCellClick, 'usersgrid3'); mainform2.run; //mainform2.AddNewEvent(progrid2, tbeOnProGridCellClick,'idgridac2'); } except ShowMessage('Exception Class2: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } { mainform = TclForm.Create(self); ClRTSetProperty(mainform,'ClientWidth',1200); ClRTSetProperty(mainform,'ClientHeight',750); mainvertScrollBox = mainform.AddNewVertScrollBox(mainform,'mainvertScrollBox'); mainvertScrollBox.align=alClient; progrid = mainform.addnewprogrid(mainvertScrollBox, 'progrid'); allData = TClJsonQuery.Create(nil); clRest = TclRest.Create; jsonObject = TClJsonQuery.Create(nil); clRest.Accept = 'application/json'; clRest.Method = rmGet; ToplamJson = '['; for ( sonrakiveri=1 to 30) { clRest.BaseURl = 'https://dummyjson.com/users/' + IntToStr(sonrakiveri); clRest.Execute; clRest.Execute; //ShowMessage(clRest.Response); jsonObject = Clomosy.ClDataSetFromJSON(clRest.Response); jsonObject.OpenOrExecute; with jsonObject do { try if (Found) { First; while (not EOF) { if(jsonObject.Found) { jsonMetin = jsonObject.getJSONString; yeniMetin = clGetStringReplace(jsonMetin,'[',''); yeniMetin = clGetStringReplace(yeniMetin,']',''); ToplamJson = ToplamJson + yeniMetin; } Next; } } except ShowMessage('Exception Class3: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } if (sonrakiveri == 30) { ToplamJson = ToplamJson + ']'; } else { ToplamJson = ToplamJson + ','; } } allData = Clomosy.ClDataSetFromJSON(ToplamJson); ProGrid.ConnectDataSet(allData); with progrid do { align= alClient; margins.right= 30; margins.left= 30; margins.bottom= 30; width=(mainform.clwidth*90)/100; height=(mainform.clheight*75)/100; AutoSizeColumns(True,50); FixedLayoutFillColor = clalphacolor.clhextocolor('#43cd80'); SelectedLayoutFillColor = clalphacolor.clhextocolor('#698b69'); SelectedLayoutFontColor = clalphacolor.clhextocolor('#ffffff'); FocusedLayoutFillColor = clalphacolor.clhextocolor('#9bcd9b'); FocusedLayoutFontColor = clalphacolor.clhextocolor('#000000'); } mainform.AddNewEvent(progrid, tbeOnProGridCellClick,'usersgrid2'); mainform.Run; } |
|
BilalCndn
Forum Yöneticisi Kayıt Tarihi: 09 Ekim 2023 Durum: Aktif Değil Puanlar: 150 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı BilalCndn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba Elif,
Kullanmış olduğun JSON içerisinde '\' karakteri olduğu için JSON verini bozuyor. Bu şekilde JSON verini düzelterek kullanabilirsin.
İyi çalışmalar dilerim.
|
|
ElifKarabacak
Yeni Üye Kayıt Tarihi: 16 Eylül 2024 Durum: Aktif Değil Puanlar: 15 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı ElifKarabacak
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Bu şekilde yaptım ve çalıştı teşekkür ederim. Ama bu projeyi telefonda çalıştırdığımda ClomosyLearn 'Yanıt Vermiyor' uyarısını veriyor ve uygulama kapanıyor. Bir de exe de açarken çok yavaş açılıyor. Bunu nasıl düzeltebilirim?
Şimdiden teşekkürler, iyi çalışmalar.
|
|
BilalCndn
Forum Yöneticisi Kayıt Tarihi: 09 Ekim 2023 Durum: Aktif Değil Puanlar: 150 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı BilalCndn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba Elif,
IOS ve Android telefonda test ettim. Bahsettiğin 'Yanıt Vermiyor' uyarısı ile karşılaşmadım. Projenin yavaş açılmasının sebebi de başlangıçta verileri çekerken döngü içerisinde tek tek çekiyor olman. Döngü kullandığın için cihaz hızı ve her döngüde internetten veri çektiğin için internet hızı açılış süresinde etken olacaktır. İyi çalışmalar dilerim.
|
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |