var
i : Integer;
chk : Boolean;
tmp : String;
begin
tmp := '';
chk := False;
for i := 1 to Length( edit1.Text ) do begin
if chk then begin
tmp := Copy( edit1.Text, i-1, 2 ) + tmp;
chk := False;
end else begin
if Copy( edit1.Text, i, 1 ) > #127 then chk := True
else tmp := Copy( edit1.Text, i, 1 ) + tmp;
end;
end;
edit2.Text := tmp;
<!--CodeE-->
한글의 경우 아스키 코드값이 127보다 크다고 하네요...
그리고 2byte이니까 토글로 되게 해서 한것입니다.
한글 영문 모두 되구요....
function ReverseWideString(const AText: WideString): Widestring;
var
I, Index: Integer;
begin
Index := Length(AText);
SetLength(Result, Index);
for I := 1 to Index do
begin
Result[I] := AText[Index];
Dec(Index);
end;
end;
<!--CodeS-->
// 참고만 하세요...ㅡㅡ;
var
i : integer;
val : string;
begin
val := edit1.Text;
i := length(val);
while i > 0 do
begin
if mbSingleByte = ByteType(val, i) then
begin
edit2.Text := edit2.Text + val[i];
dec(i);
end else
begin
edit2.Text := edit2.Text + val[i-1] + val[i];
dec(i,2);
end;
end;
end;
<!--CodeE-->
이런 방법도 있습니다.
<!--CodeS-->
var
i : Integer;
chk : Boolean;
tmp : String;
begin
tmp := '';
chk := False;
for i := 1 to Length( edit1.Text ) do begin
if chk then begin
tmp := Copy( edit1.Text, i-1, 2 ) + tmp;
chk := False;
end else begin
if Copy( edit1.Text, i, 1 ) > #127 then chk := True
else tmp := Copy( edit1.Text, i, 1 ) + tmp;
end;
end;
edit2.Text := tmp;
<!--CodeE-->
한글의 경우 아스키 코드값이 127보다 크다고 하네요...
그리고 2byte이니까 토글로 되게 해서 한것입니다.
한글 영문 모두 되구요....