إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

هاااام توسيط الكتـــابة في ListBox

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • هاااام توسيط الكتـــابة في ListBox

    السلام عليكم ورحمة الله وبركاته

    قد فتحت تســـاؤل سابق حول حساب المسافة الباقية
    في سطور عنصر ListBox بعد التحديد لاستغلالها
    في توسيط الكتابة في ListBox فأقترن ذلك بعدة مصاعب
    نوع الخط و طول العنصر وووو ....
    ----------------------
    أكرر انشــغالي بطرح مباشــر هل هناك طريقة أو إضافة
    تساعدني في توسيط العناوين في عنصر ListBox1 بطريقة برمجية
    تتلاءم مع حجم الخطوط و اختلافاتها و مع أبعاد العنصر في حد ذاته
    -----------------------------
    هل من أكواد ... أو إضافات .. أوأراء قد تفيد
    أم لا يوجد أمل لتحقيق هذا الانشغـــال
    شكــــرا

  • #2
    السلام عليكم ورحمة الله وبركاته
    نمر من هنا لنقول انني نحاول بما اوتينا من علم
    فلا تلمنا ان لن نمر من جديد
    فهذا يعني ان لا جديد

    تعليق


    • #3
      المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
      السلام عليكم ورحمة الله وبركاته
      نمر من هنا لنقول انني نحاول بما اوتينا من علم
      فلا تلمنا ان لن نمر من جديد
      فهذا يعني ان لا جديد
      موفق بإذن الله ... لك مني أجمل تحية .

      تعليق


      • #4
        لا اظن ان الحل يخرج عن dll

        تعليق


        • #5
          حاولت ان اضيف " " مسافة الى النص في اليسبوكس بحيث يصبح النص في اخر اليسبوكس ظاهريا
          ثم نحسب الفراغ الموجود قبل النص و هو سهل ثم نقسمه على 2 ثم نستبدل نصف المسافات
          لم انجح
          ...................
          حاولت ان اضيف . امام كل نص ثم اضيف عدد من النقط بحيث يصبح النص في الوسط ظاهريا ثم نستبدل النقط بمسافات
          لم انجح
          ....................
          ثم قلت لما لا نعمل خارج اليسبوكس مثلا العريد فيمكن التوسيط
          او نصدر محتوى الليسبوكس الى عنصر خارجي و ليكن richtext ثم نوسطه ثم نصدره الى تكتس ثم الى ليسبوكس اخر بحيث يحتفظ بالمسافات

          و في الاخير قلت يا اخي اذا كان الامر شكلي بحيث يظهر للمستخدم ان النصوص في الوسط .... نضيف باراغراف كاطار خارجي لليسبوكس بحيث يظهر انه اطار اليسبوكس

          ثم قررت في الاخير ان اترك هذا الامر و اتفرج توم جيري فهو يهدا البال و احسن للصحة

          تعليق


          • #6
            المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
            لا اظن ان الحل يخرج عن dll
            لا أدري لكني أفكر في حل فيه سلبيات
            و هي التأثير على طول العنوان لاحقا عند استعماله في
            اجراءات أخرى كالبحث مثلا او حتى الاستعلام عليه لانه لن يصبح
            ذلك العنوان بل ستضاف له مسافات بادئة مما يجر الى استعمال
            String.TrimLeft للتعامل مع النص الحقيقــــي في حالة تطبيق
            أكواد الليست المعروفة
            أي بمعنى سيكون في البدء توسيط العناوين لكن بمسافة بادئة رياضيا
            ------------------------------
            يمكن أن أواصل متابعة الانشغال .....

            تعليق


            • #7
              حاولت ان اضيف " " مسافة الى النص في اليسبوكس بحيث يصبح النص في اخر اليسبوكس ظاهريا
              ثم نحسب الفراغ الموجود قبل النص و هو سهل ثم نقسمه على 2 ثم نستبدل نصف المسافات
              لم انجح
              هذا تفكير سليم و قد يكون بداية لخوارزمية عمل جيدة
              واصل بدء من هذه النقطة

              تعليق


              • #8
                خــوارزمية عمل :
                01 - البحث عن العنصــر الذي يتمدد كلما كتبنا فيه ؟؟؟ هذا العنصر "س" هو الذي يحل المشكــل
                نعطي لهذا العنصر مواصفات نفس خط الليستبوكس
                02 - ننشأ دالة تكرارية دورها تكتب رقما أو حرفا واحد في كل مرة للعنصر "س"
                03 - تتوقف الدالة عندما يكون طول العنصر "س" أكبر أو يساوي طول الليست بوكس و أقصد
                هنا الــ Width
                04 - عندما تتوقف الدالة سيكون طول النص في عنصر "س" هو نفسه طول Width لليستبوكس
                نخزنه
                05 - تبحث عن أصغر العناوين في الليست طولا --- "ع"
                07 - نقوم بطرح ع من س مع اهمال الفواصل و التقريب إلى الأعلى
                08 - نقسم الفارق على 2 نتحصل على قيمة ما ولتكن ص
                09 - ننشأ دالة تكرارية تكون فراغات بقدر ص
                10 - تضاف تلك القيمة الأخيرة لكل عناوين الليستبوكس
                11 - نمسح العنصر "س"
                من يكون س ؟؟
                موفق

                تعليق


                • #9
                  المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                  خــوارزمية عمل :
                  01 - البحث عن العنصــر الذي يتمدد كلما كتبنا فيه ؟؟؟ هذا العنصر "س" هو الذي يحل المشكــل
                  نعطي لهذا العنصر مواصفات نفس خط الليستبوكس
                  02 - ننشأ دالة تكرارية دورها تكتب رقما أو حرفا واحد في كل مرة للعنصر "س"
                  03 - تتوقف الدالة عندما يكون طول العنصر "س" أكبر أو يساوي طول الليست بوكس و أقصد
                  هنا الــ Width
                  04 - عندما تتوقف الدالة سيكون طول النص في عنصر "س" هو نفسه طول Width لليستبوكس
                  نخزنه
                  05 - تبحث عن أصغر العناوين في الليست طولا --- "ع"
                  07 - نقوم بطرح ع من س مع اهمال الفواصل و التقريب إلى الأعلى
                  08 - نقسم الفارق على 2 نتحصل على قيمة ما ولتكن ص
                  09 - ننشأ دالة تكرارية تكون فراغات بقدر ص
                  10 - تضاف تلك القيمة الأخيرة لكل عناوين الليستبوكس
                  11 - نمسح العنصر "س"
                  من يكون س ؟؟
                  موفق
                  هذا خيط ....المشكل الذي يواجهنا ان لا علاقة بطول السترينج بطول اليسبوكس ........... و اظن العمل على هذا النسبة ما سينجح الكود
                  على كل الموتور شغال

                  تعليق


                  • #10
                    السلام عليكم ورحمة الله وبركاته
                    ترجمة لما كتبته :
                    ضمن عملك ليستبوكس وزر ازرع فيه
                    كود PHP:
                    FontSize ListBox.GetProperties("ListBox1").FontSize
                     tblLabelProps 
                    = {};
                     
                    tblLabelProps.Visible false;
                    tblLabelProps.FontSize FontSize;
                    tblLabelProps.Text "1";
                    tblLabelProps.FontName "Arial";
                    Page.CreateObject(OBJECT_LABEL"thameur",  tblLabelProps);
                    for 
                    =1,1000000 do
                    Label.SetText("thameur",Label.GetText("thameur").."1");
                    if 
                    Label.GetProperties("thameur").Width >= ListBox.GetProperties("ListBox1").Width then
                    break
                    end
                    end
                    v
                    =String.Length(Label.GetText("thameur"));
                    R=""
                    my_table = {};
                    for 
                    bb =1,ListBox.GetCount("ListBox1")do
                    Table.Insert(my_tablebbString.Length(ListBox.GetItemText("ListBox1"bb)));
                    end
                    for c1,c2 in pairs(my_table) do
                    if 
                    math.minunpack(my_table)) ==c2 then
                    =c1
                    end
                    end
                    vide 
                    =vString.Length(ListBox.GetItemText("ListBox1"R))
                    pp Math.Ceil(Math.Ceil(vide)/2)  
                    =""
                    for  t=1,pp-do
                    e=e.."  "
                    end
                    for bb =1,ListBox.GetCount("ListBox1")do
                    ListBox.SetItemText("ListBox1"bbe..ListBox.GetItemText("ListBox1"bb));
                    end
                    Page
                    .DeleteObject("thameur"); 
                    نقرأ محاولتك ........بالتوفيق لم يبق الان الا التحضير للموسم الدراسي
                    نلتقي بود

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                      السلام عليكم ورحمة الله وبركاته
                      ترجمة لما كتبته :
                      ضمن عملك ليستبوكس وزر ازرع فيه
                      كود PHP:
                      fontsize listbox.getproperties("listbox1").fontsize
                       tbllabelprops 
                      = {};
                       
                      tbllabelprops.visible false;
                      tbllabelprops.fontsize fontsize;
                      tbllabelprops.text "1";
                      tbllabelprops.fontname "arial";
                      page.createobject(object_label"thameur",  tbllabelprops);
                      for 
                      =1,1000000 do
                      label.settext("thameur",label.gettext("thameur").."1");
                      if 
                      label.getproperties("thameur").width >= listbox.getproperties("listbox1").width then
                      break
                      end
                      end
                      v
                      =string.length(label.gettext("thameur"));
                      r=""
                      my_table = {};
                      for 
                      bb =1,listbox.getcount("listbox1")do
                      table.insert(my_tablebbstring.length(listbox.getitemtext("listbox1"bb)));
                      end
                      for c1,c2 in pairs(my_table) do
                      if 
                      math.minunpack(my_table)) ==c2 then
                      =c1
                      end
                      end
                      vide 
                      =vstring.length(listbox.getitemtext("listbox1"r))
                      pp math.ceil(math.ceil(vide)/2)  
                      =""
                      for  t=1,pp-do
                      e=e.."  "
                      end
                      for bb =1,listbox.getcount("listbox1")do
                      listbox.setitemtext("listbox1"bbe..listbox.getitemtext("listbox1"bb));
                      end
                      page
                      .deleteobject("thameur"); 
                      نقرأ محاولتك ........بالتوفيق لم يبق الان الا التحضير للموسم الدراسي
                      نلتقي بود
                      الكود شغال لكن ظننت السؤال يتعلق بتوسيط النصوص الموجودة فيا ليسبوكس و ليس ادراج مسافة قبلها
                      و الله اعلم

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
                        الكود شغال لكن ظننت السؤال يتعلق بتوسيط النصوص الموجودة فيا ليسبوكس و ليس ادراج مسافة قبلها
                        و الله اعلم
                        هههههههههههه موفق

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                          هههههههههههه موفق
                          تعديل على الكود ليقوم بالتوسيط داخل اليسبوكس ( التوسيط في الوورد او البارغاراف )

                          كود PHP:
                          FontSize ListBox.GetProperties("ListBox1").FontSize 
                           tblLabelProps 
                          = {}; 
                           
                          tblLabelProps.Visible false
                          tblLabelProps.FontSize FontSize
                          tblLabelProps.Text "1"
                          tblLabelProps.FontName "Arial"
                          Page.CreateObject(OBJECT_LABEL"thameur",  tblLabelProps); 
                          for 
                          =1,1000000 do 
                          Label.SetText("thameur",Label.GetText("thameur").."1"); 
                          if 
                          Label.GetProperties("thameur").Width >= ListBox.GetProperties("ListBox1").Width then 
                          break 
                          end 
                          end 
                          v
                          =String.Length(Label.GetText("thameur")); 

                          for 
                          bb =1,ListBox.GetCount("ListBox1")do 
                          ff String.Length(ListBox.GetItemText("ListBox1"bb)); 
                          vide ff ;
                          pp Math.Ceil(Math.Ceil(vide)/2);
                          ="" ; for  t=1,pp-do  e.."  "  end 
                          ListBox
                          .AddItem("ListBox2"e..ListBox.GetItemText("ListBox1"bb)); 
                          end 

                          تعليق


                          • #14
                            خلبيطة في العربية
                            ههههههههههههههههههههههههه

                            تعليق


                            • #15
                              مثال عن الكودين

                              http://up.harajgulf.com/do.php?id=992233

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                              يعمل...
                              X