var
str:string;
cutstr
begin
str:='#$a5#
a#
#
#######
b#$a6'; //有单引号的字符变量 str:=
str:string;
cutstr
begin
str:='#$a5#
var
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
11 个解决方案
#1
该回复于2012-10-11 09:51:03被版主删除
#2
var i:integer;
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
#3
function HexStrToInt(mStr:string):integer;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
#4
使用函数
AnsiDequotedStr(str, ''');
即可
AnsiDequotedStr(str, ''');
即可
#5
你这不是单纯的去除单引号,而是转换,参考3楼吧。
#6
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
#7
就1楼的回复嘛。。
#8
顶
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
#9
楼主就是想把字符串转换成十六进制吧
#10
cutstr是啥类型呀? 看不懂楼主要干什么
#11
感觉蓝色光芒说的挺对的
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
a#
var
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
11 个解决方案
#1
该回复于2012-10-11 09:51:03被版主删除
#2
var i:integer;
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
#3
function HexStrToInt(mStr:string):integer;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
#4
使用函数
AnsiDequotedStr(str, ''');
即可
AnsiDequotedStr(str, ''');
即可
#5
你这不是单纯的去除单引号,而是转换,参考3楼吧。
#6
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
#7
就1楼的回复嘛。。
#8
顶
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
#9
楼主就是想把字符串转换成十六进制吧
#10
cutstr是啥类型呀? 看不懂楼主要干什么
#11
感觉蓝色光芒说的挺对的
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
#
var
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
11 个解决方案
#1
该回复于2012-10-11 09:51:03被版主删除
#2
var i:integer;
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
#3
function HexStrToInt(mStr:string):integer;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
#4
使用函数
AnsiDequotedStr(str, ''');
即可
AnsiDequotedStr(str, ''');
即可
#5
你这不是单纯的去除单引号,而是转换,参考3楼吧。
#6
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
#7
就1楼的回复嘛。。
#8
顶
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
#9
楼主就是想把字符串转换成十六进制吧
#10
cutstr是啥类型呀? 看不懂楼主要干什么
#11
感觉蓝色光芒说的挺对的
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
#######
var
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
str:string;
cutstr
begin
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
cutstr:=str; //我能通过什么方法把cutstr:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6 变成这样。
end;
11 个解决方案
#1
该回复于2012-10-11 09:51:03被版主删除
#2
var i:integer;
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
for i:=1 to length(cutstr) do str:=str '#$' inttohex(ord(cutstr[i]),2));
#3
function HexStrToInt(mStr:string):integer;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
var
H,L:integer;
begin
H := ord(mStr[1]);
if H >= 65 then H:=H - 55 else H:=H - 48;
L := ord(mStr[2]);
if L >= 65 then L:=L - 55 else L:=L - 48;
result := H*16 + L;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
cutstr,cutstr2, temp:string;
i: Integer;
begin
cutstr2:=#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6;
cutstr :='';
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
for i := 0 to (Length(str) div 4 -1) do
begin
temp :=Copy(str,i*4+3,2);
cutstr :=cutstr + Char(HexStrToInt(UpperCase(temp)));
end;
if cutstr=cutstr2 then
ShowMessage(cutstr);
end;
#4
使用函数
AnsiDequotedStr(str, ''');
即可
AnsiDequotedStr(str, ''');
即可
#5
你这不是单纯的去除单引号,而是转换,参考3楼吧。
#6
str:='#$a5#$0a#$01#$00#$08#$08#$08#$08#$08#$08#$0b#$a6'; //有单引号的字符变量
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
这个字符串中,除了语法的单引号,哪里有单引号?
楼主不会是想去掉前后的单引号吧?如果是的话,得补一下基础知识了,
str := 'aaa';
执行之后, str的内容是 aaa 的字符串,而不是两边带引号的aaa字符串.
#7
就1楼的回复嘛。。
#8
顶
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
kiboisme
(蓝色光芒)
要不然就是楼主没有说清楚
#9
楼主就是想把字符串转换成十六进制吧
#10
cutstr是啥类型呀? 看不懂楼主要干什么
#11
感觉蓝色光芒说的挺对的
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
字符串读出后就是不带单引号的,我感觉你这个没必要去掉,直接ShowMessage(str);就可以
b#$a6'; //有单引号的字符变量 str:=