اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ابوخليل

أوفيسنا
  • Posts

    12,457
  • تاريخ الانضمام

  • Days Won

    231

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

  1. ملحوظة : عند فتح المثال لأول مرة يجب ربط الجدول الواجهة بجدول القاعدة الخلفية
  2. تفضل اخي الكريم في المرفق نموذج وجدول يشتمل على حقل واحد سوف يفتح معك خلال الــ 24 ساعة القادمة .. بعدها لن تتمكن من فتح الفورم والبرنامج سوف يغلق تلقائيا كلمة السر لفتح البرنامج تجدها في الجدول .. لذا حاول ان تفك التشفير انتبه !! اذا اختل النص المشفر فلن يمكنك فتح الفورم ايضا ، فقبل العبث به قم بنسخه ولصقه بعيدا كي ترجع اليه عند حاجتك لفتح الفورم الفكرة .. هي ان يكون الفورم هذا هو فورم البداية في النسخة المؤقته .. بعد تجربة العميل وموافقته على شراء البرنامج ترسل اليه نسخة من الواجهات مفتوحة ولا تحتوي على هذا الفورم المشفر ولا جدول التشفير وانما تحتوي على ادوات الحماية المعروفة لعدم استخدام النسخة في اجهزة اخرى . وهذا يعني ان النسخة التجريبية لا تحتوي على اي نوع من انواع الحماية سوى هذا التشفير المثال على صيغة mde المثال المفتوح سوف ارفعه بعد اقتناعك بقوة الحماية مع بساطتها المرفق في آخر مشاركة
  3. الافضل ينقل الموضوع الى القسم المفتوح في الموقع ليطلع عليه اكبر شريحة من مرتادي الموقع ايضا يتم اشعار مدير الموقع للمشاركة وابداء الرأي
  4. لا اعتقد نرجوا من الاخوة الكرام تجربة المثال
  5. اخي احمد للاسف لا يوجد عندي مثال بهذا الخصوص ، ولو كان عندي لم ابخل عليك به ثانيا هذا منتدى تعليمي ، للمساعدة والتعلم ، ولو بدأت بعمله وتصميمه لساعدناك
  6. الاخ الكريم عليك التقيد بقواعد المشاركة لا تدرج اكثر من استفسار او سؤال في موضوع واحد ، واجعل لكل طلب موضوع وعنوان يخصه .
  7. الكود هو المعرف الخاص بالزبون ، يمكن يكون رقم الهوية مثلا لذا المفترض يكون نوعه نصي وليس رقمي فائدة : نستخدم الحقول الرقمية فقط في الحقول التي نريد استخدامها للمبالغ او يدخل فيها العمليات الحسابية جمع وطرح ... الخ وفي مثالك كود الزبون هو للتعريف فقط فالافضل يكون نصي .. مثل حقل الهاتف ( لا نجري عليها عمليات حسابية)
  8. ركب الكلاس اعلاه عندك ثم اجعل بيانات الرسائل هكذا MsgBox cResolve.GetHostNameFromIP("85.10.205.205") MsgBox cResolve.GetIPFromHostName("www.officena.net") ستلاحظ انه يعطي اسم الموقع في الرسالة الاولى بناء على الآيبي المدخل والرسالة الثاني عكس الاولى
  9. الحقيقة لم افهم المطلوب ! كما تعلم يكون التركيز على نموذج واحد ، ولا ادري كيف يمكن تشغيل نموذجين مع بعض
  10. نسيت حاجة تبينها على شان اللي بيعمل لك المعادلة ياخذ باله منها العشرة الاوائل .. هم عشرة طلاب فقط او الى الترتيب العاشر بمعنى يوجد لدينا 10 طلاب كلهم اخذوا المركز الاول مكرر .. تكتفي بهؤلاء ؟ ام يجب ان نأخذ الى المركز العاشر حتى لو بلغوا 100 طالب ؟
  11. شكرا استاذ دربالي على جهودك انا لم اطلع عليه ، ومادام مفتوح المصدر كما ذكرت ، فجميل ان يطلع عليه المتعلم لزيادة معرفته بأمور الحماية
  12. لا مشكلة ولا شيء العدل اساس الحكم كلهم يأخذوا مكرر ... اين المشكلة في ذلك عندي طالبين ( محمد / علي )اخذوا الدرجة نفسها في المركز الثاني ... النتيجة محمد = الثاني مكرر ، علي = الثاني مكرر وهكذا لو تساوى العشرة كلهم في درجة واحدة سيصبحوا كلهم : العاشر مكرر واعطاء الاولوية بالعمر او الابجدية ظلم ... خاصة الابجدية اذا مررنا العمر علما ان الطلبة غالبا متقاربين فالذي سن هذا القانون اسمح لي انه لم يوفق لا باس ان يكون هناك ترتيب في الكشف حسب العمر او الابجدية ولكن ترتيب التقدير تأثيره قوي
  13. نعم ممكن اذكر تم نقاش هذه الفكرة هنا ، فقط ابحث هنا ستجده ان شاء الله
  14. تفضل تجد الطريقة المثلى للعمل على جداول اكسس ابحث بكود العميل 111 .... 112 .... 113 ثم اختر تسديد سجل واحد او اكثر .. وانظر النتيجة في التقرير اتمنى ان يكون هذا المثال خطوتك الأولى للاحتراف printfactur2.rar
  15. المطلوب HostIP اسم المضيف بمعلومية الآي بي واذا شبكة داخلية مطلوب اسم الجهاز بمعلومية IP Address يمكن يوجد اكواد مختصرة تقوم بالمهمة انظروا الى مصنف اكسل يحقق الغرض لقلة خبرتي في اكسل لو احد الاخوة يعدل الكود الى اكسس 42_Lookup_Hostname.xlsm
  16. وجدت لك كلاس يستخرج اسم المضيف من خلال الـــ الآي بي ، والعكس Private Const IP_SUCCESS As Long = 0 Private Const SOCKET_ERROR As Long = -1 Private Const MAX_WSADescription As Long = 256 Private Const MAX_WSASYSStatus As Long = 128 Private Const MIN_SOCKETS_REQD As Long = 1 Private Const WS_VERSION_REQD As Long = &H101 Private Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \ &H100 And &HFF& Private Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF& Private Const WSADescription_Len As Long = 256 Private Const WSASYS_Status_Len As Long = 128 Private Const AF_INET As Long = 2 '// structures Private Type HOSTENT hName As Long hAliases As Long hAddrType As Integer hLength As Integer hAddrList As Long End Type Private Type WSADATA wVersion As Integer wHighVersion As Integer szDescription(0 To MAX_WSADescription) As Byte szSystemStatus(0 To MAX_WSASYSStatus) As Byte wMaxSockets As Long wMaxUDPDG As Long dwVendorInfo As Long End Type '// api 'kernel32 Private Declare Sub apiCopyMemory Lib "kernel32" Alias "RtlMoveMemory" (xDest As Any, xSource As Any, ByVal nBytes As Long) Private Declare Function apiStrLen Lib "kernel32" Alias "lstrlenA" (lpString As Any) As Long 'wsock32 Private Declare Function apiGetHostByName Lib "wsock32.dll" Alias "gethostbyname" (ByVal hostname As String) As Long Private Declare Function apiWSAStartup Lib "wsock32.dll" Alias "WSAStartup" (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long Private Declare Function apiWSACleanup Lib "wsock32.dll" Alias "WSACleanup" () As Long Private Declare Function apiInetAddr Lib "wsock32.dll" Alias "inet_addr" (ByVal s As String) As Long Private Declare Function apiGetHostByAddr Lib "wsock32.dll" Alias "gethostbyaddr" (haddr As Long, ByVal hnlen As Long, ByVal addrtype As Long) As Long '// private functions Private Function InitializeSocket() As Boolean Dim WSAD As WSADATA 'attempt to initialize the socket InitializeSocket = apiWSAStartup(WS_VERSION_REQD, WSAD) = IP_SUCCESS End Function Private Sub CloseSocket() 'try to close the socket If apiWSACleanup() <> 0 Then MsgBox "Error calling apiWSACleanup.", vbCritical End If End Sub Public Function GetIPFromHostName(ByVal sHostName As String) As String 'converts a host name to an IP address. Dim nBytes As Long Dim ptrHosent As Long Dim hstHost As HOSTENT Dim ptrName As Long Dim ptrAddress As Long Dim ptrIPAddress As Long Dim sAddress As String 'declare this as Dim sAddress(1) As String if you want 2 ip addresses returned 'try to initalize the socket If InitializeSocket() = True Then 'try to get the IP ptrHosent = apiGetHostByName(sHostName & vbNullChar) If ptrHosent <> 0 Then 'get the IP address apiCopyMemory hstHost, ByVal ptrHosent, LenB(hstHost) apiCopyMemory ptrIPAddress, ByVal hstHost.hAddrList, 4 'fill buffer sAddress = Space$(4) 'if you want multiple domains returned, 'fill all items in sAddress array with 4 spaces apiCopyMemory ByVal sAddress, ByVal ptrIPAddress, hstHost.hLength 'change this to 'CopyMemory ByVal sAddress(0), ByVal ptrIPAddress, hstHost.hLength 'if you want an array of ip addresses returned '(some domains have more than one ip address associated with it) 'get the IP address GetIPFromHostName = IPToText(sAddress) 'if you are using multiple addresses, you need IPToText(sAddress(0)) & "," & IPToText(sAddress(1)) 'etc End If Else MsgBox "Failed to open Socket." End If End Function Private Function IPToText(ByVal IPAddress As String) As String 'converts characters to numbers IPToText = CStr(Asc(IPAddress)) & "." & _ CStr(Asc(Mid$(IPAddress, 2, 1))) & "." & _ CStr(Asc(Mid$(IPAddress, 3, 1))) & "." & _ CStr(Asc(Mid$(IPAddress, 4, 1))) End Function Public Function GetHostNameFromIP(ByVal sIPAddress As String) As String Dim ptrHosent As Long Dim hAddress As Long Dim sHost As String Dim nBytes As Long 'try to open the socket If InitializeSocket() = True Then 'convert string address to long datatype hAddress = apiInetAddr(sIPAddress) 'check if an error ocucred If hAddress <> SOCKET_ERROR Then 'obtain a pointer to the HOSTENT structure 'that contains the name and address 'corresponding to the given network address. ptrHosent = apiGetHostByAddr(hAddress, 4, AF_INET) If ptrHosent <> 0 Then 'convert address and 'get resolved hostname apiCopyMemory ptrHosent, ByVal ptrHosent, 4 nBytes = apiStrLen(ByVal ptrHosent) If nBytes > 0 Then 'fill the IP address buffer sHost = Space$(nBytes) apiCopyMemory ByVal sHost, ByVal ptrHosent, nBytes GetHostNameFromIP = sHost End If Else MsgBox "Call to gethostbyaddr failed." End If 'close the socket CloseSocket Else MsgBox "Invalid IP address" End If Else MsgBox "Failed to open Socket" End If End Function ' وهنا نستدعيه Dim cResolve As clsResolve Set cResolve = New clsResolve MsgBox cResolve.GetHostNameFromIP("216.239.38.120") MsgBox cResolve.GetIPFromHostName("microsoft.com")
  17. الافضل ترفق مثالك واقتصر فيه فقط على الكائنات والعناصر الضرورية
  18. حبيبينا ابا جودي اسعدك الله ووفقك تعليقي عام وليس لك خاصة .. انظر ما سبق من المداخلات ابشر سوف افرد له موضوعا يخصه
  19. هههههههه استعجلتم على الاستاذ حمدي لسا الفرحة باكتمال البرنامج ما تمت ، اتركوه ياخذ نفسه الاستاذ حمدي رجل طيب كريم ولا نزكي على الله احدا . من وجهة نظري واجهات البرنامج لم تشدني ، ولو اردت تطبيق الفكرة لعملتها بطريقتي ، ولرجعت للروابط التي طرحها وهذا فعلا عملته وستجدون ما يؤكد ذلك مشاركة لي ضمن هذه الروابط استفسر عن مشكلة واجهتني النكتة في الموضوع اني بدأت مع قرب انتهاء الاستاذ حمدي ولكني سبقته وانهيت العمل قبله العمل عبارة عن برنامج لرصد اعمال حلقات تحفيظ ، قائم وموجود ، ادرجت فيه رسائل الواتساب وارسال الشهادات .
  20. تفضل ولكن عليك الصبر دقيقة او دقيقة ونصف حتى يصل الى آخر سجل كلما قلت السجلات كلما كان الانجاز اسرع معرفة الاجهزة على الشبكة .mdb
  21. طريقتك هذه حتتعبك مستقبلا ، لانها هشة انت بحاجة الى الاعتماد على رقم فريد للطباعة وليس خانة نعم / لا .. وسوف اوافيك ان شاء الله لاحقا بتطبيق الفكرة تفضل الآن التعديل حسب طلبك . print factur.rar
  22. هذا تطبيق على الاستعلام ولكن عند فتح الاستعلام انتظر حتى تظهر البيانات ip.mdb
  23. عودا حميدا @ابو جودي ايسر طريقة لحفظ حقوق الطرفين نتبع التالي : 1- نجعل شرط لعمل البرنامج ان يكون الانترنت متصلا بالجهاز . ( على الأقل عند فتح البرنامج ) 1- تقسيم البرنامج الى واجهات وخلفية 2- اجعل في الواجهات في محرر الفيجوال _ شرط _ العمل الى تاريخ محدد ( شهر مثلا ) البرنامج يأخذ التاريخ الدولي من الانترنت .. احتياطا فيما لو تم التلاعب بتاريخ الجهاز ، ومن واقع تجربة قليل من يفعل ذلك لانه يلزمه تغيير التاريخ كلما اراد فتح البرنامج ,,, والمثل يقول ( من عاش بالحيلة مات من الفقر ) 3- بعد الشهر سوف يتوقف البرنامج 4- بيانات العميل المدخلة موجودة عنده 5- نرسل له نسخة من الواجهات مفتوحة ,, لصق في المجلد واستبدال
×
×
  • اضف...

Important Information