اذهب الي المحتوي
أوفيسنا

نجوم المشاركات

  1. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      35

    • Posts

      11,621


  2. Foksh

    Foksh

    الخبراء


    • نقاط

      28

    • Posts

      1,556


  3. حسونة حسين

    حسونة حسين

    أوفيسنا


    • نقاط

      15

    • Posts

      926


  4. kkhalifa1960

    kkhalifa1960

    الخبراء


    • نقاط

      14

    • Posts

      1,503


Popular Content

Showing content with the highest reputation since 18 أبر, 2024 in all areas

  1. السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) كنت قد بحثت في المنتدى 🔍 (هنا) عن برامج لعرض مواقيت الصلاة ، وقد وجدت الكثير من المواضيع الجميلة والأفكار النيرة في المنتدى لأساتذة وأخوة بذلوا جهداً لا يوصف في مشاركاتهم بهذا الموضوع ، وإلى حد ما أكثرهم قرباً لضبط الأوقات كانت هذه المشاركة . اليوم الفكرة مختلفة قليلاً في هذا المشروع المتواضع والذي لا يحتوي تعقيدات يصعب قراءتها أو التعامل معها في الأكواد . حيث اعتمدت وتوجهت إلى البساطة من حيث عند النقل والدمج ( إلى / في ) أي مشروع . الآن شرح بسيط لبعض تفاصيل المشروع التي سيتم الإعتماد عليها :- سي سيتم الإعتماد على خطوط الطول والعرض بعد إجراء بعض التعديلات على طريقة احتساب الأوقات . وقد تمت المقارنة مع موقع ( مواقيت الصلاة ) للوصول إلى أقل فارق - إن وُجِد - في المواقيت . سيتم الإعتماد على تقويم أم القرى في أحدى مشاركات أستاذنا @ابوخليل . سيتم اعتماد إظهار الوقت المتبقي لكل موعد صلاة في الشاشة الرئيسية أو المصغرة ( ستضاف لاحقاً ) . سيتم منح الحرية للمستخدم بنوع التذكير لوقت الصلاة ( إشعار برسالة تنبيه داخل البرنامج ، إشعار فوق شريط Taskbar ) . سيتم أيضاً منح الحرية للمستخدم باختيار صوت التنبيه ( أذان كامل ، تكبير ، .... إلخ ) . المزيد من الأمور ستأتي لاحقاً تباعاً في تطويرات وتحديثات جديدة إن شاء الله . صورة لواجهة البرنامج حالياً ، والذي أسميته في الوقت الحالي " صلوات " 🤗 ، ما لم يتم اختيار اسم آخر
    5 points
  2. السلام عليكم مع خالص التقدير لأخونا أبو أحمد هذا حل آخر بلا أكواد فقط بالمعادلات فصل الارقام عن الاحرف.xlsx
    4 points
  3. بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته طبعا انا مسجل من فترة طويلة والصراحة منتدى مبدع واستفدت كثير وطرق كثيرة و استاذة كبار المنتدى حبيت اشارك بهذا الموضوع البسيط والكثير يبحث عنة وإن شاء الله اكون عند حسن الظن اخفاء الجداول و اظهارها على زر اظهار و اخفاء بكل بساطة ووضعت لكم الاكواد مع شرحها زر اخفاء الجداول اسم الزر ( HideTables ) كود الزر Dim db As DAO.Database Dim tbl As DAO.TableDef Set db = CurrentDb ' قم بتحديد الجداول التي ترغب في إخفائها ' يمكنك تكرار هذا السطر لإضافة المزيد من الجداول Set tbl = db.TableDefs("اسم_الجدول") ' قم بتعيين خاصية Hidden للجدول إلى True لإخفائه tbl.Attributes = dbHiddenObject ' أغلق قاعدة البيانات db.Close Set tbl = Nothing Set db = Nothing كود زر اظهار الجداول اسم الزر ( ShowTables ) Dim db As DAO.Database Dim tbl As DAO.TableDef Set db = CurrentDb ' قم بتحديد الجداول التي ترغب في إظهارها ' يمكنك تكرار هذا السطر لإضافة المزيد من الجداول Set tbl = db.TableDefs("اسم_الجدول") ' قم بتعيين خاصية Hidden للجدول إلى False لإظهاره tbl.Attributes = tbl.Attributes And Not dbHiddenObject ' أغلق قاعدة البيانات db.Close Set tbl = Nothing Set db = Nothing ودمتم سالمين باحطاب سوفت
    4 points
  4. السلام عليكم ورحمة الله وبركاته هذه محاولة في الملف المرفق إن كنت قد وُفقت في فهم المطلوب... جرد المخزن_1.xlsx
    3 points
  5. وعليكم السلام ورحمه الله وبركاته جرب هذا التعديل نموذج ادخال بيانات الحجاج داخل الشيت.xlsm
    2 points
  6. معك حق تم تعديل الكود تفضل جرب الملف واعلمنى بالنتيجة 1.xlsm
    2 points
  7. cleantabeles.rar تفضل اخي كان هناك خطأين اعتذر عنهم لاني جمعت لك الكود بسرعة وكنت اختبر من زر وليس موديول فقط تستبدل me باسم النموذج هكذا forms!cleaner كما ان هناك متغير معلن اكثر من مرة اوقفته الان الكود يعمل لكننا استبدلنا احد الحروف الخمسة بكلمة عبد لامكانك اضافة حلقة جديدة للحرف او اى شئ اخر cleantabeles.rar
    2 points
  8. تحياتي... ألق نظرة على الملف المرفق لعل فيه ما تريد... حساب النقاط.xlsx
    2 points
  9. السلام عليكم ورحمة الله تم عمل المطلوب مع بعض الإضافات المستحسنة (تحضير قائمة منسدلة للصفوف بالتسمية Liste من خلال معادلات في العمودين Z و AA من شيت ... ) new2.xlsx
    2 points
  10. السلام عليكم ورحمة الله تم عمل المطلوب في الملف المرفق... كان يكفي أن تُنسخ المعادلات نفسها مع تغيير الشروط حسب ما وضعت في طلبك... new2.xlsx
    2 points
  11. وعليكم السلام- تفضل بما انك لم تقم برفع ملف توضيحى للمطلوب يكل دقة Book.xlsx
    2 points
  12. السلام عليكم ورحمة الله وبركاته وبها نبدأ عدل الفاصلة , الى الفاصله المنقوطه ; لتصبح معادله ابو احمد هكذا =IF(F8*0.0199<1.99;1.99;IF(F8*0.0199>2.99;2.99;F8*0.0199))
    2 points
  13. مشاركة مع استاذ @عبد اللطيف سلوم تفضل استاذ @soik225998 محاولتي بتعديل مرفقك بطلبك . ووافني بالرد . تجريبي_3.rar
    2 points
  14. السلام عليكم 🙂 علشان التقرير دائما يكون في نفس حجمه ، يجب استعمال الامر التالي عند فتح التقرير: Private Sub Report_Load() DoCmd.RunCommand acCmdZoom100 End Sub ومو لازم الرقم 100 ، فيمكنك استعمال اي من الارقام التالية: جعفر
    2 points
  15. أعتقد ان تناسق مكونات التقرير عند التحكم بتكبير وتصغير الإطار يعود الى عرض وضع الطباعة ، بينما في وضع عرض التقرير لا يتم إعادة تحجيم للمكونات كما في عرض الطباعة . أما فيما يخص العنوان ، فأعتقد انك تقدر تراجع هذا الموضوع 😉 لأخونا @طير البحر 🤪 والإستفادة منه .
    2 points
  16. عملت لك حل بالكود فصل الارقام عن الاحرف_01.xlsm
    2 points
  17. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاتة اهلا بكم اعضاء المنتدى الكرام اعتذر جدا للغياب الطويل عن المنتدى ولكن اشتقت اليكم فقولت ارجع بكود ممكن يفيد البعض فى عملة يعتبر البحث عن البيانات من الامور التى يبحث عنها كل مستخدمى الاكسل حيث انها تسهل عليهم اعمالهم وتحليل البيانات لديهم ولكن اذا كان لديك بيانات كثيرة جدا فى شيت الاكسل فالامر هنا يكون شاق ومرهق ومن هنا قررنا انشاء كود بحث من خلال اليوزرفورم يقوم بالبحث عن البيانات وتلوين واظهار نتائج البحث يتم وضع الكود فى حدث التكست بوكس Dim Itemsaerch As String Dim rng As Range Dim cell As Range Dim lr As Long Sheet1.Cells.Interior.Pattern = xlNone Itemsaerch = Me.TextBox1.Value lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row Set rng = Sheet1.Range("a2:a" & lr) For Each cell In rng If InStr(1, cell.Value, Itemsaerch) > 0 Then cell.Interior.Color = vbGreen End If Next cell If Me.TextBox1.Value = "" Then Sheet1.Cells.Interior.Pattern = xlNone ملف العمل فورم بحث جديد وتلوين نتائج البحث.xlsm
    2 points
  18. 2 points
  19. بارك الله فيك وزادك الله من فضله اللهم اغفر لوالدك وارحمه، وعافه واعف عنه، وأكرم نزله، ووسع مدخله، واغسله بالماء والثلج والبرد، ونقه من الخطايا كما ينقى الثوب الأبيض من الدنس. - اللهم أبدله دارا خيرا من داره، وأهلا خيرا من أهله، وزوجا خيرا من زوجه، وأدخله الجنة، وأعذه من عذاب القبر، ومن عذاب النار
    2 points
  20. أحسنت أستاذنا الكريم بارك الله فيك وزادك الله من فضله موضوع قيم جعله الله فى ميزان حسناتك
    2 points
  21. أحسنت وبارك الله فيك ودائماً من نجاح الى تفوق ان شاء الله
    2 points
  22. IFERROR(LOOKUP(A1,{600001;700001;800001;900001},{525;2775;5025;8025}) بسيطة وسهلة هذا الجزء يعنى ان الشرائح التى تبدأ بـــ600001 يكون الوعاء الضريبى هو المقابل لها بالقوسين الأخرين وهو 525 أما الشريحة الثانية 700001 فالوعاء الضريبى لها هو 2775 ...وهكذا الى اخر الشرائح وشكراً
    2 points
  23. السلام عليكم ورحمة الله ’’ قمت بتصميم برنامج أكسس ومحتاج عند الضغط على الاسم تظهر صورة الشخص على البرنامج أو ينبثق منه شاشة بها بيانات الشخص وصورته تجريبي.rar
    1 point
  24. الدالة، تتطلب النص وترتيب الدرجة في النص 1 للأول 2 للثاني: Option Explicit Function GetDeg(ByVal inText As String, DegSeq As Byte) As Variant Dim Pos1 As Integer, Pos2 As Integer Dim Deg As Variant GetDeg = "" If DegSeq < 1 Or DegSeq > 2 Then Exit Function Do While InStr(1, inText, " ") > 0 inText = Replace(inText, " ", " ") Loop Pos2 = InStr(1, inText, " درج") If Pos2 = 0 Then Exit Function If DegSeq = 2 Then Pos2 = InStr(Pos2 + 1, inText, " درج") If Pos2 = 0 Then Exit Function End If Pos1 = InStrRev(inText, " ", Pos2 - 1) If Pos1 > 0 And Pos2 > 0 Then Deg = Mid(inText, Pos1 + 1, Pos2 - Pos1 - 1) End If If IsNumeric(Deg) Then GetDeg = Val(Deg) End Function ضفه في ملفك أو انشئ ملف جديد ووحدة نمطية جديدة والصق الشفرة/الكود
    1 point
  25. الاخ @Foksh اشكرك للاشارة لموضوعي الخاص بتوسيط النماذج وانا @طير البحر وكنت اود ان اقدم لكم هدية جديدة واستخدمها فى عملي لكن التقارير التعامل معها صعب شوية وخاصة فى وضع معاينة قبل الطباعة ------------------ الاخ @kkhalifa1960 اشكرك على المعلومة القيمة فقد بحثت عنها كثيرا ---------------- الاخ @jjafferr الحقيقة استخدام هذا الامر لم يغير شئ وعدت للطريقة النى استخدمتها والمناسبة للشاشات التى نستخدمها كحيلة بديله وجرب وضع الامر فى التقرير نفسه عند الفتح ولم يقبله DoCmd.OpenReport "casetypechart", acViewPreview 'DoCmd.MoveSize 3000, 1500, 18000, 10500 DoCmd.RunCommand acCmdZoom100 اشكركم جميعا ويستمر البحث وقد راسلت مايكروسوفت
    1 point
  26. مساهمة مع الزملاء ومستخدم موديول استاذ @Foksh تفضل استاذ @2saad محاولتي . بالتقرير (Report1) الحقل (Total Price after Rounding) . DDTestRound.rar
    1 point
  27. حفظك الله ورعاك وبارك فيك ان شاء الله اقوم بتجربته غدا ان شاء الله لك كل التحية مشكور
    1 point
  28. السلام عليكم 🙂 الرابط التالي فيه ملف وبه نموذج يعطيك مقاييس مختلفة ، واعتقد بتحصل على ضالتك فيه 🙂 ومرفق الملف. http://www.peterssoftware.com/winmanip.htm جعفر winmanip.zip
    1 point
  29. تفضل هذا برنامج جاهز وكبير ويلبي طلبك عدل عليه حسب حاجتك صورة ومعلومات.rar
    1 point
  30. السلام عليكم ورحمة الله وبركاتة لدي سوال كيف يعمل نظام اوفيس اكسس 2007 على نظام اوفيس 2019 ومافوق حيث عندي برنامج على قاعدة بيانات 2007 واريده ان يعمل على اوفيس 2019 او 2021
    1 point
  31. بحاول ارسله لك لانه حجمه كبير وبشوف لك اليوم كيف اسوي فيه جزاك الله خير
    1 point
  32. عند فتح النموذج لا يظهر نهائيا في الشاشة وعندما عدلت في كود التحميل الى هذا leftPos = A * 6.88 topPos = B * 7.88 ظهر كما في الصورة
    1 point
  33. ارفق ملفك أخي الكريم .
    1 point
  34. ومشاركة مع أساتذتي ، لتقريب الأرقام لأقرب عدد صحيح إذا كان الجزء الكسري = أو أكبر أو أصغر من 0.5 Function RoundFoksh(Number As Double) As Integer If Number - Int(Number) >= 0.5 Then RoundFoksh = Int(Number) + 1 Else RoundFoksh = Int(Number) End If End Function ولاستدعاء الدالة كالآتي :- RoundFoksh(5.4) ' ستكون القيمة 5 RoundFoksh(5.5) ' ستكون القيمة 6 RoundFoksh(9.44) ' ستكون القيمة 9 RoundFoksh(9.55) ' ستكون القيمة 10
    1 point
  35. دالة Round تقرب الأعداد الفردية للأعلى والزوجية للأسفل مثال: 1.2 > 1 1.5 >2 1.9 > 2 2.2 > 2 2.5 >2 2.9 >3 ----------------------------------------------------- ولجعل هذه الدالة ترفع دائما للأعلى نستخدم الصيغة التالية : -Int(-Number) حيث Number هو الرقم أو الحقل المطلوب 1.2 > 2 1.5 >2 1.9 > 2 2.2 > 3 2.5 >3 2.9 >3 ------------------------------------------------- دالة Int تقرب للأسفل مثال: 1.2 > 1 1.5 >1 1.9 > 1 2.2 > 2 2.5 >2 2.9 >2 ------------------------------------------------- دالة Fix تقرب للرقم الأقرب للصفر بمعنى الأعداد الموجبة تنزلها والسالبها ترفعها مثال: 1.2 > 1 1.5 >1 1.9 > 1 2.2 > 2 2.5 >2 2.9 >2 -1.2 > -1 -1.5 >-1 -1.9 > -1 -2.2 > -2 -2.5 >-2 -2.9 >-2 ------------------------------------------------- دالة Fix تقرب للرقم الأقرب للصفر بمعنى الأعداد الموجبة تنزلها والسالبها ترفعها مثال: 1.2 > 1 1.5 >1 1.9 > 1 2.2 > 2 2.5 >2 2.9 >2 -1.2 > -1 -1.5 >-1 -1.9 > -1 -2.2 > -2 -2.5 >-2 -2.9 >-2
    1 point
  36. 1 point
  37. احببت ان افرد موضوعي هذا بعنوان مستقل 1-لان غالب او جميع الدروس هنا تتعامل مع واتساب ويندوز 2-وحتى يكون تطوير هذا العمل مستقلا ولا يحدث خلط بين الامثلة المثال المرفق تم تطبيقه على واتساب ويب واليكم بعض التوجيهات والملاحظات : كانت مشكلتي في محاولات سابقة انه في كل مرة يتم الارسال وفتح الواتساب ويب .. فانه يطلب ربطا جديدا بالجوال وبحمد الله توصلت الى حل هذه المشكلة التي كانت عائقا حقيقيا .. يكتفى بالارتباط مرة واحدة فقط الآن : عند كل ارسال يفتح الواتس ويب بشاشة جديدة .. فان كانت هناك نسخة مفتوحة من قبل فانه يتجاهلها وتصبح غير فعالة وهذه لا مشكلة فيها لأنه يفتح على الحساب نفسه . ارجوا من اخوتي واحبتي الذين يمرون من هنا تجربة المثال وافادتي بنتيجة التجربة ، من اجل الانتقال الى الخطوة التالية وهي ارسال المرفقات ملحوظة : المرفق sendwatsWebAll .. هو النسخة المحدثة والمطورة بعد أخذ آراء وتجارب الإخوة sendwatsWeb.mdb sendwatsWebAll.rar
    1 point
  38. مشكور، طريقة أخرى لإظهار الجدول وإخفائهHideTable.accdb
    1 point
  39. وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي جرب هدا (تم اظافة ورقة جديدة مخفية على الملف باسم PDF لتجميع الفواتير اظن ان مدى بيانات الفاتورة غير مطابق لما كتبته هنا ادا لم اكن مخطئ Sub svPDF() Dim MyRng As Range, r As Long, i As Integer, LR As Long Dim fRow, Cpt As Range, FndRng As Range, myValue As String Dim sFile As String, FolderName As String Set desWS = Sheet79: Set WS = PDF Set MyRng = desWS.[BW330:CK372] minDate = Format(desWS.[DC330], "yyyy-mm-dd"): maxDate = Format(desWS.[CV330], "yyyy-mm-dd") 'قم بتحديد مسار حفظ الملف بما يناسبك 'Path = "C:" ' المسار الافتراضي للملف الرئيسي Path = Application.ActiveWorkbook.Path 'اسم الملف المستخرج sFile = minDate & " " & "الفواتير من" & " " & maxDate & " " & "الى" ' اسم مجلد الحفظ FolderName = "raed": 'شرط فواصل الصفحات myValue = "اجمالى الواصل" If Len(desWS.[CA328].Value) = 0 Then Exit Sub Application.ScreenUpdating = False On Error Resume Next WS.Visible = xlSheetVisible: WS.Cells.Clear For i = desWS.[CA328] To desWS.[CE328]: desWS.[BU331].Value = i With ActiveWorkbook sPath = Path & Application.PathSeparator & FolderName & Application.PathSeparator If Len(Dir(sPath, vbDirectory)) = 0 Then End If MkDir sPath MyRng.Copy LR = WS.Cells(Rows.Count, "j").End(xlUp).Row + 4 With WS.Range("A" & LR) .PasteSpecial xlPasteValues: .PasteSpecial xlPasteFormats Application.CutCopyMode = False End With End With Next i With WS fRow = .Range("a:o").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Set FndRng = .Range("j10:j" & fRow) Set Cpt = FndRng.Find(What:=myValue, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext) If Not Cpt Is Nothing Then: Linge = Cpt.Address Do If Not Cpt Is Nothing Then: Cpt.Offset(2).PageBreak = xlPageBreakManual Set Cpt = FndRng.FindNext(Cpt) If Cpt Is Nothing Then: Exit Do If Cpt.Address = Linge Then: Exit Do Loop WS.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 End With WS.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Application.PathSeparator & sFile & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False WS.Visible = xlSheetVeryHidden On Error GoTo 0 Application.ScreenUpdating = True End Sub Book2.xls
    1 point
  40. السلام عليكم و رحمة الله استخدم هذا الكود Sub Summing() Dim C As Range, i As Long Dim a As Integer, b As Integer i = 3 Do While i <= 4 a = Range("E" & i): b = Range("F" & i) For Each C In Range("A3:A9") If C.Value >= a And C.Value <= b Then k = k + C.Offset(0, 1) Range("G" & i) = k End If Next k = 0 i = i + 1 Loop End Sub
    1 point
  41. اخي الحل اوقف على القاعدة اكبس كليك يمين ثم خصائص اخر شيء من اسفل تجد فك التجميد تضع صح وتكبس اوكي وتفتح الملف عادي
    1 point
  42. لا كوارث ولا اي شيء اذا اخذت بالاحتياط ولكن التقصير منك خذ مني كيف اسير في عملي 1- احذف اي شيء لا فائدة منه اول بأول .. مثل استعلامات الفحص والتجربة .. والجداول التي الغيت العمل بها .. وينطبق هذا على النماذج والتقارير وكما ذكرت لك اول بأول 2- بعد كل عمل مهم اخذ مني وقتا وجهدا اقوم باخذ نسخة احتياطية تكون في مجلد بعيدا واعطيها رقما متسلسلا .. للرجوع اليها عند الضرورة تصور عند نهاية المشروع ان مجلد النسخ الاحتياطية يحتوي على العشرات لا تعجب اذا قلت ان الرقم قد يصل الى 100 ... وغالبا النسخة الأخيرة هي المهمة 3- احيانا اشعر ان قاعدة البيانات انهكت واصابها الاجهاد .. هنا اصدر كل ما تحتويه الى قاعدة بيانات جديدة
    1 point
  43. اول علاج افتح قاعدة بيانات جديدة ثم اجلب اليها جميع الموجود في القاعدة القديمة اذا صلح الحال وإلا فيجب تتبع الخلل عادة لا يظهر الخلل عند استخدامك سطر القفز على الأخطاء في المحرر
    1 point
  44. السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) كثيراً منا حاول تشغيل تطبيقات ومشاريع آكسيس على الجوال ؛ ولكن دون نتيجة حقيقية أو فعالة . اليوم وبعد تجربة شخصية لتشغيل برامج آكسيس على الجوال بكل بساطة . دون مقدمات طويلة وعريضة لمبدأ بالمطلوب والأساسيات لتنفيذ هذه الفكرة . البرامج المطلوبة :- برنامج Limbo-x86 ؛ وهو البرنامج الوسيط لإنشاء جهاز كمبيوتر على الجوال . ويتم تثبيته على الجوال . ( APK ) نسخة Windows7 تم تثبيتها على الهاتف من نوع Huawei Y9s بمواصفات عادية ( ! ) . وتم تفعيل اللغة العربية بشكل كامل . ولم يتم حذف أي من مكوناتها . أيضاُ تم تثبيت نسخة أوفيس 2010 كاملة . ( QCOW2 ) برنامج ISO Craft-1.6 ، وسيتم ذكر وظيفته لاحقاً . أيضاً يتم تثبيته على الجوال ( APK ) طريقة العمل :- بعد نسخ الملفات التي تم تحميلها . يتم تثبيت التطبيق الأول Limbo-x86 وفتحه . لا بد من ضبطه بشكل بسيط كالآتي :- من النقاط الثلاثة أقصى اليمين نختار Settings . ثم نفعل الصلاحية للوصول لمدير الملفات ، وكذلك الأمر بالنسبة للـ Orientation نجعلها تساوي Landscape . كما في الصورة . ثم ننزل لأسفل عند الجزء Advanced ومنها الخيار High Priority نقوم بتفعيلها . ثم رجوع لواجهة البرنامج . الآن سنقوم بإنشاء جهاز كمبيوتر وهمي من خلال المثلث الصغير None ثم New ، ثم اكتب أي اسم تريده ( مثلاً Win7 ) . الآن سنقوم بضبط بعض الأمور ليعمل الجهاز الوهمي بأقل المواصفات ( حسب مواصفات الجوال ) . بالصور في الصورة التالية ، تستطيع تجربة أي الخيارات أفضل لك حسب نوع ومواصفات جهازك للتوضيح في هذا الجزء المهم . Machine Type & CPU Model & Enable MTTCG يجب تحديدهم كما هم بالصورة ( بعد عدة تجارب طبعاً ) الآن سنقوم بتحديد مسار نسخة الويندوز التي تم تحميلها ونسخها إلى ذاكرة الهاتف في Hard Disk A الآن بعد إتمام الإعدادات المطلوبة ، وقمنا بتشغيل الكمبيوتر الوهمي الذي تم إنشاءه . هذا الفيديو توضيحي للنسخة المرفقة في الروابط . طبعاً إجابةً لعدة استفسارات سيتم السؤال عنها وهي ( بطئ النسخة ، حجم الشاشة هل ستساعد ، الفكرة غير ناجحة لأسباب أخرى ما السبب ؟ .... ) كلها تعتمد على أن كرت الشاشة في التجربة هو السبب لأنه كرت شاشة وهمي ويعتمد على الذاكرة العشوائية للجوال . فعند تجربتي على جوالي الـ Huawei Y9s استغرق التشغيل والإقلاع الكامل تقريباً 6 دقائق ، بينما على جوال Samsung Note +10 استغرق التشغيل والإقلاع تقريباً 3 دقائق . ( ليست دعاية أو تسويق لأي منتج أو شركة ؛ وإنما توضيح للتجربة أين تم تطبيقها ) الآن نأتي لبرنامج ISO Craft-1.6 وما هي وظيفته وحاجته ؛ هذا البرنامج يستخدم لإنشاء ملفات الـ ISO على الجوال لإستخدامها كمحرك أقراص CD داخل البرنامج ونسخة الويندوز التي تم انشائها . وكتوضيح ؛ بما أن الويندوز الذي تم تشغيله مستقل بذاته عن الهاردوير ( القطع ) في الجوال فسنحتاج الى محرك أقراص وهمي ، وسيتم اختياره من هذا الخيار في البرنامج الرئيسي Limbo . أشكر لكم سعة صدركم إن كان الموضوع طويلاً . وإن فاتني نقطة لم ألتفت لها أرجو التنبيه بالتعليقات والمشاركات وسيتم العمل على التوسع في الفكرة بحيث تشمل الفكرة التطبيق على نسخة Windows 10 و أيضاً نسخة Windows XP
    1 point
  45. السلام عليكم ورحمة الله أخي طارق لك وحشة... إن شاء الله تكون بخير وعافية... وهذه محاولة في الملف المرفق... 555.xlsx
    1 point
  46. السلام عليكم ورحمة الله وبركاته التطبيق اهداء الى منتدانا الحبيب ورواد المنتدى العمل حتى يخرج بهذه الصورة يعلم الله وحده الجهد المبذول به اسال الله تعالى ان يتقبل هذا العمل صدقة جارية الى ما شاء الله تعالى ms access becomes an authorized e-invoicing solution provider in Saudi Arabia by www.officena.net Start your e-invoicing journey حسب متطلبات هيئة الزكاة والضريبة والجمارك السعودية يتم قراءة الرمز الناتج ان شاء الله عبر القارىء الرسمي الخاص بالهيئة ( تطبيق جوال ) حمل من هنا : التطبيق الرسمي لهيئة الزكاة والضريبة والجمارك يتم قراءة الرمز الناتج ان شاء الله عبر قارىء خاص ( تطبيق جوال ) حمل من هنا : تطبيق قرائة رمز الاستجابة طبقات لمتطلبات هيئة الزكاة والضريبة والجمارك التطبيق المقدم لكم تمت تجربته وهو متوافق مع النواتين 32 , 64 تم تصميم الاكواد داخل روتين عام ليسهل التعامل معها بكل سهولة ممكنة حاولت جاهدا جمع الاكواد المستخدمة فى موديول ليسهل نقله يتم التعامل مع الروتين باسناد فقط اسماء الحقول من النموذج المستخدم والتى يمكن تغير اسمائها تبعا لتصميمك كالاتى Call CreateInvoice(ID, SellerName, VatNo, TimeStamp, InvoiceWithVat, VatTotal) ID >>-----> اسم الحقل الدال على رقم الفاتورة وهذا ليتم تسمية ملف رمز الاستجابة الناتج بناء عليه SellerName >>-----> اسم الحقل الدال على اسم البائع VatNo >>-----> اسم الحقل الدال على الرقم الضريبي TimeStamp >>-----> اسم الحقل الدال على الوقت وتاريخ انشاء الفاتورة InvoiceWithVat >>-----> اسم الحقل الدال على القيمة الاجمالية للفاتورة VatTotal >>-----> اسم الحقل الدال على القيمة الاجمالية لمبلغ الضريبة فقط بعد تشفير البيانات يتم اسناد الشفرة الى متغير عام باسمstrHashCode والذى من خلاله يت حفظ البيانات المشفرة داخل الجدول تبعا لكل سجل ---------------------------------------------- الية العمل بعد اسناد اسماء الحقول الى الروتين يتم تمرير البيانات من تلك الحقول الى الملف التنفيذى الملحق مع القاعدة والذى بدورة يقوم بانشاء كل من 1- رمز الاستجابة السريع بعد تشفير البيانات طبقا للمطلبات from string to hex to base64 2- انشاء ملف نص به تشفير البيانات بعد ذلك تقوم باقى الاكواد بجلب البيانات المشفرة من ملف النص واسنادها الى المتغير الذى تم تخصيصه لذلك --------------------------------------------- تفاصيل الاكواد داخل الموديول كالتالى الروتين MkDir لعمل المجلدات عند الحاجة دوال الـ API الخاصة بـ ShellWait والمتوافقة مع كلتا النواتان 32 , 64 وتمت التجربة بنجاح على اوفيس 32 تارة واوفيس 64 تارة اخرى بفضل الله بنجاح حيث يتم ارسال البيانات من الحقول الى الملف التنفيذى الملحق من خلال الروتين Shell_n_Wait ليتم انشاء رمز الاستجابة السريع من خلال الروتين الخاص به وهو CreateInvoice وانشاء الملف النصى بجوار الملف التنفيذى فى نفس المسار لالحاق البيانات المشفرة طبقا للمطلبات from string to hex to base64 وبعد ذلك يتم جلب البيانات المشفرة من خلال الروتين ReadFileToText ولابد من استخلاص التشفير من خلال الروتين StripSpChars للاحتفاظ بالنص دون اى زيادات وبعد ذلك يتم الحاق البيانات المشفرة الى المتغير الذى قمت بتخصيصه لذلك وهو يحمل الاسم strHashCode والذى يتم الحاق البيانات من خلاله لكل سجل الى الحقل المخصص به للاحتفاظ بتلك الشفرة حسب طلبات السادة رواد المنتدى الكرام الملف التنفيذى تم عمله من خلال الفيجوال دوت نت ليقوم بتحويل النص طبقا للمطلبات from string to hex to base64 وتم دمج ملفات الـ Dll الخاصة بانشاء رمز الاستجابة بداخل الملف التنفيذى لسهولة التعامل معه من خلال الاكسس ليكون ملف تنفيذى واحد فقط يتم التعامل معه من خلال الـ Command Line دون الحاجة لتثبيت او تسجيل او الاستعانة بأى مكتبات خارجية او حتى ملحقة بالاكسس وذلك لسهولة نقل الموديول الى اى قاعدة دون التقيد باى مكتبات --------------------------------------------- تنبيه هام جدا جدا جدا بجوار قاعدة البيانات فى نفس مسارها مجلد باسم KSA-QR-Tool لايمكن تغيير اسم المجلد والا يحدث خلل وان استدعت الحاجة تغيير الاسم يجب ذلك داخل المدويول يتم كذلك انشاء ملف نصى اليا داخل المجلد KSA-QR-Tool لذلك يجب تحرى الحذر عند محاولة تغيير اسم المجلد داخل الموديول لذلك يرجى عدم محاولة تغير اسم المجلد كذلك داخل المجلد السابق ذكرة الملف التنفيذى KSAQR.exe لا تحاول تغيير اسم الملف لان الاكواد كذلك تتعامل مع هذا الملف من خلال اسمه كذلك لا يمكن نقل المجلد او الملف من مسار قاعدة البيانات الا بالتعديل على الاكواد وفى الختام فضلا وكرما وليس امرا الرجاء الاهتمام بالرد بما يفيد نتيجة تجربتكم الشخصية وتقييم تلك التجربة فلا تبخلوا علينا بذلك... لكم منا خالص الشكر واتمنى لكم تجربة ممتعة ومن يريد طريقتى والتى احبها وافضلها وتعلمتها من استاذى الجليل ومعلمى الجليل الاستاذ @jjafferr بتحميل الملف التنفيذى داخل القاعدة للتأكد دائما من عدم حذفه لا يتردد فى طلب ذلك فقط حاولت تقديم القاعدة بأبسط شكل حتى يقف كل من يريد استخدامها او نقلها الى تطبيقه الخاص على الاكواد المهمة فقط من خلال موديول واحد فقط تيسيرا وتسهيلا عليه وحتى تعم الفائدة هذه الاكواد المستخدمة فى الملف التنفيذى الذى تم انشاؤه من خلال الـ فيجوال دوت نت بناء على رغبة استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل لمن يريد التعلم من اكواد التشفير وبناء على طلب استاذى القدير @ابوآمنة Imports System.Drawing Imports System.IO Imports System.Text Imports QRCoder Module Module1 Sub Main() Try Dim sellerName As String = "" Dim vatNumber As String = "" Dim timeStamp As String = "" Dim invoiceTotal As String = "" Dim vatTotal As String = "" Dim imagePath As String = "" Dim filePath As String = "" If My.Application.CommandLineArgs.Count >= 6 Then sellerName = My.Application.CommandLineArgs(0) vatNumber = My.Application.CommandLineArgs(1) timeStamp = My.Application.CommandLineArgs(2) invoiceTotal = My.Application.CommandLineArgs(3) vatTotal = My.Application.CommandLineArgs(4) imagePath = My.Application.CommandLineArgs(5) filePath = My.Application.CommandLineArgs(6) Else Environment.Exit(0) End If If Not String.IsNullOrEmpty(filePath) Then File.WriteAllText(filePath, String.Join(" ", sellerName, vatNumber, timeStamp, invoiceTotal, vatTotal), Encoding.UTF8) End If End Dim tlvInvoice = CreateInvoice(sellerName, vatNumber, timeStamp, invoiceTotal, vatTotal) Dim qrGenerator As New QRCodeGenerator() Dim qrData As QRCodeData = qrGenerator.CreateQrCode(tlvInvoice, QRCodeGenerator.ECCLevel.Q) Dim qrCode As QRCode = New QRCode(qrData) Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20) qrCodeImage.Save(imagePath) If Not String.IsNullOrEmpty(filePath) Then File.WriteAllText(filePath, tlvInvoice, Encoding.UTF8) End If Catch ex As Exception End Try End Sub Function CreateInvoice(sellerName As String, vatNumber As String, timeStamp As String, invoiceTotal As String, vatTotal As String) As String Dim invoiceHex As String = "" For i = 1 To 5 Dim txt As String = "" Select Case i Case 1 txt = sellerName Case 2 txt = vatNumber Case 3 txt = timeStamp Case 4 txt = invoiceTotal Case 5 txt = vatTotal End Select Dim hexTxt As String = StringToHex(txt) Dim hexLen As String = Hex(Encoding.UTF8.GetBytes(txt).Length) If hexLen.Length = 1 Then hexLen = "0" & hexLen End If invoiceHex = invoiceHex & "0" & i & hexLen & hexTxt Next Return HexToBase64(invoiceHex) End Function Function StringToHex(txt As String) As String Dim b As Byte() = Encoding.UTF8.GetBytes(txt) Return BitConverter.ToString(b).Replace("-", "") End Function Function HexToBase64(txt As String) As String Dim bytes = New Byte((txt.Length \ 2) - 1) {} For i = 0 To bytes.Length - 1 Dim mi = txt.Substring(i * 2, 2) bytes(i) = Convert.ToByte(mi, 16) Next i Return Convert.ToBase64String(bytes) End Function End Module E-Invoicing.zip Ksa Qr 32x 64x 2007 to 2021 _Last Version.zip
    1 point
×
×
  • اضف...

Important Information