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

رضا عقيل

04 عضو فضي
  • Posts

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

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

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

  1. إخواني السلام عليكم ورحمة الله وبركاته بالنسبة للمشاكل التي واجهتكم في الإصدار الثاني لبرنامج الحماية 1- عدم ظهور رقم النسخة في شاة التسجيل ( أي ظهور الشاشة بدون أي أرقام للنسخه ) وهذه المشكلة سببها عدم توافق بعض الأكواد المستخدمه مع بعض المكونات المادية للأجهزة 2- عند بعض البرامج بعد حمايتها ويطلب البرنامج رقم التسجيل فتقوم بالضغط على نسخه تجريبه لا يقبل ويظل يطلب رقم التسجيل ( تم معالجتها ) هذا لأن الحماية تم تركيبها على برنامج يحتوي على بيانات سابقه فعلاً ( تم معالجتها ) 3- مشكلة تكرار دالة تشفير البيانات نتيجة تركيب نظام الحماية مع نظام صلاحيات المستخدمين لمهند عبادي وهذا سببه أن دالة التشفير التي يستخدمها برنامج الحماية هي نفسها دالة صلاحيات المستخدمين ( تم معالجتها ) جميع المشكلات السابقة تم حلها وزياده على ذلك تم تحسين الجوده لبرنامج القلعه فأصبح قلعه فعلاً ( الإصدار الثالث ) وتم تجربته على أكثر من 50 جهاز من جميع الفئات والمستويات وجميع الشبكات تقريباً وكذلك تم شرح كيفية عمل البرنامج وكيفية تركيبه على برامجك كل ذلك تجده على الرابط التالي اضغط هنا للشرح وتحميل برنامج القلعة لحماية برامج أكسس من النسخ ( الإصدار الثالث ،، إصدار ممتاز ) أو زيارة الرابط التالي www.okail.com/vb مع خالص تحياتي رضا عقيل
  2. إخواني برنامج الملفات والإحصائيات للمراجعين بالمراكز الصحية والإحصائيات الخاصة بها للعمل داخل المملكة العربية السعودية ملفات - بيانات - إحصائيات هذا البرنامج نسخة مجانية تجريبية محدودة والسبب طبعاً أنها خاضعة تجارياً ولكن هل من الممكن أن تستفيد من الأفكار الموجودة فيها ؟؟؟ هل من الممكن أن تغير نظرتك للبرمجة بأكسس ؟؟؟ هل من الممكن أن تغير من أسلوبك في التعامل مع ألوان شاشاتك؟؟ هل من الممكن أن يكون البرنامج صغير ويحتوي بيانات قليلة وتستطيع الخروج منه بالكثير ؟؟ هل من الممكن أن يكون البرنامج صغير ولكن الإدوات الإدارية الخاصة به بهذا الثقل ( ربط بيانات - نسخ احتياطي - حماية - صلاحيات مستخدمين - حماية وإخفاء جداول - تحزيم ===== ملاحظات مهمة ::: ركز جيداً في طريقة ربط قاعدة البيانات ركز جيداً ما يحدث لو غيرت اسم أو مكان قاعدة البيانات المسماه server.mde رابط قاعدة الباينات ركز جيداً في طريقة الحماية وفتح النسخة للتجربة 30 يوم ابتداءاً بداية الاستخدام ركز جيداً في طريقة الحصول على الإحصائيات من استعامات مركبة لا نهائية النتائج ==== وفي النهاية على أثر هذا البرنامج في تفكيرك . وأنتظر أرائكم وانطباعاتكم (وسنعتبرها دراسة ميدانية لمعرفة مدى أهمية الشكل مع المضمون في إرضاء العملاء ) ==== الملف مرفق اسم المستخدم = 1 كلمة المرور = 1 اضغط هنا للتحميل مع خالص تحياتي للجميع رضا عقيل زيارة موقعي
  3. يمكنك زيارة هذا الرابط به برنامج عقارات مع الشرح بالصور ربما تستفيد من الأفكار وطريقة المعالجة www.okail.com/reda
  4. أخي sobeeh أولاً اعلم ما تحاول أن تقوله وأريد منك أن تعرف ما هو الفرق بين الجهازين الأول الذي يعمل عليه البرنامج مظبوط والآخر الذي يعطي الرسالة وأقصد هنا هذه الفروق ما نوع معالج الجهاز الذي تظهر به رسالة الخطأ ما نوع اللوحة الأم ما نوع الهارد هل هو ساتا ؟؟؟ ما نوع الشبكة بين الأجهزة وهكذا من هنا نعرف السبب هل هو فيزيائي أم برامج تشغيل ام ماذا أرجوا أن تكون فهمت قصدي ثانياً إذا لم يكن لديك مانع ارسل البرنامج على إيميلي لأقوم بتعديل كود عليه لتقوم بتجربته على هذا الجهاز الذي يعطي الخطأ مع خالص التحية والتقدير
  5. وخالص شكري للأستاذ / محمد طاهر على حرصه على نشره الموضوع في نشرة أوفيسنا والتي رفعت من قراءة الموضوع جداً أخي sobeeh أولاً : جرب البرنامج على جهاز ثاني وعلمني على الفروق بين الجهازين من الناحية الفيزيائية وسأقوم بتعديل الكود لك لتجربة على هذا الجهاز الذي يعطي خطأ ثانياً : أعتقد أن هذا الكلام غير دقيق فأنا اختبرت هذه النقطة مراراً وتكراراً وإلا لماذا أضفنا القسم الثالث الخاص بتصفير مدة الاستخدام راجع مره أخرى وقم بالتجربة بدقة مع خالص تحياتي
  6. أخواني آسف للتأخر عليكم بالنسبة لل:واد الخاصة باستنتاج أرقام ( الهارد ) ( المعالج ) ( اللوحة الأم ) 1- الكود الخاص بالهارد Option Compare Database Option Explicit Private Const GENERIC_READ = &H80000000 Private Const GENERIC_WRITE = &H40000000 Private Const FILE_SHARE_READ = &H1 Private Const FILE_SHARE_WRITE = &H2 Private Const OPEN_EXISTING = 3 Private Const CREATE_NEW = 1 Private Const INVALID_HANDLE_VALUE = -1 Private Const VER_PLATFORM_WIN32_NT = 2 Private Const IDENTIFY_BUFFER_SIZE = 512 Private Const OUTPUT_DATA_SIZE = IDENTIFY_BUFFER_SIZE + 16 Private Type GETVERSIONOUTPARAMS bVersion As Byte bRevision As Byte bReserved As Byte bIDEDeviceMap As Byte fCapabilities As Long dwReserved(3) As Long End Type Private Type IDEREGS bFeaturesReg As Byte bSectorCountReg As Byte bSectorNumberReg As Byte bCylLowReg As Byte bCylHighReg As Byte bDriveHeadReg As Byte bCommandReg As Byte bReserved As Byte End Type Private Type SENDCMDINPARAMS cBufferSize As Long irDriveRegs As IDEREGS bDriveNumber As Byte bReserved(2) As Byte dwReserved(3) As Long bBuffer() As Byte End Type Private Const IDE_ID_FUNCTION = &HEC Private Const IDE_EXECUTE_SMART_FUNCTION = &HB0 Private Const SMART_CYL_LOW = &H4F Private Const SMART_CYL_HI = &HC2 Private Type DRIVERSTATUS bDriverError As Byte bIDEStatus As Byte bReserved(1) As Byte dwReserved(1) As Long End Type Private Type IDSECTOR wGenConfig As Integer wNumCyls As Integer wReserved As Integer wNumHeads As Integer wBytesPerTrack As Integer wBytesPerSector As Integer wSectorsPerTrack As Integer wVendorUnique(2) As Integer sSerialNumber(19) As Byte wBufferType As Integer wBufferSize As Integer wECCSize As Integer sFirmwareRev(7) As Byte sModelNumber(39) As Byte wMoreVendorUnique As Integer wDoubleWordIO As Integer wCapabilities As Integer wReserved1 As Integer wPIOTiming As Integer wDMATiming As Integer wBS As Integer wNumCurrentCyls As Integer wNumCurrentHeads As Integer wNumCurrentSectorsPerTrack As Integer ulCurrentSectorCapacity As Long wMultSectorStuff As Integer ulTotalAddressableSectors As Long wSingleWordDMA As Integer wMultiWordDMA As Integer bReserved(127) As Byte End Type Private Type SENDCMDOUTPARAMS cBufferSize As Long DRIVERSTATUS As DRIVERSTATUS bBuffer() As Byte End Type Private Const SMART_ENABLE_SMART_OPERATIONS = &HD8 Public Enum STATUS_FLAGS PRE_FAILURE_WARRANTY = &H1 ON_LINE_COLLECTION = &H2 PERFORMANCE_ATTRIBUTE = &H4 ERROR_RATE_ATTRIBUTE = &H8 EVENT_COUNT_ATTRIBUTE = &H10 SELF_PRESERVING_ATTRIBUTE = &H20 End Enum Private Const DFP_GET_VERSION = &H74080 Private Const DFP_SEND_DRIVE_COMMAND = &H7C084 Private Const DFP_RECEIVE_DRIVE_DATA = &H7C088 Private Type ATTR_DATA AttrID As Byte AttrName As String AttrValue As Byte ThresholdValue As Byte WorstValue As Byte StatusFlags As STATUS_FLAGS End Type Private Type DRIVE_INFO bDriveType As Byte SerialNumber As String Model As String FirmWare As String Cilinders As Long Heads As Long SecPerTrack As Long BytesPerSector As Long BytesperTrack As Long NumAttributes As Byte Attributes() As ATTR_DATA End Type Private Enum IDE_DRIVE_NUMBER PRIMARY_MASTER PRIMARY_SLAVE SECONDARY_MASTER SECONDARY_SLAVE TERTIARY_MASTER TERTIARY_SLAVE QUARTIARY_MASTER QUARTIARY_SLAVE End Enum Private Declare Function CreateFile Lib "kernel32" _ Alias "CreateFileA" _ (ByVal lpFileName As String, _ ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, _ lpSecurityAttributes As Any, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long Private Declare Function CloseHandle Lib "kernel32" _ (ByVal hObject As Long) As Long Private Declare Function DeviceIoControl Lib "kernel32" _ (ByVal hDevice As Long, _ ByVal dwIoControlCode As Long, _ lpInBuffer As Any, _ ByVal nInBufferSize As Long, _ lpOutBuffer As Any, _ ByVal nOutBufferSize As Long, _ lpBytesReturned As Long, _ lpOverlapped As Any) As Long Private Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" _ (hpvDest As Any, _ hpvSource As Any, _ ByVal cbCopy As Long) Private Type OSVERSIONINFO OSVSize As Long dwVerMajor As Long dwVerMinor As Long dwBuildNumber As Long PlatformID As Long szCSDVersion As String * 128 End Type Private Declare Function GetVersionEx Lib "kernel32" _ Alias "GetVersionExA" _ (LpVersionInformation As OSVERSIONINFO) As Long Private Function GetDriveInfo(drvNumber As IDE_DRIVE_NUMBER) As DRIVE_INFO Dim hDrive As Long Dim di As DRIVE_INFO hDrive = SmartOpen(drvNumber) If hDrive <> INVALID_HANDLE_VALUE Then If SmartGetVersion(hDrive) = True Then With di .bDriveType = 0 .NumAttributes = 0 ReDim .Attributes(0) .bDriveType = 1 End With If SmartCheckEnabled(hDrive, drvNumber) Then If IdentifyDrive(hDrive, IDE_ID_FUNCTION, drvNumber, di) = True Then GetDriveInfo = di End If End If End If End If CloseHandle hDrive End Function Private Function IdentifyDrive(ByVal hDrive As Long, _ ByVal IDCmd As Byte, _ ByVal drvNumber As IDE_DRIVE_NUMBER, _ di As DRIVE_INFO) As Boolean Dim SCIP As SENDCMDINPARAMS Dim IDSEC As IDSECTOR Dim bArrOut(OUTPUT_DATA_SIZE - 1) As Byte Dim cbBytesReturned As Long With SCIP .cBufferSize = IDENTIFY_BUFFER_SIZE .bDriveNumber = CByte(drvNumber) With .irDriveRegs .bFeaturesReg = 0 .bSectorCountReg = 1 .bSectorNumberReg = 1 .bCylLowReg = 0 .bCylHighReg = 0 .bDriveHeadReg = &HA0 If Not IsWinNT4Plus Then .bDriveHeadReg = .bDriveHeadReg Or ((drvNumber And 1) * 16) End If .bCommandReg = CByte(IDCmd) End With End With If DeviceIoControl(hDrive, _ DFP_RECEIVE_DRIVE_DATA, _ SCIP, _ Len(SCIP) - 4, _ bArrOut(0), _ OUTPUT_DATA_SIZE, _ cbBytesReturned, _ ByVal 0&) Then CopyMemory IDSEC, bArrOut(16), Len(IDSEC) di.Model = StrConv(SwapBytes(IDSEC.sModelNumber), vbUnicode) di.SerialNumber = StrConv(SwapBytes(IDSEC.sSerialNumber), vbUnicode) IdentifyDrive = True End If End Function Private Function IsWinNT4Plus() As Boolean Dim osv As OSVERSIONINFO osv.OSVSize = Len(osv) If GetVersionEx(osv) = 1 Then IsWinNT4Plus = (osv.PlatformID = VER_PLATFORM_WIN32_NT) And _ (osv.dwVerMajor >= 4) End If End Function Private Function SmartCheckEnabled(ByVal hDrive As Long, _ drvNumber As IDE_DRIVE_NUMBER) As Boolean Dim SCIP As SENDCMDINPARAMS Dim SCOP As SENDCMDOUTPARAMS Dim cbBytesReturned As Long With SCIP .cBufferSize = 0 With .irDriveRegs .bFeaturesReg = SMART_ENABLE_SMART_OPERATIONS .bSectorCountReg = 1 .bSectorNumberReg = 1 .bCylLowReg = SMART_CYL_LOW .bCylHighReg = SMART_CYL_HI .bDriveHeadReg = &HA0 If Not IsWinNT4Plus Then .bDriveHeadReg = .bDriveHeadReg Or ((drvNumber And 1) * 16) End If .bCommandReg = IDE_EXECUTE_SMART_FUNCTION End With .bDriveNumber = drvNumber End With SmartCheckEnabled = DeviceIoControl(hDrive, _ DFP_SEND_DRIVE_COMMAND, _ SCIP, _ Len(SCIP) - 4, _ SCOP, _ Len(SCOP) - 4, _ cbBytesReturned, _ ByVal 0&) End Function Private Function SmartGetVersion(ByVal hDrive As Long) As Boolean Dim cbBytesReturned As Long Dim GVOP As GETVERSIONOUTPARAMS SmartGetVersion = DeviceIoControl(hDrive, _ DFP_GET_VERSION, _ ByVal 0&, 0, _ GVOP, _ Len(GVOP), _ cbBytesReturned, _ ByVal 0&) End Function Private Function SmartOpen(drvNumber As IDE_DRIVE_NUMBER) As Long If IsWinNT4Plus() Then SmartOpen = CreateFile("\\.\PhysicalDrive" & CStr(drvNumber), _ GENERIC_READ Or GENERIC_WRITE, _ FILE_SHARE_READ Or FILE_SHARE_WRITE, _ ByVal 0&, _ OPEN_EXISTING, _ 0&, _ 0&) Else SmartOpen = CreateFile("\\.\SMARTVSD", _ 0&, 0&, _ ByVal 0&, _ CREATE_NEW, _ 0&, _ 0&) End If End Function Private Function SwapBytes(b() As Byte) As Byte() Dim bTemp As Byte Dim cnt As Long For cnt = LBound(b) To UBound(b) Step 2 bTemp = b(cnt) b(cnt) = b(cnt + 1) b(cnt + 1) = bTemp Next cnt SwapBytes = b() End Function Private Sub cmdClose_Click() DoCmd.Close End Sub Private Sub Form_Load() Dim di As DRIVE_INFO Dim drvNumber As Long di = GetDriveInfo(drvNumber) With di Select Case .bDriveType Case 0 Me.text05.Value = "[Not present]" Case 1 Me.text05.Value = Trim$(.SerialNumber) Case 2 text05.Value = "[ATAPI drive - info not available]" Case Else text05.Value = "[drive type not known]" End Select End With End Sub كود رقم المعالج يحتاج إلى المرجع Microsoft WMI Scripting Option Compare Database Option Explicit Private asCpuPaths() As String Private m_objCPUSet As SWbemObjectSet Private m_objWMINameSpace As SWbemServices Private Sub cmdClose_Click() DoCmd.DoCmd.Close End Sub Private Sub Form_Load() Dim objCPUSet As SWbemObjectSet Dim objWMINameSpace As SWbemServices Dim oCpu As SWbemObject Dim is2 As String Set objWMINameSpace = GetObject("winmgmts:") Set objCPUSet = objWMINameSpace.InstancesOf("Win32_Processor") For Each oCpu In objCPUSet is2 = oCpu.ProcessorID Exit For Next Me.text05.Value = Trim$(is2) End Sub كود اللوحة الأم Option Compare Database Option Explicit Public Lst1 As New Collection, Lst2 As New Collection Public Acpath As String Public Function MBSerialNumber() As String Dim objs As Object Dim obj As Object Dim WMI As Object Dim sAns As String Set WMI = GetObject("WinMgmts:") Set objs = WMI.InstancesOf("Win32_BaseBoard") For Each obj In objs sAns = sAns & obj.SerialNumber If sAns < objs.Count Then sAns = sAns '& "," Next MBSerialNumber = sAns End Function Private Sub Form_Load() Me.text05 = Trim$(MBSerialNumber) End Sub Private Sub cmdClose_Click() DoCmd.DoCmd.Close End Sub كما يوجد ملف مرفق به ثلاث نماذج مطبق عليها هذه الأكواد بدون إضافات أرجوا أن أكون وفيت بالمطلوب مع خالص تحياتي رضا عقيل export.rar
  7. أخي بو يوسف مع خالص التحية لهذا الاهتمام الواضح الرجاء إضافة النص التالي للمشاركة الأولى لأنني لم أستطيع تحريرها الملف الخاص بالإصدار الثاني اسمه (( RedaOkailPro2)) على نفس الرابط القديم فقط استبدل اسم الملف القديم بالجديد وغير الصور لأن هناك الكثير جديد والصراحة ألف شك لك لأنني لم أجد الوقت الكافي لشرح البرنامج بالصور مع خالص التحية ططططططططططططططططططططططططططططططططططط تم وضع برنامج القلعة (( الإصدار الثاني )) على نفس الرابط الأول ومن مميزاته انقسم البرنامج إلى ثلاث شعب 1- حماية برنامج 2- إزالة الحماية من برنامج 3- تصفير مدة الاستخدام لبرنامج ,,, تم وضع خيار جديد لتصدير أداة إخفاء إظهار الجداول المرتبطة والمضمنة والتي لا يمكن إظهارها بالخيارات العادية """ تم اعتماد تسجيل المرجع DAO3.6 مع المراجع الأخرى ( لأنني كنت أظن سابقاً أن كل مبرمج يستخدمه بشكل أساسي ) يستطيع الإصدار الثاني معرفة هل تم حماية هذا البرنامج من قبل بهذه الأداة وبأي نوع من الحماية منعاً للأخطاء """"" تم تبني فكرة عداد التاريخ من تاريخ تركيب البرنامج وليس من تاريخ الاستخدام ولذلك كان لا بد من وضع القسم الثالث وهو تصفير مدة الاستخدام وذلك حتى إذا قام المبرمج بتجربة البرنامج لديه قبل إعطائه للعميل سيتم تسجيل المدة التى قام بالتجربه فيها لذلك يجب علها تصفيرها قبل إعطائه للعميل .. إما إذا لم يقم بتجربة البرنامج فلا داعي .. <><><><><><><><><><><><><><><><><><><><><><><><><><><><>< أخواني البرنامج بالكامل أصبح تحفة فنيه """"""""""""""""""""""""""""""""""""
  8. لراغبي الإبداع والتميز أداة تركيب الحماية من النسخ للبرامج المصنوعة بأكسس ( برقم الهارد الحقيقي / رقم المعالج /رقم اللوحة الأم ) الإصدار الثاني. برنامج القلعة لحماية برامج أكسس من النسخ الأول من نوعه في منتديات الأكسس مبدئياً : هذه النوع من الأدوات ندر إنتاجها داخل منتدياتنا العربية والتي كان السبق في إنتاجها لأول مره داخل منتدى الأكسس لأخونا مهند عبادي وعلى أثره نحاول إنتاج أدوات لخدمة المبرمجين بصورة فعالة في القضايا الهامة والتي يكثر فيها الأسئلة مثل الحماية وقد سبق وأنتجت أداة لحل مشاكل التقارير ... ولكن أنا أومن بأن لها ضرراً من ناحية أخرى على المبرمجين بجعلهم يتوقفون عن التفكير في حل المشاكل طالما أن حلولها جاهزة وميسرة وبالتالي يضيع عليهم ثبوتية العلم بمشقة طلبه ... لن أطيل عليكم أخواني ..... كثرت الأسئلة و المواضيع الخاصة بحماية قواعد البيانات من النسخ وكثرت الرسائل على بريدي لمن يطلبون حماية برامجهم لذلك كان لا بد من صنع أداة تقوم بهذه المهمة بصورة آلية وحسب اختيارات ورغبات المبرمج و وفاءاً بوعدي سأضع الأداة بصورة غير محمية قابلة للنسخ ( وهي مجانية للاستخدام الشخصي وغير التجاري أما من يستخدمها بشكل تجاري أو يستفيد منها مادياً فيجب عليه سداد ثمنها وبذلك نكون حافظنا على جميع الحقوق وحتى لا يضيع مجهودي هباءاً ) . قبل استخدام الأداة 1- قم بعمل نسخه احتياطية لبرنامجك 2- قم بإزالة جميع أنواع التامين من برنامجك 3- التركيب يجب أن يكون قبل تقسيم قاعدة البيانات في حالة البرامج المقسمة إلى واجهة وجداول . 3- وقف عمل مضاد الفيروسات الخاص بك قبل البدء ( ولا تخاف ) البرنامج لا يحتاج لأي مراجع إضافية وسيقوم بتركيب المراجع للقاعدة الهدف في حال احتياجها لها البرنامج يركب الحماية من النسخ المدمجة مع مدة التشغيل كما يقوم بإنشاء كراك للبرنامج مع القاعدة الهدف كما ينشئ ملف نصي يوثق فيه كل ما تم عمله في برنامجك . كما يصلح لبناء نسخ تجريبية ما بعد حماية البرنامج بعد حماية البرنامج وإعطائه للعميل وعند فتحه لأحد النماذج التي تم تركيب الحماية عليها ستظهر له شاشة ممانعه تمنعه من استخدام البرنامج قبل تسجيل نسخه شرعية ... يقوم العميل بالاتصال بك ويعطيك الرقم الظاهر أمامه على الشاشة ، فتقوم أنت بفتح الكراك الذي أنشأه برنامج القلعة في نفس مجلد البرنامج وتقوم بإدخال الرقم في الخانه المخصصة له ثم تختار مدة التشغيل التي ترغب بها أي المدة التي سيعمل خلالها البرنامج لدى العميل ثم يتوقف عن العمل طالباً فك الحماية مره أخرى ( طبعاً تستطيع فتح المده تماماً إذا كان العميل اشترى البرنامج وليس تحت التجربة ) وحسب المدة سينتج لك الكراك رقم تعطيه للعميل وبذلك تكون فتحت له النسخة مدة الاستخدام التي تراها مناسبة . إلى أخواني المشرفين ( الرجاء تثبيت الموضع لمدة طويلة ) تم وضع برنامج القلعة (( الإصدار الثاني )) على نفس الرابط الأول ومن مميزاته انقسم البرنامج إلى ثلاث شعب 1- حماية برنامج 2- إزالة الحماية من برنامج 3- تصفير مدة الاستخدام لبرنامج ,,, تم وضع خيار جديد لتصدير أداة إخفاء إظهار الجداول المرتبطة والمضمنة والتي لا يمكن إظهارها بالخيارات العادية """ تم اعتماد تسجيل المرجع DAO3.6 مع المراجع الأخرى ( لأنني كنت أظن سابقاً أن كل مبرمج يستخدمه بشكل أساسي ) يستطيع الإصدار الثاني معرفة هل تم حماية هذا البرنامج من قبل بهذه الأداة وبأي نوع من الحماية منعاً للأخطاء """"" تم تبني فكرة عداد التاريخ من تاريخ تركيب البرنامج وليس من تاريخ الاستخدام ولذلك كان لا بد من وضع القسم الثالث وهو تصفير مدة الاستخدام وذلك حتى إذا قام المبرمج بتجربة البرنامج لديه قبل إعطائه للعميل سيتم تسجيل المدة التى قام بالتجربه فيها لذلك يجب علها تصفيرها قبل إعطائه للعميل .. إما إذا لم يقم بتجربة البرنامج فلا داعي .. حجم البرنامج 856 كيلو بايت تم تعديل الموضوع من قبل أخوكم في الله /بو يوسف الراشد وذلك نظراً لنزول الإصدار الثاني من البرنامج وذلك بناءً على طلب أخونا المبدع / رضا عقيل كما تم وضع تعليقه على الإصدار الثاني تم رفع البرنامج + الشرح + مثال حماية برامج الأكسس.rar
  9. لا أعرف ماذا أقول بعد كل ما قيل وكنت أتمنى أن ألقاك في الاجتماع الذي تم منذ فتره ولكني كنت في الحج جزاك الله خيراً أبو هادي عنا جميعاً وستظل بإذن الله في قلوبنا وأتمنى أن أراك بإذن الله مع خالص تحياتي وتمنياتي بالتوفيق
  10. بسم الله الرحمن الرحيم إخواني الأعزاء رواد المنتدى لا شك أن التقارير في الأكسس بها بعض المشكلات مثل الهوامش واتجاه التقرير وبعض المشاكل الأخرى والتي لها حلول برمجية دائمة ولكن البعض منها نحتاج إلى تغييره من آن إلى أخر مثل عدد الأعمدة أو حجم العمود أو مقاس التقرير أو أشياء أخرى مما يكون هناك صعوبة في التغيير بعد التحويل إلى mde ولذلك اعددت هذه الأداة التي تتيح للمستخدم التحكم في تقاريره في أي وقت ومع جميع أنواع قواعد البيانات لأنها تعتمد على الاحتفاظ بقيم إعدادات التقارير في جدول ومن ثم استدعائها عند فتح التقرير . كما تم إعداد الأداة بحيث تقوم هي بتصدير جميع الأدوات الخاصة بالتحكم في التقرير وكذلك التعديل على الكود داخل التقارير .. مما سيفتح أمامنا مرحلة جديدة من إعداد أدوات تطويرية لمبرمجي الأكسس وللمستخدمين على حد سواء . ملاحظة هامة لأخي خضر الرجبي حاولت كثيراً أرسال الأداة على بريدك ولكن فشل الإرسال خمس مرات ولا أدري السبب أهو في امتلاء بريدك أو في بريدي ولذلك أضعها في المنتدى لتقوم بسحبها من هنا ونشرها في المنتديات الصديقه الأخرى مع تثبيتها فترة طويلة ليستفيد من أكبر قدر ممكن من الأعضاء وكي نستطيع منافسة الأجانب في وضعهم لأدوات نستفيد منها نحن العرب وكما بادر أخي مهند عبادي بوضعة لأداة مثبت نظام صلاحيات المستخدمين وليتوقف الكثير عن طرح الأسئلة التي تعالجها الأداة مما يغلق باب مشاكل إعدادات التقارير إغلاً بسبياً ... مع وعد بإذن الله بتطوير هذه الإداة لمعالجة الكثير خيارات أخرى في التقارير في إصدار ثاني بإذن الله . مع خالص تحياتي ولا تنسوني من صالح دعائكم أخوكم رضا عقيل setup.rar
  11. إخواني الأداة مفتوحة المصدر mdb كلمة السر موجودة داخل الكود وهي 20052006 مع خالص التحية HideAllTabels.rar
  12. إخواني الأعزاء أخي خضر الرجبي أخي بيسكار أخي طيف لا أخفيكم سراً أنني عندما وضعت الموضوع كنت أعلم أن البعض يستطيعون معرفة أسماء الجداول ولكني كنت اريد معرفة نسبة من يستطيع إظهار الجداول داخل القاعدة أو معرفتها من إجمالي المهتمين بالأكسس وكنت متأكد من أن الخبراء مثلكم سيتجاوبون لمناقشة طريقة فعالة لتقوية تأمين قواعد البيانات ولأنني أومن أنه لا حماية مطلقة فقط وضعت نسبة تأمين حولي 60% من المتطفلين لمنعهم من رؤية الجداول وبفضلكم سأترك الطريقة السابقة ... ولكني الآن أعمل على طريقة أخرى ما زلت أدرسها أتمنى أن ترفع نسبة التأمين وحيتما أتوصل إليها سأضعها بين يديكم لإعطائها درحة نسبية أنتم الخبراء وبصفة عامة منذ فترة وعن طريق الكود تم إخفاء الجدوال المضمنة ولكن لم تكن فعالة مع الجداول المرتبطة ومع تعديل طفيف جداً بالكود تم إخفاء الجدول المرتبط ومع تعديل آخر طفيف أيضاً تم إخفاء جدول النظام ولكن.... أنت تعرف أسماء جداول النظام إذا تستطيع ربط جدول MSysObjects من الخارج عن طريق كود أو ماكرو إذا تستطيع رؤية أسماء الجداول داخل جدول النظام إذا تستطيع إكمال ربط بقية الجدول عدا الجداول المرتبطة التي تسطيع معرفة مصدرها ثم ربطها من المصدر مباشرة هذا فقط لنسبة ليست كبيرة من الخبرا ء وكنت سأضع المثال الأول مفكوك ولكنه في العمل وسأضعه السبت بإذن الله أشكر الجميع على التجاوب ما زال البحث جارياً عن الأفضل أخي خضر الموقع الذي أرفقته جميل جداً وسأدرسه بدقة أخي بيسكار البرنامج ممتاز وفعال جداً أخي طيف مرحباً بك في البحث عن الحماية
  13. أخي بيسكار أحسنت والله مع رغبتي في معرفة كيف فتحت الجداول بالنسبة لجدول النظام في المثال الذي أرفقته أنت لا يمكن أن تكون هي جداول النظام في مثالي !!!!!!!!!!!!!؟؟؟؟؟؟؟ وهل تستطيع إظهارالجداول داخل نفس القاعدة المرفقة بدون معرفة كلمة السر أي لا يقتصر الأمر على استيراد الجداول بادوات خارجية أهم عندي هو إظهارها داخل نفس القاعدة أحسنت وأشكرك على تجاوبك السريع
  14. أخي خضر أنا أستخدم نفس الطريقة التي أشرت إليها في إخفاء الجدوال ولكني جربتها مع الجداول المرتبطة ولم تنفع واستطعت التوصل لتعديل على نفس الكود أرجوا أن ينفع الجميع قمت باستبدل المرفق الأول الآن وعلى كل من قام بتحميله سابقاً إعادة التحميل والتجربة ولكن يزيد عليه إخفاء جداول النظام أيضاً وهذا سيضيف تحدي جديد في فك الحماية ومعرفة متحويات قاعدة البيانات الرجاء تجربة المثال الآن ومحاولة معرفة أسماء الجداول إن أمكن ومحاولة إظهارها أيضاً إذا أمكن النموذج عليه كلمة سر ولكني أريد من الجميع التجربة قبل استخدام النموذج لإظهار أو إخفاء الجدول أو معرفة أسمائها العبرة ليست تحدي ولكنها اختبار لطريقة في التعامل مع الجداول بحيث نؤمن أعمالنا من العبث وقد وضعت كلمة سر على النموذج لمنع إمكانية فتح النموذج في عرض التصميم لقواعد Mde وبعد التجربة ولو مرة واحدة سأضع المثال مفكوك تماماً Mdb كما أرجوا تثبيت الموضوع لفترة وجيزة مع خالص تحياتي
  15. إخواني السلام علكيم ورحمة الله وبركاته ومرحباً بكم جميعاً أضع بين يديكم أخر ما توصلت إليه في طريق الحماية وأتمنى أن ينال رضاكم الموضوع : إخفاء الجدول ولكن ليست المضمنة فقط ولكن المرتبطة أيضاً وهذا هو الجديد بالطبع أنا لا أومن بمبدأ الحماية المطلقة ولكن نستطيع منح الموضوع درجة من مائة في سبيل حماية وتأمين قواعد البيانات مرفق قاعدة بيانات صغيرة تحتوي على جداول مضمنة وأخرى مرتبطة نستطيع رويتهما فقط وإخفائها وإظهارها واحد بواحد أو جميعاً دفعة واحداً في الاتجاهين عن طريق النموذج وهذا النموذج الدخول له بكلمة سر في الوحدات النمطية وليست خاضعة للصلاحيات والتحكم الرجاء تجربة القاعدة وإبداء الرأي وسأترك فرصة للتجربة من جميع الخبراء . واعذروني على التأخير في الدخول للمنتدى كثيراً ولكني لا أتردد في إفادة الإخوان جميعاً بكل جديد أستطيع الوصول إليه بعد إبداء الرأي والتقييم سيتم وضع القاعدة مفتوحة المصدر يوم السبت القادم بإذن الله أو في أي وقت يحدده المشرفين الموضوع حصرياً لمنتدى أوفيسنا ولا مانع من الإشاره إليه في المنتديات الأخرى ولا تنسوني من صالح دعائكم ملاحظة تم إعادة تحميل مثال أقوى يخفي جداول النظام أخوكم رضا عقيل HideAllTabels.rar
  16. أخي ماجد كما أشار أخي رضوان مشكوراً ... سبب الرسالة أنه مسجل صورة للخلفية ولم يجد البرنامج مسار الصورة ... وها طبيعي لأنه ليس جهازي لذلك من تغيير صورة الخلفية .. اتبع ما أشار إليه أخي رضوان قم باستعادة الافتراضية إذا أردت خلفية الأكسس الرمادية أو انقر نقراً مزدوجاً داخل مسار الصورة لاختيار صورة جاهزة لديك مع خالص الشكر لك أخي رضوان مع تحياتي رضا عقي
  17. نعم مزيداً من التفصيل أخي وخاصة فيما يتعلق بتحويل جهازك إلى سيرفر xp فهذا المووع لم أجد فيه أي حل جذري نريد الدخول إلى قواعد بيانات الشركة عن طريق الهاتف وأعتقد أن هذا هو الحل
  18. إخواني الأعزاء نظراً لتزايد الحاجة إلى استعمال أدوات أقرب ما تكون إلى ثابتة للتحكم في مسار البرامج الخاصة بالأكسس وخاصة التجارية منها .. لذلك افردت جزء من اهتمامي لتطوير أدوات إدارية خاصة بي للتحكم في جميع برامجي بها .. وقد أرفقت هذا المثال في مشاركة خاصة بالحماية ولكن من الحكمة فصلها حتى تكون مرجع مناسب للبحث عن مثل هذه الأدوات . المثال الجامع للأدوات الإدارية 1- ربط البيانات 2- النسخ الاحتياطي 3- توجيه المسار لنسخة سابقة 4- حماية البرنامج من النسخ 5- صلاحيات المستخدمين 6- نسخ المراجع وإضافتها 7- إخفاء الجداول 8- معلومات النظام 9- وضع صورة في الخلفية مع الأخذ في الاعتبار أنني بدلت وغيرت بعض الأشياء وتم تبسيط بعض الأمور حتى لا تتعارض مع برامجي المنشورة وخاصة أنها خاضعة لشركة تجارية . ونظراً لضيق الوقت سأقوم بتفسير بعرض الأدوات باختصار شديد الدخول اسم المستخدم : 1 كلمة المرور : 1 1- ربط البيانات : عند فتح البرنامج يعمل الماكرو التنفيذي على فتح شاشة بدء التشغيل وكذلك نموذج الربط التلقائي وفي حالة فقد الرابط تخرج شاشة الربط التلقائي لتحديد المسار بالنقر المزدوج داخل المسار . 2- النسخ الاحتياطي يكون لقاعدة البيانات المرتبطة فقط أي للجداول فقط بنفس تاريخ يوم النسخ 3- توجيه المسار لنسخة أخرى شبيه بالربط التلقائي ولكن يستخدم لربط نسخة سابقة أو تالية 4- حماية البرنامج من النسخ تستخدم نفس الأسلوب الذي أشرت إليه في مشاركة الخاصة بالحماية للأخت زهرة مع ملاحظة وضع الكود التالي في حدث عند الفتح للنماذج الهامة التي نريد بدء الحماية عليه DoCmd.OpenForm "serial" من قائمة أدوات – تسجيل نسخة شرعية – استخدم المعادلة الأتية الرقم العلوي + 12305+( مدة التشغيل إما 15 يوم أو 30 أو 90أو 366 أو 1000 أو 10000 يوم ) الناتج يضرب × 2 والناتج يطرح منه 9999999 ومن السهل معرفة المعادلة من داخل الكود 5- صلاحيات المستخدمين تستخدم أسلوب اقرب ما يكون لأسلوب ابن مسقط مع مهند عبادي وقد قمت ببنائه بالمشاورة مع أبو عبد الله ولكن به بعض الاختلافات الجوهرية عن ما سبق الإشارة إليه == تم تقسم الصلاحيات إلى مسئول له جميع الصلاحيات == مستخدم يقوم المسئول بمنحه الصلاحيات == يمكن إنشاء أكثر من مسئول وتم التقسيم السابق لمنح المرونة للمسئول في منح الصلاحيات وتفويضها إن احتاج الأمر . == الجدول AdForToUse يستخدم لتحديد النماذج التي سيتم تركيب صلاحية لها ( ليس كل النماذج نرغب في وضع صلاحية عليها أو عرضها في شاشة منح الصلاحيات ) مع وضع اسم النموذج أو وظيفته باللغة العربية ليتمكن مسئول النظام من فهم كيفية منح صلاحية لمستخدم لأن استخدام أسماء النماذج كما هي لا يفيد إذا تم توزيع البرنامج وخاصة إذا كانت باللغة الأجنبية . == في نفس الجدول يجب تحديد مستوى النموذج من حيث الصلاحية a.b.c.g - المستوى a النماذج العامة - اختبار ( فتح ، تعديل ، حذف ، إضافة ) - المستوى b النماذج الفرعية - اختبار ( تعديل ، حذف ، إضافة ) - المستوى c النماذج الخاصة بالمسئول فقط - اختبار ( فتح فقط )لمسئول فقط - المستوى g النماذج التي يتم استدعاء التقارير منها - اختبار ( فتح فقط ) == في حدث عند الفتح يتم وضع الكود التالي فقط دون وضع أي أدوات أخرى على النموذج ... فقط هذا الكود .... Call allaw([Form]) أما باقي الأدوات فسأترك لكم استكشافها . وسيعجبكم كثيراً بإذن الله أداة إخفاء الجداول أيضاً أو التنويه على أن ما سبق ليس مطلقاً ولكنه خاضع للتطوير باستمرار مثل تشفير الصلاحيات والاستغناء عن الاستعلام في الصلاحيات وتطوير الحماية لتكون أكثر مرونة ولكن لن أستطيع أرفاق إلا ما سبق للأمانة العلمية . ===== في حالة وجود أي خطأ فني اعذروني للسرعة . مع خالص تحياتي رضا عقيل GeneralTols.rar
  19. أخي أمجد لك كل الشكر والتقدير على هذه الوصلات وعلى اهتمامك الزائد بهذا الموضع وأعتذر عن التأخر في الرد لإنشغالي هذه الأيام ولكني أتابع الموضوع باستمرار وسأتدخل بالمساعدة عندما اصل إلى أي شيء جديد بأمر الله استمر في المحاولة ولكل مجتهد نصيب فإن تم هذا الموضوع فسيكون بصمة واضحة في البرمجة بالأكسس مع خالص تحياتي
  20. إخواني أعتذر للتأخر في الرد بالنسبة للبرامج التي رأيتها لا أستطيع حتى الحصول علىنسخة لنفسي لأنها برامج صيدليات ولن أستيطع الحصول عليها الطريقة التي رأيتها يقوم المستخدم بقتح شاشة اتصال بالفرع أو المركز الرئيسي يقوم بإدخال اسم المستخدم كلمة السر هاتف الفرع يقوم البرنامج بالربط مع الطرف الآخر يتسطيع إرسال طلبيات واستقبال بيانات وتنفيذ استعلامات إلحاق للبيانات تقوم بإلحاق البيانات إلىالطرف الآخر سأقوم بتنزيل الملف وتجربته ونشكرم أخي أمجد والإخوان جميعاً للاهتمام والمشاركة
  21. أخي sasg موضوعك جميل ورائع وخاصة النقطة الخاصة بالأزرار هل نستيطع طلب توضيح أكثر لكيفية استخدام هذه الاسكينز والأدوات في برامجنا
×
×
  • اضف...

Important Information