كيف استبدل حروف الكلمات بارقام من ملف نصي
#10
السلام عليكم

الفكرة ان نقوم بانشاء جدول يحتوي على الحرف و ما يقابله من كلمة/ رقم نريد تشفيره
نقوم بتعريف 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
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد


الردود في هذا الموضوع
كيف استبدل حروف الكلمات بارقام من ملف نصي - بواسطة S.FATEH - 17-07-2012, 02:51 PM

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم