الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تصميم تقرير

مغلق
بدأه mn_902 في 9 نوفمبر 2004 · 16 رد · 3,944 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي مشكلة في التقرير وهي

يوجد لدى برنامج لقاعدة بيانات

توجد بها حقول Yes/No

اريد عندي تصميم التقرير

اذا كان الحقل Yes

يظهر لي علامة صح

وعكسها علامة خطاء

كيف تتم هذه بالكريستال ريبورت

هل استدعي صور للعلامات ام ماذا ؟؟؟

اعتقد انها ب Formula

ولكن لا اعرف الطريقة

وسؤال آخر

اريد ان اتحكم في ابعاد x,y للتقرير

لاني اريد ان اطبع تقرير على Forma جاهزة

وبعض النماذج الجاهزة تكون المحاذة العليا توجد فراغ فيجب ان اصغر x

ليتناسب مع النموذج

ولقد رأيتها في احد البرامج الجاهزة

الرجاء لمن لدية خبرة في الموضوع ان يسعفنا

#2

شباب والله الموضوع في غاية الاهمية بالنسبة لي

اتمنى منكم المساعدة

#3

حقيقةً لم افهم المشكلة(لا أدري هل العيب مني :) )، هل من الممكن أن توضح اكثر حتى استطيع أن أساعد؟

رأس الحكمة الإيمان بالله

#4

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

بعد رجوعي من اجازة عيد الفطر المبارك

كل عام وانتك بخير

ونسئل الله في تقبل صيامنا وقيامنا

اللهم امين

اقتباس
حقيقةً لم افهم المشكلة(لا أدري هل العيب مني  )، هل من الممكن أن توضح اكثر حتى استطيع أن أساعد؟

اعتذر يامحمد في عدم توضيح

السؤال بصيغة اخرى

عندي جدول في قاعدة البيانات ومن ضمن الحقول (Field )

حقل نعم او لا من نوع Boolean

مثلا حقل للذكر وحقل للانثى

اذا كان الشخص ذكر نضع yes

والعكس No

انا الذي اريد عمله عندي ورقة Forma وتوجد به فراغات اريد ان اعبيها من برنامجي

مثلا الاسم والعمر وووووو

ويوجد مربعين اختيار ذكر و انثى

اريد اذا كان في قاعدة البيانات ذكر يظهر لي علامة صح

واذا كان لا يتركها فاضية

كيف اضع علامة صح في التقرير بحثت عنها ولم اجد حل

بالنسبة للسؤال الثاني

وهو مرتبط بالسؤال الاول

الاوراق Foram تأتي من عدة مطابع

وهي كلها A4

في بعض الاحيان تجد الورقة مطبوعة من اليمين محاذاتها صفر بمعنى

انها لاتوجد فراغ على الجهة اليمنى اما اليسرى والعليا والسفلى توجد فراغ بمقدار 2 سانتي

واحيانا تكون مطبوعة من الاعلى بحيث لاتوجد فراغ في الاعلى

***************

وعند طباعتي تتغير اماكن الحقول مع التقرير

فالحل هو ان اتحكم من البرنامج بتغيرر X , Y

ولقد شاهدتها في احد البرامج الجاهزة

اتمنى يا استاذ محمد

ان تجيبني وان لم تفهم السؤال اخبرني

املي في الله ثم فيكم

جزاكم الله خيرا

#5

Sorry i don't have arabic letters in my keyboard. i will try to explain in english

first question:

1. Create Formula

2. in the formula editor write

if fieldname = "Yes" then ChrW(251) else ChrW(88)

3. in your report don't use your original field, but use the formula field you have created.

Second Question:

Yes you can control the posision of the field,

to remove the top space, you need to make remove the page header (make it very small)

then you can make your page detail bigger according to your paper form.

hope this help

#6

مشكورررررررر جدااا

اخي Sadhan20

جاري التجربة واخبارك

#7

الفكرة قريبة جداااااا

ولكن Chrw(251)

ليس علامة صح

وعملت برنامج لكي يعرض الحروف من الصفر الى 255

ولم اجد علامة صح

فهل من مجيب

Dim i As Integer
        For i = 1 To 255
            ListBox1.Items.Add(i & "  = " & Chr(i) & ", ChrW(i)= " & ChrW(i))
        Next
#8

up

#9

للرفع

معقوله ما حد جرب استخدم علامة صح

كم رقك الكود بتاع علامة صح

#10

لا يوجد حسب علمي في ascii أي علامة صح أو خطأ، و الكود الذي أعطاك إياه الأخ وبالتحديد حول chr(88) في الحقيقة ليست علامة خطأ بل هو الحرف اللاتيني x.

بالنسبة ل chr(251 فهو من ضمن Extended Ascii وشكله يقارب علامة الصح ولكنه ليس علامة صح.

Learn Japanese :>>> http://www.nouben.com/

#11

معاك حق اخ هارون

هو الحرف x كبير

طيب ماعندك خلفية كيف اضع علامة صح في التقرير

#12

أقترح عليك أن تجرب إستخدام Unicode، هاهي صفحة ال Unicode قم بالبحث عن العلامة التي تريد وبعد ذلك وبمساعدة الفئة Encoding Class تستطيع وضع تلك العلامة:

http://www.unicode.org/charts/

Learn Japanese :>>> http://www.nouben.com/

#13

هل توصلت الى نتيجة؟ إن وجدت الرمزالذي تريده فقم بحفظ ال Hexadecimal له وقم بإستخدام الكود التالي (إستخدمت في مثالي سهم متجه الى اليمين، وعليك أن تغير فقط الأرقام بالأرقام التي تجدها لرمزي صح وخطأ)، ضع لافتة Label وزر وفي الزر ضع الكود :

Dim HMS As New System.Text.UTF8Encoding
Dim B As Byte() = {&H26, &H1A}
Label1.Text = HMS.GetChars(B)

إستخدمت بمثالي UTF8Encoding (تستطيع تغييره الى Unicode) ولكن عليك ملاحظة بأن الخطوط تقوم أحياناً بتمثيل رمز معين بشكل يختلف عن الخط الآخر،وبعض الخطوط لا تدعم كل الرموز...إن لم تعجبك الطريقة أعلاه، فيمكنك الذهاب الى برنامج ال Word واذهب الى القائمة Insert ومن هناك قم بإختيار Symbol، قم بإختيار أحد الخطوط التالية (وهي خطوط تأتي مع الويندوزXP وأعتقد بأنها تأتي مع كافة الإصدارات):

Wingdings

Wingdings 1

Wingdings 2

ثم قم بإستعراض الشكل الذي تريد ومن Character Code قم بحفظ الرقم ووضعه في كود برنامجك.

هذا مثال بسيط إستخدمت فيه نفس الطريقة، قم بوضع لافتتين وضع زر واكتب في كوده التالي:

Dim myFont As Font
myFont = New Font("Wingdings 2", 22)
Label1.Font = myFont
Label2.Font = myFont
Label1.Text = Chr(82)
Label2.Text = Chr(81)

تجد في الخطوط أعلاه علامة صح وخطأ من دون صندوق، إستعرض الخطوط ورموزها كما بينت أعلاه.

أرجو أن أكون قد أفدتك، وللأسف لا أعلم غير هاتين الطريقتين لوضع صح وخطأ في البرنامج.

Learn Japanese :>>> http://www.nouben.com/

#14

لقد وجدت لك علامتي الصح والخطأ في ال Unicode، وهما علامتان تأتيان في صندوق (إن لم ترغب بالصندوق فحاول أن تجد دونه، يوجد بالتأكيد في ال Unicode).

ضع لافتتين Label وزر، وفي كود الزر أكتب الكود التالي:

Dim HMS As New System.Text.UnicodeEncoding
Dim B As Byte() = {&H11, &H26}
Dim C As Byte() = {&H12, &H26}
Label1.Text = HMS.GetChars(B)
Label2.Text = HMS.GetChars(C)

Learn Japanese :>>> http://www.nouben.com/

#15
Dim myFont As Font
myFont = New Font("Wingdings 2", 22)
Label1.Font = myFont
Label2.Font = myFont
Label1.Text = Chr(82)
Label2.Text = Chr(81)

الله عليك ياهارون يا ياباني

جزاك الله خيرا

هذه الطريقة اشتغلت معاي

حيث انشأت Formula ووضعت الشرط

وبعد كذا غيرت خصائص الخط الى Wingdings

و الحمدالله ظهرت عملية صح

وفقك الله يا هارون

فعلا انقذتني من هذه المشكلة التي عجزت عنها

والان سأكمل مشروعي

#16

فقط للتوضيح، لقد كتبت كود اليونيكود اعلاه بشكل سيء بسبب الكسل، فمثلاً تجد في وثائق اليونيكود البايت لإشارة صح بشكل عكس ما أوردته، أي بشكل التالي:

&H26, &H11

هاهو الكود الأفضل (بحيث نجبر ما يسمى بال BigEndian):

Dim HMS As New System.Text.UnicodeEncoding(True, False)
Dim B As Byte() = {&H26, &H11}
Dim C As Byte() = {&H26, &H12}
Label1.Text = HMS.GetChars(B)
Label2.Text = HMS.GetChars(C)

Learn Japanese :>>> http://www.nouben.com/

#17

بارك الله فيك اخوي هاروووووووووون

هذا الموضوع مغلق.

مواضيع مشابهة