按照musicwind的指示,果然好用了。 200分给你。 另外,还有一个小问题: 怎么把一个string变量赋值给char数组?var a1: array[0,47] of char; s1:string;begin s1:=edit1.text;
s1的内容如何给a1赋植?
函数 StrPCopyprocedure TForm1.Button1Click(Sender: TObject); var a1: array[0..10] of char; s: string; begin a1 := 'Nice'; s := a1; showMessage( s ); s := 'Hello'; StrCopy( a1, pchar(s) ); s := a1; ShowMessage( s ); end;
StrucId : String[4];
Version : Longint;
ObjectType : Longint;
ObjectName : String[48];
ObjectQMgrName : String[48];
DynamicQName : String[48];
AlternateUserId: String[12];
RecsPresent : Longint;
KnownDestCount : Longint;
UnknownDestCount : Longint;
InvalidDestCount : Longint;
ObjectRecOffset : Longint;
ResponseRecOffset: Longint;
ObjectRecPtr : String[32];
ResponseRecPtr : String[32];
AlternateSecurityId : String[40];
ResolvedQName : String[48];
ResolvedQMgrName : String[48];
End ;
1. Record => Packed Record 改为紧缩记录;2. String[..]改为 Char 数组。
比如:
String[4] => array[0..3] of Char;
String[48] => array[0..47] of Char;
String[32] => array[0..31] of Char;
其他String也一样,改为 Char 数组,开始的下标为0,则变量可以与PChar兼容。
把string *???改成数组,同Musicwind(吾爱是Yaya!) 一样.
2:
好像VB的ByBal在Delphi中应该用var进行指定.
3:
你的过程的声明好像没有指定别名?MQOPENstd@24应该用Name进行指定
200分给你。
另外,还有一个小问题:
怎么把一个string变量赋值给char数组?var
a1: array[0,47] of char;
s1:string;begin
s1:=edit1.text;
s1的内容如何给a1赋植?
函数 StrPCopyprocedure TForm1.Button1Click(Sender: TObject);
var
a1: array[0..10] of char;
s: string;
begin
a1 := 'Nice';
s := a1;
showMessage( s );
s := 'Hello';
StrCopy( a1, pchar(s) );
s := a1;
ShowMessage( s );
end;
StrCopy( a1, pchar(s) ); //将 s 赋值给 a1数组。