اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ...

1- هل هناك إمكانية عندما أريد إدخال البيانات في الخانات الخاصة باللغة العربية تكون لوحة المفاتيح بالعربية آليا  ( مثل اللقب و الإسم بالعربية ) و في الخانات الأجنبية  تكون لوحة المفاتيح  آليا بالأجنبية( مثل اللقب و الإسم باللاتينية  ) - صورة مرفقة A.

2- بالنسبة للرقم التسلسلي كيف يمكنني أن أجعله يرقم آليا و ليس يدويا ؟- صورة مرفقة B.

A.png

B.png

Recommended Posts

  • 0
نشر

بالنسبة للسؤال الأول فالأمر يتطلب معرفة معمقة قليلا في البايثون، لكن يمكنك إستخدام مكتبة pywin32 التي تسمح لك بالوصول إلى ملفات الويندوز و من ثم إستخدم الكود بالشكل التالي:

import win32api
win32api.LoadKeyboardLayout('00000809',1)

الرقم هنا يمثل اللغة UK English و يمكنك معرفة أرقام اللغة التي تريد من خلال هذا الموقع و تعديل الكود بما يتناسب مع مشروعك.

بالنسبة للرقم التسلسلي هذا الأمر يعتمد على حسب الطريقة التلي تريدها، إذا كنت تريده بشكل متتابع في هذه الحالة سيتعين عليك حفظ الأرقام التسلسلية في قاعدة البيانات لديك و في كل مرة تريد إضافة موظف جديد تقرأ من قاعدة البيانات آخر رقم و تضيف إليه 1.

أما في حالة كنت تريد بشكل عشوائي و  فريد يمكنك إستخدام الوقت التي تم فيه إنشاء الموظف عن طريق استخدام طابع زمني أو الجمع بين عناصر الوقت المختلفة لتوليد رقم فريد بهذا الشكل:

import datetime

def generate_random_serial():
    now = datetime.datetime.now()
    
    random_serial = now.strftime("%Y%m%d%H%M%S%f")  # مثال: 20241019121030987654
    
    return random_serial

self.entry_id.insert(0, generate_random_serial())

 

  • 0
نشر (معدل)
بتاريخ 7 ساعة قال Chihab Hedidi:

بالنسبة للسؤال الأول فالأمر يتطلب معرفة معمقة قليلا في البايثون، لكن يمكنك إستخدام مكتبة pywin32 التي تسمح لك بالوصول إلى ملفات الويندوز و من ثم إستخدم الكود بالشكل التالي:

import win32api
win32api.LoadKeyboardLayout('00000809',1)

الرقم هنا يمثل اللغة UK English و يمكنك معرفة أرقام اللغة التي تريد من خلال هذا الموقع و تعديل الكود بما يتناسب مع مشروعك.

بالنسبة للرقم التسلسلي هذا الأمر يعتمد على حسب الطريقة التلي تريدها، إذا كنت تريده بشكل متتابع في هذه الحالة سيتعين عليك حفظ الأرقام التسلسلية في قاعدة البيانات لديك و في كل مرة تريد إضافة موظف جديد تقرأ من قاعدة البيانات آخر رقم و تضيف إليه 1.

أما في حالة كنت تريد بشكل عشوائي و  فريد يمكنك إستخدام الوقت التي تم فيه إنشاء الموظف عن طريق استخدام طابع زمني أو الجمع بين عناصر الوقت المختلفة لتوليد رقم فريد بهذا الشكل:

import datetime

def generate_random_serial():
    now = datetime.datetime.now()
    
    random_serial = now.strftime("%Y%m%d%H%M%S%f")  # مثال: 20241019121030987654
    
    return random_serial

self.entry_id.insert(0, generate_random_serial())

 

السلام عليكم ...

أولا: أود أن أشكرك جزيلا على ردودك ، فأنت الوحيد الذي ترد على أسئلتي التي أطرحها في هذا القسم.

ثانيا

- بالنسبة للغة المفاتيح جربت الكود الذي قمت بوضعه، و لكن في مكتبي عند إستدعاء ( import 32api )

قام بتصحيحه على النحو التالي ( from win32api import LoadkeyboardLayout )،(صورة 1)

و عند كتابة الكود بالنسبة للغة العربية : win32api.LoadKeyboardLayout('00020401',1) ،(صورة 2)

و اللغة الفرنسية win32api.LoadKeyboardLayout('0001040c', 2) (صورة 3)

و عند تنفيد التطبيق لا يتغير شيء،فأين يكمن الخلل؟ 

ثالثا: 

بخصوص الترقيم التسلسلي أريد الطريقة الأولى التي أشرت إليها ( المتتابع ).

و شكرا.

 

 

 

1.png

2.png

3.png

تم التعديل في بواسطة Abdeslem Boukeffous
إضافة تعليق آخر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...