الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دالة لحذف التشكيل تعمل في الدلفي ولا تعمل في Firebird

بدأه bahmani في 18 يوليو 2010 · 2 رد · 755 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

إخواني الكرام، أردت برمجة دالة خارجية لـ FireBird (UDF) عن طريق الدلفي 2009، جربت الدالة في الدلفي عملت بنجاح، لكن في FireBird لا تعمل أي شئ ، ترجع لي نفس القيمة التي أدخلتها، أرجو مساعدتكم

function withowtTachkil(Const Text : PChar) : PChar; cdecl;
var
  S : String;
  L : string;
  C : Char;
begin
 S := string(Text);
  for C := #$064E to #$0652 do
   begin
     S:= StringReplace(S,C,'',[rfReplaceAll]);
   end;
 L := S;
 Result := Pchar(L);
end;

بالتوفيق، وشكرا

#2

السلام عليكم ورحمة الله

بعد تجريب كل الإحتمالات - الحمد لله - توصلت إلى مايلي :

function withowtTachkil(Const Text : PAnsiChar) : PAnsiChar; cdecl;
var
 c: Char;
 S : string;
 AText ,R: AnsiString;
 i,j : Integer;

begin
  AText := AnsiString(Text);
  S := UTF8ToWideString(A);


  for C := #$064E to #$0652 do  //الحركات
   begin

     S:= StringReplace(S,C,'',[rfReplaceAll]);
   end;
  R := UTF8Encode(S);
  Result := PAnsiChar(R);
end;

على ما يبدو، FireBird يرسل القيم النصية بترميز UTF8، لذلك يجب تحويلها إلى Unicode لتستطيع التعامل معها

من له شرح أوضح اهذه القضية فليتفضل

بالتوفيق وشكرا

1
#3

أرجو منك أخي المساعدة لتعلم استعمال FIREBIRD مع دلفي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…