Recent

Author Topic: مشكل ملاء listbox في xubuntu  (Read 364 times)

Al-Eid

  • Jr. Member
  • **
  • Posts: 59
مشكل ملاء listbox في xubuntu
« on: September 05, 2022, 12:23:18 pm »
السلام عليكم
عند ملاء listBox أو ComboBox1 من جدول في قاعدة البيانات يكون معرفه من نوع integer أستعمل الطريقة التالية
Code: Pascal  [Select][+][-]
  1.   listBox1.AddItem(ZQuery1.FieldByName('FieldString').AsString,TObject(ZQuery1.FieldByName('FieldPrimary').AsInteger));
  2.  

هذا الأمر يعمل بطريقة جيدة في ويندوز ولكن في Xubuntu يرفض القيمة الممررة في TObject()  بأن تكون القيمة من نوع Integer

ملاحظة: سبب سؤالي فرغم أن لا أحتاج إلى لينكس لحد الأن ولكن من أجل التجريب و التأكد والتعلم


Zaher

  • Hero Member
  • *****
  • Posts: 674
    • parmaja.org
Re: مشكل ملاء listbox في xubuntu
« Reply #1 on: September 05, 2022, 01:11:43 pm »
اعتقد المشكلة انه 64 bit على اللينوكس
جرب Int64

Al-Eid

  • Jr. Member
  • **
  • Posts: 59
Re: مشكل ملاء listbox في xubuntu
« Reply #2 on: September 05, 2022, 06:34:33 pm »
نعم ، لقد نجح الأمر

فعند ملاء الأداة يكون بالشكل التالي

Code: Pascal  [Select][+][-]
  1. listbox1.AddItem(ZQuery1.FieldByName('FieldString').AsString,TObject(ZQuery1.FieldByName('FieldPrimary').AsLargeInt ))
  2.  

وعند إستعمال قيمة الحقل المحفوظة يكون بالشكل التالي

Code: Pascal  [Select][+][-]
  1.  
  2.  var numbr : Int64 ;
  3. begin
  4.  
  5.   numbr := Int64(listbox1.Items.Objects[listbox1.ItemIndex]);
  6. end;
  7.  
  8.  
  9.  

شكرا وبارك الله فيك

Zaher

  • Hero Member
  • *****
  • Posts: 674
    • parmaja.org
Re: مشكل ملاء listbox في xubuntu
« Reply #3 on: September 05, 2022, 09:55:40 pm »
لكن لن يعمل معك على 32
جرب PtrInt  بدل منها

Al-Eid

  • Jr. Member
  • **
  • Posts: 59
Re: مشكل ملاء listbox في xubuntu
« Reply #4 on: September 07, 2022, 12:34:21 pm »
مممـ رائع
عند ملاء الأداة أستعملت الكود التالي


Code: Pascal  [Select][+][-]
  1.  var Xint: PtrInt ;
  2. begin
  3.  Xint:= SQLQuery1.FieldByName('FieldPrimary').AsInteger ;
  4.  listbox1.AddItem(SQLQuery1.FieldByName('FieldString').AsString ,Tobject(Xint));
  5. end;
  6.  


وذلك لأني لم أجد ما يعوض النوع PtrInt

وعند إستعمال قيمة الحقل المحفوظة يكون بالشكل التالي

Code: Pascal  [Select][+][-]
  1.  
  2.  var numbr: PtrInt ;
  3. begin
  4.  numbr:= PtrInt(listbox1.Items.Objects[listbox1.ItemIndex]);
  5. end;
  6.  

في هذ الرابط


https://www.freepascal.org/docs-html/rtl/system/ptrint.html

حسب  فهمي فإن ينصح إستعمال هذا النوع بحذر ممكن شرح أكثر عن المشكل الذي فيه


Zaher

  • Hero Member
  • *****
  • Posts: 674
    • parmaja.org
Re: مشكل ملاء listbox في xubuntu
« Reply #5 on: September 07, 2022, 01:53:26 pm »
هذا افضل حل Tobject(Xint));
نعم يتم التعامل بحذر لكن مجبرين

 

TinyPortal © 2005-2018