Debug Ace
عضو جديد 01-
Posts
47 -
تاريخ الانضمام
-
تاريخ اخر زياره
السمعه بالموقع
21 Excellentعن العضو Debug Ace

البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
DebugAce
-
البلد
-
الإهتمامات
اخر الزوار
217 زياره للملف الشخصي
-
فى غياهب الحياة بكل صراحة تم انجاز العمل عقب صلاة الفجر وقبل توجهى الى العمل مباشرة ونظرا لضيق الوقت آنذاك لم انتبه الى هذه النقطة كان كل تركيزى منحصرا فى نقل خصائص زر الامر شكل الشيب والتدرج الونى ولا اعرف ما السبب الذى جعلنى افكر واصارع افكارى لتحقيق هذه النقطة خصيصا يالهنائى وسعادتى الغامرة ان يقوم احد اعمدة المنتدى الرواسخ بتفنيد عملى وتصحيحه جزاكم الله خيرا
- 11 replies
-
- themes
- formtemplate
-
(و2 أكثر)
موسوم بكلمه :
-
فقط سوف تقوم بتصميم قالب لمرة واحدة فقط وتستخدمه طول العمر ويمكنك التبديل بين القوالب حتى ان الكود يتعامل مع ازرار الاوامر بشكل خاص لتوريث الشيب والتدرج اللونى ان وجد و ... يعنى الفكرة دى اتنين X واحد تعين قالب رئيسي وادارة ثيمات بقوالب محتلفة وما اظنش ان ان الفكرة بالالية دى تم مشاركتها او عرضها لا فى المنتدى ولا حتى فى مواقع الانترنت العربية او الاجنبية.... والله اعلم
- 11 replies
-
- themes
- formtemplate
-
(و2 أكثر)
موسوم بكلمه :
-
انا منبهر بس مش من البذرة ولا حتى من الفكرة انا منبهر من الطرح والرد صمم اى نموذج وابدأ فقط تسميته بـ : frmTemplate ثم اكمل برقم او اى شئ اخر كما يحلو لك ممكن مثلا يكون : frmTemplateDarkMode فى هذا النموذج حدد اللالوان لجميع العناصر كما تريدها ان تضاهى الـ : Dark mode حسب مخيلتك وحدد الخصائص العامة التى تريد تورثيها لباقى نماذج القاعدة كرر نفس الخطوات بعمل نموذج واعطه الاسم : frmTemplateLightMode فى هذا النموذج حدد اللالوان لجميع العناصر كما تريدها ان تضاهى الـ : Light Mode حسب مخيلتك وحدد الخصائص العامة التى تريد تورثيها لباقى نماذج القاعدة الان مع قالبين يمكن اختيار احدهم كرئيسي وتوريث خصائصة الى باقى نماذج القاعدة واضف من القوالب ما شئت يعنى الفكرة بالفعل موجودة فى المرفق البذرة تم زرعها وتمت ايضا عملية حصاد ثمارها
- 11 replies
-
- 1
-
-
- themes
- formtemplate
-
(و2 أكثر)
موسوم بكلمه :
-
السلام عليكم ورحمة الله وبركاته اسعد الله صباحكم استاذ الكود المستخدم داخل النموذج الرئيسي لادارة القوالب Option Compare Database Option Explicit '============================= ' إعدادات عامة '============================= Private Const TemplateFormPrefix As String = "frmTemplate" Private Const TemplateComboName As String = "cboFormsTemplateName" Private TemplateFormManager As String Private TemplateSnapshot As Object Private Sub Form_Load() TemplateFormManager = Me.Name FillTemplateCombo End Sub Private Sub FillTemplateCombo() Dim i As Long, ao As AccessObject, rs As String, ctl As Control Set ctl = Me.Controls(TemplateComboName) ctl.RowSourceType = "Value List": ctl.RowSource = "" For i = 0 To CurrentProject.AllForms.Count - 1 Set ao = CurrentProject.AllForms(i) If ao.Name Like TemplateFormPrefix & "*" And ao.Name <> TemplateFormManager Then rs = IIf(ctl.RowSource = "", ao.Name, ctl.RowSource & ";" & ao.Name) ctl.RowSource = rs End If Next i End Sub Private Sub cboFormsTemplateName_AfterUpdate() Dim cbo As Control Set cbo = Me.Controls(TemplateComboName) If IsNull(cbo.Value) Then Me.frmChild.SourceObject = "" Else Me.frmChild.SourceObject = cbo.Value End If Me.frmChild.Requery End Sub '============================= ' تعيين قالب النماذج الافتراضي '============================= Public Sub SetFormTemplateName(ByVal templateFormName As String) On Error GoTo ErrHandler Application.SetOption "Form Template", templateFormName Exit Sub ErrHandler: MsgBox "خطأ في تغيير Form Template: " & Err.Number & " - " & Err.Description, vbExclamation End Sub Private Sub cmdApplyTemplate_Click() Dim cbo As Control Set cbo = Me.Controls(TemplateComboName) If IsNull(cbo.Value) Then MsgBox "اختر قالب أولاً" Exit Sub End If SetFormTemplateName cbo.Value PropagateTemplate cbo.Value MsgBox "تم تطبيق القالب على جميع النماذج" End Sub '============================= ' دوال مساعدة عامة '============================= Private Function GetSectionIndex(sec As Integer) As Long GetSectionIndex = sec End Function Private Function GetControlTypeName(ctrlType As Integer) As String Select Case ctrlType Case acTextBox: GetControlTypeName = "TextBox" Case acLabel: GetControlTypeName = "Label" Case acComboBox: GetControlTypeName = "ComboBox" Case acCheckBox: GetControlTypeName = "CheckBox" Case acCommandButton: GetControlTypeName = "CommandButton" Case acOptionButton: GetControlTypeName = "OptionButton" Case acToggleButton: GetControlTypeName = "ToggleButton" Case acListBox: GetControlTypeName = "ListBox" Case acSubform: GetControlTypeName = "Subform" Case acTabCtl: GetControlTypeName = "TabControl" Case Else: GetControlTypeName = "Other" End Select End Function ' قائمة الخصائص المسموح نسخها لكل نوع كنترول Private Function GetAllowedProps(ctrlTypeName As String) As Variant Select Case ctrlTypeName Case "TextBox" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "TextAlign", "BorderColor", "BorderStyle") Case "Label" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "TextAlign", "BorderColor", "BorderStyle") Case "ComboBox" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "BorderColor", "BorderStyle") Case "CheckBox", "OptionButton", "ToggleButton" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight") Case "ListBox" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "BorderColor", "BorderStyle") Case "CommandButton" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "QuickStyle", "Shape", "BackShade", _ "BackTint", "Gradient", "Glow", "Shadow", "SoftEdges", _ "Width", "Height") Case "Subform" ' لا نقترب من مصدر الكائن أو روابط الحقول GetAllowedProps = Array("BackColor", "BorderColor", "BorderStyle", "SpecialEffect") Case Else GetAllowedProps = Array() ' لا نغيّر شيء End Select End Function '============================= '============================= ' التقاط خصائص القالب (Snapshot) Public Function GetTemplateSnapshot(frmName As String) As Object Dim snap As Object Dim f As Form, ctl As Control, p As Property Dim secIndex As Integer, s As Section Set snap = CreateObject("Scripting.Dictionary") snap.Add "Form", CreateObject("Scripting.Dictionary") snap.Add "Sections", CreateObject("Scripting.Dictionary") snap.Add "ControlStyles", CreateObject("Scripting.Dictionary") DoCmd.OpenForm frmName, acDesign, , , , acHidden Set f = Forms(frmName) ' خصائص النموذج For Each p In f.Properties On Error Resume Next snap("Form")(p.Name) = p.Value On Error GoTo 0 Next ' خصائص السيكشن For secIndex = 0 To 5 On Error Resume Next Set s = f.Section(secIndex) If Err.Number = 0 Then Dim secSnap As Object Set secSnap = CreateObject("Scripting.Dictionary") For Each p In s.Properties On Error Resume Next secSnap(p.Name) = p.Value On Error GoTo 0 Next snap("Sections").Add CStr(secIndex), secSnap End If Err.Clear Next ' أنماط الكنترولز لكل سيكشن/نوع (واحد قالب لكل نوع/سيكشن) Dim secKey As String, ctrlTypeName As String Dim secDict As Object, styleDict As Object Dim allowedProps As Variant, propName As Variant For Each ctl In f.Controls ctrlTypeName = GetControlTypeName(ctl.ControlType) allowedProps = GetAllowedProps(ctrlTypeName) If Not IsEmpty(allowedProps) Then secKey = CStr(GetSectionIndex(ctl.Section)) If Not snap("ControlStyles").Exists(secKey) Then Set secDict = CreateObject("Scripting.Dictionary") snap("ControlStyles").Add secKey, secDict Else Set secDict = snap("ControlStyles")(secKey) End If ' أول كنترول من هذا النوع/السيكشن يصبح Template If Not secDict.Exists(ctrlTypeName) Then Set styleDict = CreateObject("Scripting.Dictionary") For Each propName In allowedProps On Error Resume Next styleDict(propName) = ctl.Properties(propName) On Error GoTo 0 Next secDict.Add ctrlTypeName, styleDict End If End If Next DoCmd.Close acForm, frmName, acSaveNo Set GetTemplateSnapshot = snap End Function '============================= '============================= ' تطبيق Snapshot على نموذج واحد Public Sub ApplySnapshot(targetForm As String, snap As Object) Dim f As Form, ctl As Control Dim k As Variant, p As Variant Dim secIndex As Variant, sec As Section Dim secKey As String, ctrlTypeName As String Dim secDict As Object, styleDict As Object Dim allowedProps As Variant, propName As Variant DoCmd.OpenForm targetForm, acDesign, , , , acHidden Set f = Forms(targetForm) ' 1) خصائص النموذج For Each k In snap("Form").Keys On Error Resume Next f.Properties(k) = snap("Form")(k) On Error GoTo 0 Next ' 2) خصائص السيكشن For Each secIndex In snap("Sections").Keys On Error Resume Next Set sec = f.Section(CLng(secIndex)) If Err.Number = 0 Then For Each p In snap("Sections")(secIndex).Keys On Error Resume Next sec.Properties(p) = snap("Sections")(secIndex)(p) On Error GoTo 0 Next End If Err.Clear Next ' 3) أنماط الكنترولز For Each ctl In f.Controls ctrlTypeName = GetControlTypeName(ctl.ControlType) allowedProps = GetAllowedProps(ctrlTypeName) If Not IsEmpty(allowedProps) Then secKey = CStr(GetSectionIndex(ctl.Section)) If snap("ControlStyles").Exists(secKey) Then Set secDict = snap("ControlStyles")(secKey) If secDict.Exists(ctrlTypeName) Then Set styleDict = secDict(ctrlTypeName) ' تطبيق الخصائص المسموحة For Each propName In allowedProps If styleDict.Exists(propName) Then On Error Resume Next ctl.Properties(propName) = styleDict(propName) On Error GoTo 0 End If Next End If End If End If Next DoCmd.Close acForm, targetForm, acSaveYes End Sub '============================= '============================= ' تطبيق القالب على كل النماذج Public Sub PropagateTemplate(templateName As String) Dim ao As AccessObject Set TemplateSnapshot = GetTemplateSnapshot(templateName) For Each ao In CurrentProject.AllForms If Not ao.Name Like TemplateFormPrefix & "*" Then If ao.Name <> TemplateFormManager Then ApplySnapshot ao.Name, TemplateSnapshot Else End If Else End If Next End Sub '============================= اضف اى نماذج كقوالب افتراضية على ان تبدأ بـ : frmTemplate النموذج الرئيسي لادارة لاختيار وادارة القوالب : frmTemplateManager عند فتح النموذج سوف يتم جلب واحضار اى نماذج قوالب افتراضية يبدأ اسمها بـ : frmTemplate ويتم ملئ مربع التحرير والسرد بهذه الاسماء وظيفة مربع التحرير والسرد : استعراض القوالب بمجرد اختيار اى قالب يتم معاينته فى الرئيسية طيب فى حالة تحديد قالب باختيارة من مربع السرد بعد الضغط على زر امر التطبيق يتم تمرير اسم النموذج : الى الاعدادت ليتم تحديدة كقالب اساسى كما فى الصورة التالية وكذلك يتم عمل دوران على كل النماذج فى قاعدة البيانات لاستنساح حصائص النموذج الذى تم اختياره كقالب مفضل وتطبيق هذه الخصائص على جميع النماذج صورة من نمورج ادارة القوالب اتفضل المرفق استاذ Mont_FormsTemplatePart02.zip
- 11 replies
-
- themes
- formtemplate
-
(و2 أكثر)
موسوم بكلمه :
-
يصنع البشر ما يعجز عنه الاداوت التى هى من صنع البشر ففى النهاية البشر هم من صنع الله تعالى لا تترك الموضوع قبل تحمد الله و تقول سبحانك اللهم لا علم لنا الا ما علمتنا انك انت العليم الحكيم قال تعالى بسم الله الرحمن الرحيم {ولقد كرمنا بني آدم وحملناهم في البر والبحر ورزقناهم من الطيبات وفضلناهم على كثير ممن خلقنا تفضيلا} (الإسراء:70) {لقد خلقنا الإنسان في أحسن تقويم} (التين:4) صور التجربة بعد التصغير بعد عمل نقر الكليك الايمن من زر الماوس على ايقونة التطبيق واجهة التطبيق بعد الاستعادة سواء باختيار الامر استعادة من القائمة او من خلال النقر المفرد من زر الماوس الايسر واخيرا اثبات العمل من النواة x64 اتفضل المرفق systray Moosak.zip
-
نعم أعرف ذلك لا استطيع للاسف لان اى اداة هى مجرد وفقط الة تقليد لغوي ليست مفسر كود بل مولد نصوص احتمالي وعليك ان تغذيها مسبقا بجميع الحالات وكل الاحتمالات ان استطعت حصرها الحل الوحيد : على المبرمج ومطور النظم ان يعلم نفسه دائما ويحدث معلوماته ويتعلم ان يفكر ويحول افكارة الى واقع ما يخص الكود من ناحية السياق البرمجى هو ما سوف يتعلمة المطور نظريا ويثقل به خبراته لنفسه وبنفسه عمليها وبناء عليه كلما زادت حصيلة معلوماته و كلما توسعت مداركة وافكاره يستطيع تحويل اى شئ من مجرد فكرة الى كواد و واقع ملموس لذلك أى اداة بدون علم بلا قيمة... نقطة ومن أول السطر
-
موضوعاتك شيقة وغاية فى الروعة استاذ اتعلم منكم دائما كل الشكر والتقدير هل يمكن ان اساهم فى التطوير بعد اذن حضرتك
- 11 replies
-
- themes
- formtemplate
-
(و2 أكثر)
موسوم بكلمه :
-
دعنى انا اذكر او ابصرك بما تتجاهله متعمدا اوليست هذه الخيارات من صميم عمل هذه الاداة الجبارة ثم اين اجابتك على هذه النقاط تحديدا من واقع مرفقك الذى تم تعديلة من هذه الاداة الخرافية لم تجبنى عمدا ام تجاهلا ؟
-
الاداة بوجه خاص فشلت فى تصحيح اى كواد تحويل اى كود وإلا فقط أعد المرفق محولا للعمل بتكامل مع الانوية المختلفة من واقع الاداة والتى من المفترض انها تقوم بهذا العمل اساسا دعك من الذهاب لاداوت خارجية لطلب بدء التصميم من البداية ما تزعل حالك والان صار الموضوع تحدى مع هذه الاداة خصيصا ولا نريد اى زيادات ولا كرم مبالغ فيه فقط يرجى تحقيق الهدف المنشود منها
-
ممتااااااااز استااااااااااااااااااااذ بجد بارك الله فيك
- 11 replies
-
- 1
-
-
- themes
- formtemplate
-
(و2 أكثر)
موسوم بكلمه :
-
بعد تجربة مرفقك على نظام ذو نواة x64 بعد اتمام عملية التصغير الى جوار الساعة وبعد محاولة استرجاع نافذة التطبيق واعادة تكبيرها وعندما يصدمك الواقع فى فشل الاستعادة توجه الى الـ Task manager وقم باغلاق تطبيق الاكسس قسرا لانه الان عالق فى الخلفية والقاعدة لا تزال مفتوحة
-
انت متأكد انك قمت بتجربة المرفق بشكل جيد مش هتطرق لموضوع التصغير مع او بدون الاخفاء سأمر مرور الكرام على هذه الجزئية ولكن : هل تم التصغير بجوار ساعة النظام ؟ اعرف اجابتك بكل سرور سوف تكون نعم ولكنك لم تنتصر ! اعد استرجاع كامل التطبيق بأحد الطريقتين من جوار الساعة مرة أخرى 1- كليك يمين هل ظهرت معك قائمة ؟؟؟ 2- كليك يسار هل بهذه النقرة المفردة فقط عاد التطبيق مره أخرى وتم استرجاعة ؟ بكل اسف انا اقول لك لا ولو حاولت معه 100 ملوين محاولة مش محاولتين فقط لن يحل لك هذه المشاكل طبعا المشاكل هذه لنت تحدث مع اصدار نواة x32 لاننا اتفقنا ان الكود فى الاساس يعمل مع هذه النواة دوننا أى مشاكل تذكر ولكن تحدص هذه المشاكل مع النواة ذات الاصدار x64 منتظر ردك بخصوص هذه الجزئية ؟ اعد استرجاع كامل التطبيق بأحد الطريقتين من جوار الساعة مرة أخرى 1- كليك يمين هل ظهرت معك قائمة ؟؟؟ 2- كليك يسار هل بهذه النقرة المفردة فقط عاد التطبيق مره أخرى وتم استرجاعة ؟ والاهم من ذلك اعرض عليه الاكواد تباعا واخبرة ان يتعلم سياق الكود وسيناريو العمل واخبرة بعد ان فهمت السيناريو والسياق هل تستطيع عمل المشروع من البداية بدون تعديلات على القديم لتفادى اى مشاكل جرب وايضا فى انتظار ردك محلوظة أخيرة للتوضيح : الموضع ليس تحدى ولا فيه شئ يذكر من رائحة التحدى حتى لا انت الذكاء الاصطناعى ولا انا اتحداك ردى كان فقط نتيجة تجربة فى موضوع مطروح لا اكثر من ذلك ولا اقل وفى ردى قلت انها وجة نظرى القاصرة الموضوع فقط للوقوف على حقيقة واحدة ينكرها الكثيرون وهى : اداوت الذكاء الاصطناعى ليست محررات أو مفسرات أكواد بل هل مجرد وفقط مولدات نصوص احتمالية اداوت الذكاء الاصطناعى لا يتم الاعتماد عليها كليا على وجه العموم ولا يتم الوصول معها الى نتائج صحيحة فى كل الاوقات عند تعديل الاكواد حتى لو كانت الاكواد القديمة فعالة وتعمل بنجاح
-
💥 التحدي 1 :- التعامل مع الجداول وخصائصها .
Debug Ace replied to Foksh's topic in قسم الأكسيس Access
وبما ان لكل عضو عدد 3 محاولات انا سوف أكتفى بمحاولة أخرى جداول مصنع تقنى - 2.accdb -
💥 التحدي 1 :- التعامل مع الجداول وخصائصها .
Debug Ace replied to Foksh's topic in قسم الأكسيس Access
حاولت بقدر المستطاع الموضوع صعب بدون اكواد جداول مصنع تقنى.accdb -
دعوة لتجربة تعديل المرفق التالى من هذه الاداة او من غيرها او حتى اعادة التصميم من البداية بعيد عن هذه الافكار او الاكواد المستخدمة للعلم مصدر المثال : https://www.codekabinett.com/page.php?Theme=10&Lang=1#SystraySample systray.zip