string 转成 byte 类型(50分)

  • 主题发起人 主题发起人 crpp0602
  • 开始时间 开始时间
C

crpp0602

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将所输入的字符串转成BYTE类型的,如下我写的代码,好象有点问题,
代码如下:
pStr := StrAlloc(Length(FInputString) + 1);
try {protect dyanmic memory allocation}
StrPCopy(pStr, FInputString);
{$ENDIF}
{$IFDEF BP7}
GetMem(pStr, Length(FInputString));
Move(FInputString[1],pStr^, Length(FInputString));
{$ENDIF}
FInputLength := Length(FInputString);
FInputArray := Pointer(pStr);
{Check Length!!!!}
Move(FInputArray^, FBuffer, FInputLength);
Encipher_Bytes;
{$IFDEF DELPHI}
finally
StrDispose(pStr);
end;
{$ENDIF}
{$IFDEF BP7}
FreeMem(pStr,Length(FInputString));
有哪个高手能指点一下:
 
不就是把指针空间搬来搬去嘛,没什么问题,
不过要是图干净,宁可
for i := 1 to Length(FInputString) do
FBuffer[i - 1] := ord(FInputString]);

 
根据 string 的特性,不需要自己根本空间,可如下声明一个指针即可:

procedure TForm1.Button2Click(Sender: TObject);
var
b:pchar;
s:string;
begin
s:='AAAA';
b:=pchar(s);
s:='bbbb';
showmessage(pchar(b));
showmessage(s);
end;
 
后退
顶部