مختار حسين محمود قام بنشر مايو 31, 2015 قام بنشر مايو 31, 2015 (معدل) السلام عليكم ورحمة الله وبركاته اليوم أعود إليكم اخوانى بعد غياب بهدية بسيطة لكن قد تصبح جوهرة ثمينة عندك فى يوم ما ده لما ربنا يكرمك وتعمل شركة سوفت وير أو محمول قل إن شاء الله باختصار جُل أمور حياتنا وأعمالنا وأشغالنا كلها بقت بباسورد إما يكون بسيط أو معقد وكلاهما قابل للكسر يعنى مفيش مفر من أخى وأستاذى ياسر خليل لكن الشركات دى بتعمل سريال نمبر ازاى لكل مستخدم ؟ لو الشركة عايزه تعمل سريال يمشى الحال بتستعمل الكود التالى Sub Passwordgenerator() Do 'أمربمعنى افعل ' شرط بمعنى لو كانت الخلية التى بجانب الخلية النشطة مملوءة If ActiveCell.Offset(0, -1) <> "" Then 'ضع المعادلة التالية فى الخلية النشطة ActiveCell.Formula = Chr(Int((26 * Rnd) + 97)) & Format(Int(100000 * Rnd), "00000") 'الانتقال الى الخلايا التالية للخلية النشطة ActiveCell.Offset(1, 0).Select Else 'أيضا لو لم تكن الخلية التى بجانب الخلية النشطة مملوءة Exit Sub 'اخرج من الاجراء End If 'انتهاء جملة الشرط Loop 'استمر End Sub الكود وظيفته توليد سريال حرف عشوائى + رقم عشوائى وأهم ما فيه السطر العبقرى ده : ActiveCell.Formula = Chr(Int((26 * Rnd) + 97)) & Format(Int(100000 * Rnd), "00000") الشرح : Chr دالة النصوص CHAR تعطى حرف عشوائى مساوى لرقم معين Int دالة تقريب لأقرب عدد صحيح 26 عدد حروف اللغة الانجليزية Rnd دالة تعطى رقم عشوائى 97 لجعل الحرف الناتج يكون صغير صمول 65 لجعل الحرف الناتج يكون كبير كبتل اشمعنى الرقم 97 والرقم 65 الرقم 65 يساوى A أول حرف كبتل فى اللغة الانجليزية الرقم 66 يساوى B ثانى حرف كبتل فى اللغة الانجليزية وهكذا الرقم 97 يساوى a أول حرف صمول فى اللغة الانجليزية الرقم 97 يساوى b ثانى حرف صمول فى اللغة الانجليزية وهكذا أعتقد أن الفكرة زادت وضوحا Format(Int(100000 * Rnd), "00000 " هنا نتحكم فى عدد الأرقام التى تلى الحرف العشوائى 4 أو 5 أو 6 ...الخ ببساطة جرب تغيير الأصفار فى الشقين بالزيادة والنقصان ولو الشركة عايزه تحبكها شوية بتعمل ايه ؟ بتغير فى السطر العبقرى تضيف عليه معادلة أخرى مماثلة أو مختلفة مثل : ActiveCell.Formula = Chr(Int((26 * Rnd) + 65)) & Format(Int(100000 * Rnd), "00000") & Chr(Int((26 * Rnd) + 97)) & Format(Int(100000 * Rnd), "00000") أو زى كده : ActiveCell.Formula = Chr(Int((26 * Rnd) + 65)) & Format(Int(100000 * Rnd), "00000") & Chr(Int((26 * Rnd) + 97)) & Format(Int(100000 * Rnd), "00000") & Chr(Int((26 * Rnd) + 65)) & Format(Int(100000 * Rnd), "00000") ولو الشركة عايزه تحبكها شويتين بتعمل ايه ؟ بتغير فى السطر العبقرى وتعمل سريال مجموعات مجموعات مثل : ActiveCell.Formula = Chr(Int((26 * Rnd) + 65)) & Format(Int(1000 * Rnd), "000") & " - " & Chr(Int((26 * Rnd) + 97)) & Format(Int(1000 * Rnd), "000") & " - " & Chr(Int((26 * Rnd) + 65)) & Format(Int(1000 * Rnd), "000") & " - " & Chr(Int((26 * Rnd) + 97)) & Format(Int(1000 * Rnd), "000") ولو الشركة عايزه تعمل سريال مخصوص لأوفيسنا بتعمل ايه ؟ بتغير فى السطر العبقرى وتعمل سريال مجموعات مجموعات وتضع اسم أوفيسنا فيهم زى كده : ActiveCell.Formula = Chr(Int((26 * Rnd) + 65)) & Format(Int(1000 * Rnd), "000") & " - " & Chr(Int((26 * Rnd) + 97)) & Format(Int(1000 * Rnd), "000") & " - " & "officena" & " - " & Chr(Int((26 * Rnd) + 97)) & Format(Int(1000 * Rnd), "000") & " - " & Chr(Int((26 * Rnd) + 65)) & Format(Int(1000 * Rnd), "000") ملحوظة : الكود الأصلى هو المذكور فى بداية الموضوع وهو منقول من مشاركة فى أحد المنتديات الأجنبية أما ما تلاه من أكواد فى ثنايا الشرح هى من وحى الخيال ويمكنك أن تعيد تشكيل السطر العبقرى بالتعديل والاضافة كما تشاء مين بقى هيتفاعل مع الموضوع ويقدم لنا شكل جديد للكود ؟ طبتم وطاب مساءكم والسلام عليكم ورحمة الله Password generator.rar تم تعديل مايو 31, 2015 بواسطه مختار حسين محمود 2
ياسر خليل أبو البراء قام بنشر مايو 31, 2015 قام بنشر مايو 31, 2015 عوداً حميداً أخي الحبيب مختار ونرجو لك مزيد من التوفيق والتميز لا حرمنا الله من روائعك تقبل تحياتي
Yasser Fathi Albanna قام بنشر مايو 31, 2015 قام بنشر مايو 31, 2015 حمدا لله على عودتك بخير لا حرمنا الله من أعمالك أخى الفاضل / مختار جزاك الله خيرا
مختار حسين محمود قام بنشر يونيو 1, 2015 الكاتب قام بنشر يونيو 1, 2015 أخى وأستاذى الفاضل ياسر خليل بارك الله فيكم أخى المهندس الفاضل ياسر فتحى بارك الله فيكم أخى الفاضل أحمد الرشيدى بارك الله فيكم وفى مروركم الكريم 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.