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

هذا الكود يحتاج لكثير من الذكاء وقليل من العمل

مغلقرائج
بدأه المهنا في 21 فبراير 2005 · 50 رد · 6,971 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#27

:wacko: :wacko: :wacko: :wacko:

:wacko: :wacko:

:wacko:

:s :s :s :s :s :s :s :s

----------------------------------------------------------------------------

أما بعد...

أنت تريد رقم استدعاء. رقم الاستدعاء يجب أن يكون ثابت. أليس هو ما تسميه Primary Key أو المفتاح الأساس؟ أظن أنك تريد صنع برنامج مكتبي،

أ-

فرضا أنا استلفت منك كتاب (الحيوان) للجاحظ صاحب الرقم 2-000003 لمدة أسبوع. وفي اليوم التالي حذفت أنت يا مدير المكتبة كتاب (البخلاء) للجاحظ لأنك لم تعد لديك أية نسخ منه ولا تريد أن تشتري منه زيادة! فحذفت رقمه وكان 2-00001! رجعت أنا لأرجع كتاب (الحيوان) وقلت لي ماهو الرقم، وسأقول لك: 2-00003 عندها تبحث في الحاسب (باستعمال رقم الاستدعاء) فتجد كتاب آخر لأن السلسلة تغيرت! لأن كتاب (الحيوان) أصبح بالرقم 2-00002! هل هذا ما تريد؟

ب-

أم أنك تريد هذا، أن يتم حذف كتاب البخلاء وتصبح السلسلة هكذا

2-00001 لا يوجد شيء! (محذوف) 2-00002 (كتاب آخر للجاحظ) 2-000003 كتاب الحيوان

وجاء اليوم التالي لتضيف كتابا أدبيا جديدا فيبحث النظام عن أول خانة فارغة، وهي طبعا 2-00001! وتصبح السلسلة:

2-00001 كتاب جديد 2-000002 (كتاب آخر للجاحظ) 2-000003 كتاب الحيوان

ما الذي تريد (أ) أم (ب)؟

#28

الف شكر للاخ أبومازن

على التوصيف الرائع للمشكلة باحسن مما وصفتها انا صاحبها

انا اريد الطريق "ب"

ب-

أم أنك تريد هذا، أن يتم حذف كتاب البخلاء وتصبح السلسلة هكذا

2-00001 لا يوجد شيء! (محذوف) 2-00002 (كتاب آخر للجاحظ) 2-000003 كتاب الحيوان

وجاء اليوم التالي لتضيف كتابا أدبيا جديدا فيبحث النظام عن أول خانة فارغة، وهي طبعا 2-00001! وتصبح السلسلة:

2-00001 كتاب جديد 2-000002 (كتاب آخر للجاحظ) 2-000003 كتاب الحيوان

#29

الحمدلله،

لكن ياأخي شرحُك للمشكلة في الرد رقم 24 كان يصف الطريقة أ:

اقتباس
يعني اريد لو اضفت الف كتاب في نفس الفئة "الادب" يعطيني الارقام من (00001-8) الى (01000-8)

ولو قمت بحذف الكتب العشرة ذات الارقام (00001-8) و(00011-8)و(00055-8)و(00881-8)و(00061-8)و(00391-8)و(00731-8)و(00991-8

)و(00454-8)و(00999-8)

وقمت بفرز جميع الارقم لا تطلع لى كل الارقام (00001-8) الى (01000-8) مخصوم منها الارقام العشر

وانما تطلع لى الارقام من (00001-8) الى (00990-8) لان الارقام الموجودة اخذت الارقام المحذوفه مثل ارقام التسلسل في التقارير

فلو كنت تقصد (أ) لأصبح سؤالك يحتاج لقليل من الذكاء وكثير من العمل (الردود كثيرة) ولضاع مجهود شوقي والأعضاء!

لكنك وضحت أنك تريد (ب) فلم يذهب عمل شوقي هباء منثورا!

تم تعديل هذه المشاركة بواسطة أبومازن في 30 مارس 2005 في 05:19

#31

إليك الحل:

مثلا كتب الأدب تبدأ من رقم 8000001

start=8000001
end = 9000000
For i=start to end
إذا كان السجل صاحب رقم الاستدعاء ( i  )
 غير موجود إذن اخرج من هذا الدائرة!  (دبر نفسك واقرأ من قاعدة البيانات بنفسك باستخدام الأوامر المناسبة) !!
Next i

textFiled.text = i

طبق هذه الشفرة في برنامجك! لا أعتقد أنها ستكون معضلة!

#33

ضع هذا في زر إضافة كتاب جديد، والمتغير i هو رقم الكتاب الجديد!

#42

أخي الكريم

لماذا تصعب على نفسك الجهد والعناء ؟؟؟

يمكنك حل هذا الموضوع بشكل مبسط ... كمايلي :

بما أن برنامجك يعتمد على قاعدة بيانات فيمكنك عمل جدول ماستر به الرقم , الإسم >> الرقم يعود إلى رقم الفئة والإسم إلى إسم الفئه

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

في بداية تنفيذ البرنامج تقوم بتحميل جميع أسماء الفئات في الكمبو بوكس وعند الحدث كليك للكمبو تقوم بعمل بحث عن الإسم وأخذ رقمة ثم تقوم بعمل جمله سيليكت لكل الكتب التي لها هذا الرقم من حقل رقم الفئه في جدول الكتب تصاعدي ومن ثم جمله وايل لكل المدخلات للتأكد من أن الأرقام متتاليه - لم يتم حذف أي مدخل - ومن ثم عمليه وضع أصفار قبل الرقم الجديد

أكيد مافهمتوا شي بس هيك الحل :)

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#44

بسم الله الرحمن الرحيم

البرنامج الذي تريد حله ليس بحاجة إلى ذكاء يا أخي بل بحاجة إلى بعض القراءة

أخي الكريم الحل يتمثل في إنشاء جدول جديد في قاعدة البيانات نضيف عليه بعض الحقول مثل

CREATE TABLE [BookNumber]
(
	[BookNumber] 	INT 	NOT NULL IDENTITY (1, 1)
				CLUSTERED,
	[CategoryID]	INT  	NOT NULL,
	[BookID]		INT  	NULL 
               CONSTRAINT [U_TapeContents] UNIQUE CLUSTERED 
	(
		[BookID],
		[CategoryID]
	)
GO

عملية الحذف:

عند حذف أي كتاب نأتي إلى الحقل الذب أطلقنا عليه أسم BookID ونفوم بتصفيره

عملية الإضافة:

نقوم بإختبار عن داخل محتويات الجدول عن وجود أي قيمه تحوي صفر ضمن الحقل الذي قمنا بتسميته BookID إذا كان هناك حقول ونختار الأول دائماً

نقوم بعملية فورمات لنص أثناء عملية الطباعة داخل الكومبو نضع رقم الكتاب + - + BookNumber

ولم يتبقى سوى إضافة الكود البسيط

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#45
اقتباس
البرنامج الذي تريد حله ليس بحاجة إلى ذكاء يا أخي بل بحاجة إلى بعض القراءة

مع الف شكر لك اخي العزيز

البرنامج يحتاج للذكاء والدليل ان المشاركة مسجلة من حوالى سنة من تاريخ

Feb 21 2005, 09:46 PM مشاركة #1

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

دليل صعوبة هذا الكود

المطلوب مقنن جدا وصعب

مع الشكر للجميع

#46

المطلوب بعد التعديل : لا علاقة لكم بالرقم هذا الذي في أقصى يسار التكست الرقم الذي عليه الطلب هو الاربع خانات فقط الاخيرة اريد عند اختيار الفئة من الكامبو بوكس يجلب لي آخر رقم في الفئة + 1 ويضعه في التكست

فمثلا

لو ان عندي في المكتبة الكتب ذات الارقام التالية في فئة الادب

8-0001
8-0002
8-0003
8-0004
8-0005
8-0006
8-0007
8-0008

واردت اضافة كتاب جديد اضغط على توليد الرقم

لياتيني باخر رقم مسجل وهو 8-0008 + 1

ليتكون عندي في التكست الرقم

8-0009

_____________________________.rar

#47

تفضل اخي أتمنى ان يفي بالمطلوب

Mohana.zip

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#48
اقتباس
هذا الكود يحتاج لكثير من الذكاء وقليل من العمل

نعم كما قلت قيل سنة

هل تعلمون ماهو الكود الذي اريده

تفضــــــــــــــــــــــــــــــــــــــــــــــــــــــلوووووووووووووووووووووووووو

مع الدعاء الخالص للعماني بارك الله فيه وفي أهله

آمييييييييييييييييييييييييييييييييييييييييييييييين

Dim MyNo As Long

 If Rs.State = 1 Then Rs.Close
 'هنا البحث عن اخر رقم في الفئة
 Rs.Open "Select Max (Book_No) as Book_No from Books Where Sec_No = " & Combo15.ListIndex & ";", Cn, adOpenStatic, adLockOptimistic
 'هنا التحقق من أن البرنامج وجد اخر رقم فان وجده يزيد واحد
 'وإلا فيقوم بعملية التركيب من واحد
 If Rs.RecordCount < 1 Or IsNull(Rs.Fields(0)) = True Then
  MyNo = 1
 Else
  MyNo = (Rs.Fields(0) + 1)
 End If
 'وضع النتيجة في التكست
     Text16.Text = Combo15.ListIndex & "-" & (Format(MyNo, "0000

"))

الف شكر اخي العماني نعم الف شكر والشكر لك قليل

تم تعديل هذه المشاركة بواسطة المهنا في 11 ديسمبر 2005 في 18:33

#49

مبرووووووووووووووووووووووووووووووووووك،، ألف ألف مبرووووووووووووووووووووووووك،، والله فرحتلك..

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…