delphi4arab منتديات دلفي للعرب
كيف استبدل حروف الكلمات بارقام من ملف نصي - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف استبدل حروف الكلمات بارقام من ملف نصي (/showthread.php?tid=151)

الصفحات: 1 2


كيف استبدل حروف الكلمات بارقام من ملف نصي - kml_hmd - 21-04-2008

اكتب برنامج يقوم بتشفير كلمات من ملف حيث يضع بدلا عن الحروف ارقام مطابقة لها
مثلا الحرف أ يقابل الرقم 1 و الحرف ب يقابل الرقم 2 وبالتالي كلمة مثل اب ستظهر 21
المشكلة التي تواجهني هي فتح الملف و المرور علي كلماته حرفا حرفا والباقي يبدو اسهل حيث اقوم بكتابة تعليمة فحص الحرف ووضع الرقم المطابق للحرف


كيف استبدل حروف الكلمات بارقام من ملف نصي - محمد عبد العزيز - 21-04-2008


الأمر ابسط مما تتوقع فقط عليك ان توضح اكثر:
مثلا كلمة "دلفي" كيف ستحول
وكيف ستحول الفراغ Space
وكيف ستحول الحروف الخاصة
وماذا عن اللغة ؟ المثال الذي وضعته فوق "اب" باللغة العربية، فهل ستحول اللغة العربية فقط ؟
والسلام عليكم ورحمة الله



كيف استبدل حروف الكلمات بارقام من ملف نصي - kml_hmd - 24-04-2008

اشكرك اخي العزيز علي ردك
كما ذكرت فالفكرة تقوم علي ساس ان كل حرف سوف يقابله رقم وبالتالي اذا كانت الحروف العربية 24 حرفا فانه يقابلها 24 رقما مثلا ا يقبل 1 وب يقابل 2 و ج يقابل 3 و د يقابل 4 و ل يقابل 5 وفاء مثلا تقابل 6 والياء تقابل 10 مثلا يعني كل حرف ابجدي هنالك رقم يمثلة و الفراغات تمثل بفراغات
وبالتالي فان كلمة دلفي مثلا تتحول الي (د=4 ل=5 ف=6 ي=10 اذن دلفي تكون 10654 )
المشكلة كيف امسك الكلمة حرفا حرفا و استبدل حروفها بالارقام المناظرة لها و الفراغات تكون فراغات
اشكرك مجددا


كيف استبدل حروف الكلمات بارقام من ملف نصي - محمد عبد العزيز - 24-04-2008


لا يزال الوصف ناقص
فانت تقول يتم استبدال الحروف بارقام من 1 الى 24
فان كان لديك هذا 1221 فكيف تعرف
هل هو 2 22 1
ام هو 21 12
ام هو 1 2 2 1
والسلام عليكم ورحمة الله



كيف استبدل حروف الكلمات بارقام من ملف نصي - Delphawi - 25-04-2008

يمكنك فصل الأرقام بفواصل


كيف استبدل حروف الكلمات بارقام من ملف نصي - مهدي - 25-04-2008

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

الحل في المرفقات


كيف استبدل حروف الكلمات بارقام من ملف نصي - kml_hmd - 29-04-2008

السلام عليكم ورحمةالله وبركاته
اشكرك اخي مهدي علي الملف المرفق والذي سهل كثيرا مسالتي اما بالنسبة لاستفسار الاخ دلتاازيز فان العدد الذي ذكرت 1221 انت تقصد هل هناك فواصل ام لا وهو سؤال فعلا منطقي فهذا الرقم 1221 يمكن ان يقابل كلمة مثل (اببا) بفرض ان ا=1 ب=2
او ممكن ان يكون كلمة مثل ( ابر ) بفرض ان ا=1 ب=2 ر=12
فعلا مسالة الفواصل مهمة وقد حلاها الاخ مهدي بالمثال المرفق حيث وضع الحروف في مصفوف لها 28 عنصر واستبد الحرف بترقيمه في المصفوفة


كيف استبدل حروف الكلمات بارقام من ملف نصي - محمد عبد العزيز - 29-04-2008


يا اخي المثل يقول "فهم السؤال نصف الجواب"
بصيغة اخرى سؤال ناقص بالطرح لايمكن الاجابة عليه
الاخ مهدي اجتهد من عنده واضاف فواصل لكن هذا غير وارد في نص السؤال
والسلام عليكم ورحمة الله



كيف استبدل حروف الكلمات بارقام من ملف نصي - اسامه الحكيم - 12-07-2012

==================================================================


آ c2
أ c3
إ c5
ا c7
ب c8
ة c9
ت ca
ث cb
ج cc
ح cd
خ ce
د cf
ذ d0
ر d1
ز d2
س d3
ش d4
ص d5
ض d6
ط d7
ظ d8
ع d9
غ da
ف e1
ق e2
ك e3
ل e4
م e5
ن e6
ه e7
و e8
ى e9
ي ea
مسافة 20

===============================


كيف اقوم بتنفيذ هذه البرمجيه بحيث اننى اضع المعايير فى ملف خارج البرنامج ويقوم البرنامج بتغيير الحروف

من خلال استناده على الملف المرفق الذى وضعنا به الحروف وما يقابلها


كيف استبدل حروف الكلمات بارقام من ملف نصي - S.FATEH - 17-07-2012

السلام عليكم

الفكرة ان نقوم بانشاء جدول يحتوي على الحرف و ما يقابله من كلمة/ رقم نريد تشفيره
نقوم بتعريف record يحتوي على حقلين الحرف/ الكلمة و الحرف الكلمة التي سنستبدلها..
كود :
TCrypt = record Alpha: string; Crypt: string; end;

بعدها نقوم بانشاء مصفوفة غير محددة الابعاد من السجل array of record و بالتالي يكون لدينا جدول التشفير الخاص بنا array تكون غير محدودة الابعاد نحدد ابعادها اثناء زمن التشغيل ...
كود :
private CryptTable: array of TCrypt;
صورة توضيحية
كود :
http://imgur.com/RYZsm

الآن كل ما علينا القيام به هو ملئ الجدول الخاص بنا من الملف النصي
ملاحظة مهمة الكود للتوضيح و هناك طرق افضل المهم ان تصل الفكرة....
كود :
procedure TForm1.CreateCryptTable; var StringList: TStringList; I: Integer; begin StringList := TStringList.Create; try StringList.LoadFromFile('c:\Data.txt'); SetLength(CryptTable, StringList.Count); for I := 0 to StringList.Count -1 do begin CryptTable[i].Alpha := Copy(StringList[i], 1, Pos(' ', StringList[i]) - 1); CryptTable[i].Crypt := Copy(StringList[i], Pos(' ', StringList[i]) + 1, Length(StringList[i])); end; finally StringList.Free; end; end;

البحث و الاستبدال و اككر هناك طرق افضل والكود غير مرتب كما ينبغي لكن شغال 100/100

كود :
procedure TForm1.Button1Click(Sender: TObject); var StringList: TStringList; i: Integer; TmpStr: string; begin CreateCryptTable; StringList := TStringList.Create; try StringList.Assign(Memo1.Lines); for I := 0 to StringList.Count - 1 do begin TmpStr := StringList[i]; ReplaceStr(TmpStr); StringList[i] := TmpStr; Memo2.Lines.Add(StringList[i]); end; finally StringList.Free; end; end; procedure TForm1.ReplaceStr(var Str: string); var i: Integer; x: Integer; begin for I := Length(Str) downto 1 do begin for x := 0 to Length(CryptTable) - 1 do begin if Str[I] = CryptTable[x].Alpha then Str := StringReplace(Str, Str[i], CryptTable[x].Crypt, []); end; end; end;

S.FATEH