27-08-2013, 01:44 AM
السلام عليكم...
لدي وحدة برمجية (unit) خاصة أضيف إليها من حين إلى آخر بعض الدوال و الإجراءات التي قد أحتاجها في العديد من المشاريع. هنا بعض الدوال و الإجراءات من تلك الوحدة:
الدوال الثلاث التالية تعتمد على مبدأ محاولة التحويل و اصطياد الخطأ. أستعملها للتأكد من أن المستخدم أدخل البيانات ذات النوع المطلوب (في TEdit مثلاً):
1. دالة للتأكد من أن القيمة المدخلة عدد صحيح:
2. دالة للتأكد من أن القيمة المدخلة عدد حقيقي:
3. دالة للتأكد من أن القيمة المدخلة تاريخ مقبول:
الدالة التالية تتأكد مما إذا كان المفتاح (في لوحة المفاتيح) مضغوطاً أم لا (غالباً قد نحتاجها مع مفاتيح Shift أو Ctrl أو Alt. ثوابتها العددية هي VK_SHIFT و VK_CONTROL و VK_MENU على الترتيب):
الدالة التالية تتأكد ما إذا كان أحد المفاتيح القلابة مشغل أم لا (المفاتيح القلابة هي التي لها حالة تشغيل/إطفاء، و تشمل CapsLock و NumLock و ScrollLock) و ثوابتها العددية هي على الترتيب: VK_CAPITAL و VK_NUMLOCK و VK_SCROLL:
نرجو الاستفادة و السلام.
لدي وحدة برمجية (unit) خاصة أضيف إليها من حين إلى آخر بعض الدوال و الإجراءات التي قد أحتاجها في العديد من المشاريع. هنا بعض الدوال و الإجراءات من تلك الوحدة:
الدوال الثلاث التالية تعتمد على مبدأ محاولة التحويل و اصطياد الخطأ. أستعملها للتأكد من أن المستخدم أدخل البيانات ذات النوع المطلوب (في TEdit مثلاً):
1. دالة للتأكد من أن القيمة المدخلة عدد صحيح:
كود :
function IsInteger(Text: string): Boolean;
begin
try
StrToInt(Text);
Result := True;
except
Result := False;
end;
end;2. دالة للتأكد من أن القيمة المدخلة عدد حقيقي:
كود :
function IsFloat(Text: string): Boolean;
begin
try
StrToFloat(Text);
Result := True;
except
Result := False;
end;
end;3. دالة للتأكد من أن القيمة المدخلة تاريخ مقبول:
كود :
function IsDate(Text: string): Boolean;
begin
try
StrToDate(Text);
Result := True;
except
Result := False;
end;
end;الدالة التالية تتأكد مما إذا كان المفتاح (في لوحة المفاتيح) مضغوطاً أم لا (غالباً قد نحتاجها مع مفاتيح Shift أو Ctrl أو Alt. ثوابتها العددية هي VK_SHIFT و VK_CONTROL و VK_MENU على الترتيب):
كود :
function KeyIsDown(AVirtKey: Integer): Boolean;
const
KEY_IS_DOWN = $8000;
var
AKeyState: SmallInt;
begin
AKeyState := GetKeyState(AVirtKey);
if (AKeyState and KEY_IS_DOWN) = KEY_IS_DOWN then
Result := True
else
Result := False;
end;الدالة التالية تتأكد ما إذا كان أحد المفاتيح القلابة مشغل أم لا (المفاتيح القلابة هي التي لها حالة تشغيل/إطفاء، و تشمل CapsLock و NumLock و ScrollLock) و ثوابتها العددية هي على الترتيب: VK_CAPITAL و VK_NUMLOCK و VK_SCROLL:
كود :
function KeyIsToggledOn(AVirtKey: Integer): Boolean;
const
KEY_IS_ON = $0001;
var
AKeyState: SmallInt;
begin
AKeyState := GetKeyState(AVirtKey);
if (AKeyState and KEY_IS_ON) = KEY_IS_ON then
Result := True
else
Result := False;
end;نرجو الاستفادة و السلام.

