التحقق من سلسلسة نصية هل كلها حروف عربية
#1
السلام عليكم ورحمة الله تعالى وبركاته
هذا كود بسيط للتحقق من حالة الأحرف في سلسلة نصية
بإستخدام جدول ترميز يونيكود للحروف العربية
بعض المراجع للفائدة
https://ar.wikipedia.org/wiki/أسكي
https://ar.wikipedia.org/wiki/يونيكود_عربي
https://ar.wikipedia.org/wiki/قالب:جدول_يونيكود_عربي
https://ar.wikipedia.org/wiki/يونيكود
الكود يدعم فقط الحروف العربية
يعني لا أرقام ولا حركات فقط المجال من ء إلى ي
يمكنك التعديل على الجدول لدعم أي رموز أو حروف أخرى
يمكنك أيضا مشاهدة هذا الموضوع
http://www.delphi4arab.net/forum/showthr...p?tid=9475
لأن البداية كانت من هنا

PHP كود :
const
 
 // Arabic Unicode Character Table
 
 AUCTable: array[0..41of Word = (
 
   $0621, $0622, $0623, $0624, $0625, $0626, $0627, $0628,
 
   $0629, $062A, $062B, $062C, $062D, $062E, $062F, $0630,
 
   $0631, $0632, $0633, $0634, $0635, $0636, $0637, $0638,
 
   $0639, $063A, $063B, $063C, $063D, $063E, $063F, $0640,
 
   $0641, $0642, $0643, $0644, $0645, $0646, $0647, $0648,
 
   $0649, $064A);

function 
AUCTIndex(ValueWord): Byte;
begin
  Result 
:= Value mod $0621;
end;

function 
IsAT(const TextWideString): Boolean;
var
 
 ICardinal;
begin
  Result 
:= True;
 
 for I := 1 to Length(Text) do
 
 begin
    case Word
(Text[I]) of
      $A
$D, $20: Continue;
 
     $0621..$064A: Continue;
 
   else
      Result 
:= False;
 
     Break;
 
   end;
 
 end;
end;

procedure TForm1.Button1Click(SenderTObject);
begin
  if IsAT
('هل هذا النص عربي'then
    ShowMessage
('This text is Arabic');
end
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 3 users say قال شكرا ل Agmcz على المشاركة المفيدة
  • B.M.AbdelAziZ, Ben.Ja, Delphi4Us
الرد


الردود في هذا الموضوع
التحقق من سلسلسة نصية هل كلها حروف عربية - بواسطة Agmcz - 12-06-2018, 05:07 AM

التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف