怎样将String类型的数据转换为Char类型?(在线等待)(50分)

  • 主题发起人 主题发起人 delphi_初学者
  • 开始时间 开始时间
D

delphi_初学者

Unregistered / Unconfirmed
GUEST, unregistred user!
我怎样才能将EDIT.TEXT等的String类型的数据转换为Char类型呢?
 
pchar()还是字符串,是以NULL('/0')为结束符的字符串。
准确的来说,string和char是两种不同的类型呀,你可以把string中的某个字符转成char型的,
如:var a:string;
b:char;
a:='abc';
b:=a[2];
则b就是"c"。
 
var
s:string;
a:char;
先对s赋值,
a:=s[n];
n不能大于s的长度
 
各位:那汉字怎样转换呢?转换后如何还原呢?比如:"中华人民共和国"这样的String子串
 
StrPLCopy
function StrPLCopy(Dest: PChar
const Source: string
MaxLen: Cardinal): PChar;

Description

StrPLCopy copies up to a maximum of MaxLen characters from the Pascal-style string Source into the null-terminated string Dest. StrPLCopy returns a pointer to Dest.
 
用widestring来做
 
string可以说就是char类型
 
AnsiString ansiS;
char* chS;

chS = anisS.c_str();
 
procedure TForm1.Button1Click(Sender: TObject);
var
C: Array [1..3] of Char;
begin
C := 'cat';
NMUDP1.RemoteHost := '127.0.0.1';
NMUDP1.ReportLevel := Status_Basic;
NMUDP1.LocalPort := 6668;
NMUDP1.RemotePort := 6668;
NMUDP1.SendBuffer(C, 3);
end;

以上是delphi中的例子,我想将 C 替换为 String 类型的字符串,要怎样改?
 
你可以这样啊
c:string;
c:='cat';
nmudp1.sendbuffer(pointer(c)^,3)
 
to:张无忌
调试通不过
 
c:='cat';
nmudp1.sendbuffer(pchar(c),3)
 
最好用pchar();
var
c:pchar;
setlength(c,10);
c:=pchar('cat');
sendbuffer(c,length(c));
 
pchar编译不一定通得过,最好用strpcopy将pascal字符串转化成pchar再发送。
 
你可以这样如何?
c:string;
c:='cat';
nmudp1.sendbuffer(pointer(c),3)
 
Pchar(String)
对于调用参数来说这样足已。
 
各位:还是不行,编译时提示不相容的类型
 
那这样
var
buf:array[1..1024]of char;
copymemory(@buf,str,length(str));//不要让length(str)>1024
nmudp1.sendbuffer(buf,length)
 
编译时还是提示不相容的类型,是不是我的delphi5有问题?:(
 
后退
顶部