12-06-2018, 05:07 AM
السلام عليكم ورحمة الله تعالى وبركاته
هذا كود بسيط للتحقق من حالة الأحرف في سلسلة نصية
بإستخدام جدول ترميز يونيكود للحروف العربية
بعض المراجع للفائدة
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
لأن البداية كانت من هنا
هذا كود بسيط للتحقق من حالة الأحرف في سلسلة نصية
بإستخدام جدول ترميز يونيكود للحروف العربية
بعض المراجع للفائدة
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..41] of 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(Value: Word): Byte;
begin
Result := Value mod $0621;
end;
function IsAT(const Text: WideString): Boolean;
var
I: Cardinal;
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(Sender: TObject);
begin
if IsAT('هل هذا النص عربي') then
ShowMessage('This text is Arabic');
end;
سبحان الله وبحمده سبحان الله العظيم


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)