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

SEMO.Pa3x

الخبراء
  • Posts

    540
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    11

كل منشورات العضو SEMO.Pa3x

  1. ضع الصور في الجدول على شكل مرفقات. حسنين Materials_With_Images.rar
  2. بالنهاية كلها استعلامات ولا فرق بينهما في السرعة. اما دقة البيانات فهذا الامر راجع لك، اذا قمت ببناء الاستعلام بالشكل الصحيح مهما كان نوعه ستحصل على بيانات صحيحه والعكس. حسنين
  3. ممكن تقوم برفع الصور.
  4. اهلا استاذ @رمهان شكرا لكلامك الجميل. لا يقبل ذلك وستظهر لك رسالة الخطأ، جرب بنفسك لكي ترى النتيجة. لحد الان لم ندخل في الحماية الثانية وهي ( الحماية على قطع الجهاز ) (رقم الهارد, رقم المذربورد , رقم البروسيسور , رقم الماك أدريس ) تحياتي لك حسنين
  5. وعليكم السلام, ارفق القاعدة لكي نتمكن من مساعدتك. حسنين
  6. اذا بقيت المُشكلة , ارفق القاعدة لكي نتمكن من مساعدتك. حسنين
  7. اخي المثال الذي ارفقته لك هو الحل الامثل والصحيح. اما ان تضع الصور بداخل القاعدة فهذا خطأ خطأ خطأ بل وخطأ كبير جدا لانك ستقوم بزيادة حجم القاعدة وبالتالي ما ان يصل الحجم الى 2 كيكا بايت ستنغلق القاعدة ولا تقبل استقبال اي معلومة وستصبح ثقيلة جدا قم بوضع الصور خارج القاعدة مثل ما وضحت لك في مثالي
  8. @وائل أبو عبد الرحمن تفضل طلبك عزيزي. بالتوفيق. حسنين بحث.accdb
  9. تفضل كتبت لك مثال سريع وخالي من التعقيدات. حسنين SEMO_Pa3x.rar
  10. اهلا عزيزي, قاعدة البيانات المرفقة كانت للتوضيح لا اكثر. يمكنك عمل زر او اي شي تريده. بكل بساطة يمكن عمل يوزر في الجدول اسمه مثلا الدعم الفني وسادع برنامجي كل ما قمت بتشغيله يتحقق من هذا اليوزر فان لم يجده ينشأه مرة اخرى او قمت بتعديل كلمة المرور الخاصة به سوف يقوم بارجاع الاصلية. يمكنك الحصول عليها بتمرير كلمة السر الموجودة في الجدول على الفنكشن الذي يسمى XorDecrypt وسيقوم هو بدوره بأرجاع الباسورد مفكوك التشفير يمكنك عرضه بأي طريقة تحب مثلا MessageBox او في TextBox. حسنين لا شيء يخلوا من الحماية وان لم تستخدمها اليوم ستستخدمها غدا. ليس من مصلحة مايكروسوفت او اي شركة اخرى ان تصمم حماية لا يمكن التغلب عليها والا ستخسر الشركة ولن تبيع شيئاً اعطيك مثال بسيط: بأستطاعة شركات الحماية مثلا Avast وغيرها التي تقوم بأنتاج الاف النسخ من مضادات الفايروسات ( انتي فايروس ) بأستطاعتها ان تنهي من الوجود شيئا يسمى فيروس او تروجان او دودة... الخ لكن ما الثمن لذلك؟؟ لن تبيع ولا منتجاً واحداً وستخسر الشركة لذلك من مصلحتها ان تسمح للفايروسات والهاكرز بالاختراقات وغيرها لكي تبقى هذه الشركة في الساحة لتبيع منتجاتها حسنين
  11. كان بودي ان اقوم بمساعدتك لكن للاسف قاعدتك لا تعمل عندي لكن بشكل عام سأشرح لك الفكرة خطوة خطوة.. اول شي يجب ان يكون لديك مجلد للصور بجانب القاعدة وليكن اسمه مثلا DB_Images وتكون الصور بأسم كود المادة مثلا كود المادة 1 2 3 4 ..الخ اعتقد فهمت قصدي.. طبق كلامي ورد علية حتى اعطيك الخطوة التالية.
  12. نفس المشكلة لا تزال لا تعمل اعمل قاعدة جديدة وفيها نفس حقول الجداول ولا تستخدم اي مكتبات OCX خارجية
  13. القاعدة لا تعمل عندي ارفقها مرة اخرى
  14. وعليكم السلام ورحمة الله وبركاته.. اكتب في مربع النص =DCount("[ID]";"Table1";"txt = '" & [txt] & "' And Tdate = [Tdate] And nb = " & [nb]) حسنين
  15. السلام عليكم, في سنة 2017 قمت بكتابة كلاس بسيط لحماية برنامجي ولضمان برنامجي لا يعمل في غير كومبيوترات في حاله بيعه. مميزات الكلاس: 1- قفل قاعدة البيانات على ( رقم الهارد , البروسيسور , المذربورد , الماك أدريس ) 2- (استحاله) فك النماذج والتقارير في حال عدم تجاوزك لنموذج ( تسجيل الدخول ) ببساطة ستقول يمكنني العثور على باسورد القاعدة داخل الجدول ( الطريقة المعتادة لدينا جميعا في انشاء نموذج تسجيل دخول ). قبل كل شي ليكن لدينا مثلا جدول اسمة ( tbl_Login ) و نموذج اسمه ( frm_Login ) الجدول لتخزين اسم المستخدم وكلمة المرور والنموذج لعمل تسجيل الدخول عند ذهابنا للجدول ( tbl_Login ) ، سوف نحصل على باسورد مشفر من الجدول لو كان الباسورد مثلا ( 313 ) فإنك ستحصل على ( 701D6068 ) 2- عندما نقوم بتسجيل الدخول في النموذج سيقوم البرنامج بأخذ كلمة السر المدخلة ويقوم بتشفيرها ثم يقوم بمطابقتها مع الباسورد الموجود في الجدول اذا كان الباسورد المُدخل يطابق الجدول سيكتب قيمة معينة runtime ويقوم بازالة جميع القيود من النماذج والتقارير. اولا: كلاس الحماية Option Compare Database '----------------------------------------------------- ' Protection Module Coded By Hassanein Hirz Aldeen (SEMO.Pa3x) ' Date 26/11/2017 ' All rights reserved. copyright © 2017 '----------------------------------------------------- Public SEMO As String Function SEMO_GET() SEMO = SEMO SEMO_GET = SEMO End Function Function PR() As Boolean PR = False 'False=Disabled , True=Enabled End Function Function HWND_ID() HWND_ID = "3C3F4825" 'Your HWID End Function Function HWND_MSG() HWND_MSG = "...ليست لديك صلاحيات كافية لإستخدام هذا الاجراء" End Function Function KEY_ENDE() KEY_ENDE = "PA$X" End Function Function HWND_GET() Set root = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") Set disks = root.execquery("select * from win32_logicaldisk") For Each disk In disks If disk.volumeserialnumber <> "" Then HWND_GET = disk.volumeserialnumber Exit For End If Next End Function Function HWND_PROTECTION() Set root = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") Set disks = root.execquery("select * from win32_logicaldisk") For Each disk In disks If disk.volumeserialnumber <> "" Then HWND_PROTECTION = disk.volumeserialnumber Exit For End If Next If HWND_ID = HWND_PROTECTION Then HWND_PROTECTION = "True" Else HWND_PROTECTION = "False" End If End Function 'Code contained within module named mdlforencryptionanddecryption Public Function XORDecryption(CodeKey As String, DataIn As String) As String Dim arkdata1 As Long Dim strDataOut As String Dim intXOrValue1 As Integer Dim intXOrValue2 As Integer For arkdata1 = 1 To (Len(DataIn) / 2) 'The first value to be XOr-ed comes from the data to be encrypted intXOrValue1 = Val("&H" & (Mid(DataIn, (2 * arkdata1) - 1, 2))) 'The second value comes from the code key intXOrValue2 = Asc(Mid(CodeKey, ((arkdata1 Mod Len(CodeKey)) + 1), 1)) strDataOut = strDataOut + Chr(intXOrValue1 Xor intXOrValue2) Next arkdata1 XORDecryption = strDataOut End Function Public Function XOREncryption(CodeKey As String, DataIn As String) As String Dim arkdata1 As Long Dim strDataOut As String Dim temp As Integer Dim tempstring As String Dim intXOrValue1 As Integer Dim intXOrValue2 As Integer For arkdata1 = 1 To Len(DataIn) 'The first value to be XOr-ed comes from the data to be encrypted intXOrValue1 = Asc(Mid$(DataIn, arkdata1, 1)) 'The second value comes from the code key intXOrValue2 = Asc(Mid$(CodeKey, ((arkdata1 Mod Len(CodeKey)) + 1), 1)) temp = (intXOrValue1 Xor intXOrValue2) tempstring = Hex(temp) If Len(tempstring) = 1 Then tempstring = "0" & tempstring strDataOut = strDataOut + tempstring Next arkdata1 XOREncryption = strDataOut End Function الاستخدام لكل النماذج والتقارير اكتب في حدث Form_Load Option Compare Database Private Sub Form_Load() On Error Resume Next If HWND_PROTECTION = "False" Then MsgBox HWND_MSG, vbCritical, "عملية خاطئة" For i = 0 To Controls.Count - 1 Dim X As Control Set X = Me.Controls.Item(i) X.Visible = False Next DoCmd.Close DoCmd.CloseDatabase DoCmd.Quit End If If Protection.SEMO_GET = "SEMO" = False Then MsgBox HWND_MSG, vbCritical, "عملية خاطئة" For i = 0 To Controls.Count - 1 Dim XS As Control Set XS = Me.Controls.Item(i) XS.Visible = False Next DoCmd.Close DoCmd.CloseDatabase DoCmd.Quit End If End Sub الان عندما تريد اعطاء القاعدة لشخص ما قم باعطاءه اولا ملف الـ VBS هذا '----------------------------------------------------- ' ReCoded By Hassanein Hirz Aldeen (SEMO.Pa3x) ' Date 26/11/2017 ' All rights reserved. copyright © 2017 '----------------------------------------------------- ' Get clipboard text Set objHTML = CreateObject("htmlfile") Set Ws = CreateObject("WScript.Shell") Clipboardtext = objHTML.ParentWindow.ClipboardData.GetData("text") sText = HWND_GET 'Set Clipboard Ws.Run "mshta.exe ""javascript:clipboardData.setData('text','" & Replace(Replace(sText, "\", "\\"), "'", "\'") & "');close();""", 0, True MsgBox "Copied!" Function HWND_GET() Set root = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") Set disks = root.execquery("select * from win32_logicaldisk") For Each disk In disks If disk.volumeserialnumber <> "" Then HWND_GET = disk.volumeserialnumber Exit For End If Next End Function وظيفة هذا الملف يقوم باستخراج ( رقم الهارد , البروسيسور , المذربورد , الماك أدريس ) ثم ينسخه بعدما يشغله سيقوم العميل باعطاءك هذا الرقم لكي تقوم انت بدورك بوضعه داخل الكلاس في المنطقة Function HWND_ID() HWND_ID = "Your HWID" End Function استبدل كلمة ( Your HWID ) بالرقم الذي سيعطيه لك العميل. ثم بعد ذلك قم بحفظ القاعدة بصيغة ( ACCDE ) واتحدا اي شخص يفتحها مرة اخرى: لكي تفتح النماذج والتقارير عليك بتخطي نموذج تسجيل الدخول ارفقت لكم قاعدة محمية وقاعدة بدون حماية مع ملف الـ VBS الذي يستخرج ارقام قطع الجهاز ويقوم بنسخها،، اتمنى لكم الفائدة جميعاً اهداء الموضوع الى مُعلمي الرائع @jjafferr حسنين Login_SEMO_Pa3x.rar
  16. @رمهان الله يحيي اصلك استاذ رمهان.
  17. @رمهان نعم انا اتكلم من واقع تجربة لاني اكتب بلغة دوت نت من 2008 تقريباً. وبالنسبة مشكلة الاصدار يمكنك ارغام المستخدم على تحميل النسخة التعريف حسب نواة الويندوز ببداية التشغيل يفحص نوع النواة ثم يوجهك مباشرة الى رابط تحميل الAccessDataBaseEngine المناسب. حسنين
  18. السلام عليكم.. ربط قاعدة بيانات الاكسس مع تطبيق دوت نت لا يشترط وجود اكسس مثبت على جهاز العميل. في بعض الاجهزة تحتاج تثبيت AccessDataBaseEngine حسنين
  19. ممكن ذلك عزيزي بإستخدام برنامج pdfFactory لتصدير المشروع على شكل PDF ثم تحويله لصورة.
  20. جزيل الشكر لك استاذ @محمد طاهر حسنين
  21. نعم، لدي بعض المواضيع الاثرائية والحصرية نوعا ما، لهذه اللغة الرائعة. كما انني قدمت دورة لهذه اللغة لمستوى الاشخاص المتوسطين. اذا تم فتح القسم ساقوم بكتابتها حسب اوقات فراغي. حسنين
  22. مثل ما قال الاستاذ @ابوخليل حاول تشرح اكثر، لكي نتمكن من مساعدتك. حسنين
  23. لماذا اخترت المسار C لنسخ الملف؟؟ هذا المسار يكون محمي ويجب استخدام صلاحيات مسؤول لنسخ ملف الى القرص C وبذلك لن تعمل قاعدة البيانات حبذا لو قمت بتغيير المسار الى Temp او مسار يكون في كل جهاز. حسنين
  24. في نهاية الامر, القرار لكم. حسنين
×
×
  • اضف...

Important Information