13-10-2014, 03:54 PM
السلام عليكم
تحتاج الى مكونين Memo ;
تحتاج الى مكون Button1
تحتاج الى ملف نسيc:\Data.txt تضع فيه قاموس الكلمات الخاص بك و هاهي الوحدة
تحتاج الى مكونين Memo ;
تحتاج الى مكون Button1
تحتاج الى ملف نسيc:\Data.txt تضع فيه قاموس الكلمات الخاص بك و هاهي الوحدة
PHP كود :
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TCrypt = record
Alpha: string;
Crypt: string;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
private
CryptTable: array of TCrypt;
procedure CreateCryptTable;
procedure ReplaceStr(var Str: string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
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;
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;
end.
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج

