请各位高手进来帮帮小弟的忙,谢谢了 ( 积分: 100 )

  • 主题发起人 主题发起人 happytimes_dsq
  • 开始时间 开始时间
H

happytimes_dsq

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟做了个界面,上面有一些数据录入的控件,如combobox,edit,stringgrid.想将其中的内容转换成ASCII再以字节的方式通过comm1.outputbyte的方法传出去.但是我想应该是把转换的ASCII码存到数组里,然后将数组传送出去(数组定义是byte形式)但是问题是
1,怎么样把edit里类型是string的ASCII存到array of byte里呢?(我做了个这样的ASCII转换的函数:function ShowCode(ACode: string): string;
Var sTmp: string;
i: integer;
begin
Result := ';
for i := 1 to Length(ACode) do
begin
Result := Result+IntToHex(Ord(ACode),2)+' ' ;
end;
end;
VAR
S, S1,S2,S3:STRING;
begin
str:=ShowCode(Edit2.text);
S:=trim(copy(str,1,Length(str)));
S1:=trim(copy(str,Length(str),Length(str))); (ShowCode(Edit2.text));
Edit1.text:= S+S1;
end;
2,不同的内容转换出来的ASCII码长度也不同,那应该怎么存到数组里呢.
这都是我的愚见,可能行不通.那就请教大家.
还有什么别的方法实现,把动态生成的ASCII码通过串口送出去呢??谢谢各位了
 
小弟做了个界面,上面有一些数据录入的控件,如combobox,edit,stringgrid.想将其中的内容转换成ASCII再以字节的方式通过comm1.outputbyte的方法传出去.但是我想应该是把转换的ASCII码存到数组里,然后将数组传送出去(数组定义是byte形式)但是问题是
1,怎么样把edit里类型是string的ASCII存到array of byte里呢?(我做了个这样的ASCII转换的函数:function ShowCode(ACode: string): string;
Var sTmp: string;
i: integer;
begin
Result := ';
for i := 1 to Length(ACode) do
begin
Result := Result+IntToHex(Ord(ACode),2)+' ' ;
end;
end;
VAR
S, S1,S2,S3:STRING;
begin
str:=ShowCode(Edit2.text);
S:=trim(copy(str,1,Length(str)));
S1:=trim(copy(str,Length(str),Length(str))); (ShowCode(Edit2.text));
Edit1.text:= S+S1;
end;
2,不同的内容转换出来的ASCII码长度也不同,那应该怎么存到数组里呢.
这都是我的愚见,可能行不通.那就请教大家.
还有什么别的方法实现,把动态生成的ASCII码通过串口送出去呢??谢谢各位了
 
不就是要当做字节发送吗?
字符串里面保存的自然是ASCII码,直接发送就行了,没必要转换!
 
保存的是ASCII码,但是类型是string的啊,而我是想把得到的ASCII先保存到 array of byte数组里,但是不行啊.类型不对啊.你是说转换出来的ASCII就是字节形式的.???那我想请教您我就想把edit里的内容转成ASCII再通过comm1.outputbyte传送出去应该怎么写呢??谢谢
 
function StrToArrayByte(const S: string): array of byte;
var
I: Integer;
Len: Integer;
begin
Len := Length(S);
SetLength(Result, Len);
I := Len;
while I > 1 do
begin
Result[I-1] := Byte(S);
Dec(I);
end;
end;
 
大哥,您的这个函数是把string类型的ASCII转换成byte吧,我用这个函数转换后把内容存到我定义的array of byte里(没有设定存的位置,因为ASCII长度也不定,不能存到具体的位置),可是'RUN'的时候出错:1,[Error] Unit1.pas(73): Identifier expected but 'ARRAY' found,函数本身好象出错了,不应该是返回array吧.
2,当我赋给数组outputbyte发送出去出现错误:[Error] Unit1.pas(212): Incompatible types: 'Byte' and 'dynamic array'.谢谢大哥
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
819
import
I
I
回复
0
查看
702
import
I
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部