type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Memo2: TMemo; Button2: TButton; PRocedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } function URLEncode(const msg : String) : String; function GetMemoText(memo:TMemo):string; public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; ss: string; begin ss := GetMemoText(Memo1); Memo1.Text :=ss; Memo2.Clear; for i := 1 to Length(ss) do begin Memo2.Text := Memo2.Text + '%' + IntToHex(Ord(ss), 2); end; end;
function TForm1.URLEncode(const msg: String): String; var I : Integer; begin Result := ''; for I := 1 to Length(msg) do begin if msg[I] = ' ' then Result := Result + '+' else if msg[I] in ['a'..'z', 'A'..'Z', '0'..'9'] then Result := Result + msg[I] else Result := Result + '%' + IntToHex(ord(msg[I]), 2); end;
end;
procedure TForm1.Button2Click(Sender: TObject); var ss:string; begin Memo2.Clear; ss :=GetMemoText(Memo1); Memo1.Text :=ss; Memo2.Text :=HTTPDecode(trim(ss)); end;
function TForm1.GetMemoText(memo: TMemo): string; var i:integer; begin for i:=0 to memo.Lines.Count-1 do begin Result :=Result + trim(memo.Lines); end; end;
type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Memo2: TMemo; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } function URLEncode(const msg : String) : String; function GetMemoText(memo:TMemo):string; public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; ss: string; begin ss := GetMemoText(Memo1); Memo1.Text :=ss; Memo2.Clear; for i := 1 to Length(ss) do begin Memo2.Text := Memo2.Text + '%' + IntToHex(Ord(ss), 2); end; end;
function TForm1.URLEncode(const msg: String): String; var I : Integer; begin Result := ''; for I := 1 to Length(msg) do begin if msg[I] = ' ' then Result := Result + '+' else if msg[I] in ['a'..'z', 'A'..'Z', '0'..'9'] then Result := Result + msg[I] else Result := Result + '%' + IntToHex(ord(msg[I]), 2); end;
end;
procedure TForm1.Button2Click(Sender: TObject); var ss:string; begin Memo2.Clear; ss :=GetMemoText(Memo1); Memo1.Text :=ss; Memo2.Text :=HTTPDecode(trim(ss)); end;
function TForm1.GetMemoText(memo: TMemo): string; var i:integer; begin for i:=0 to memo.Lines.Count-1 do begin Result :=Result + trim(memo.Lines); end; end;