1.如何增加字符到PCHAR?如:
p:pchar
GetWindowText(p....)
想在前面加上个'D'如何加?
(不要用STRING转换)2.Delphi中最大数值类型是什么?
n:int64;
n:=24*256*256*256+19*256*256+204*256+26
编辑报错!! 如何解决?
p:pchar
GetWindowText(p....)
想在前面加上个'D'如何加?
(不要用STRING转换)2.Delphi中最大数值类型是什么?
n:int64;
n:=24*256*256*256+19*256*256+204*256+26
编辑报错!! 如何解决?
解决方案 »
- delphi 订购时更新问题,急!
- 局域网广播消息
- 我不小心把UDL 的打开方式改成文本稳当打开了。怎么改回来啊?
- 新手请教:关于数据库出错的问题~!!!
- 1.用QUERY插入、更新一条记录时,怎样对一些字段进行约束,比如不允许为空的字段,用存储过程能做到吗?怎样写?
- Teechart使用方法
- 请问如何修改gif文件某贞图像?
- teechart pro5 的正式版哪里有下,能用的话马上给分.
- 请问怎么连接MySql数据库,要不要做相关的设置?
- 请问我将一个TStringList 每一行添加到数据库里,出现List index out of bounds(1)的错误,请问这是什么错误?
- 关于Crystal Report VCL 组件的应用 ( 报表的参数传递 )
- 如何写这算法
var
arr:array of char;
pIndex:integer;
pTemp:Pchar;
begin
setlength(arr,length(p)+1);
for pIndex:=0 to length(p)-1 do
arr[pIndex]:=p[pIndex];
arr[length(p)]:=c;
result:=@arr[0];
end;procedure TForm1.Button1Click(Sender: TObject);
var
p:pchar;
begin
p:=pchar('abcdef');
showmessage(strpas(CharAddToPchar(p,char('a'))));
end;
Procedure CharAddToPchar(var p:pchar;c:char);
var
arr:array of char;
pIndex:integer;
begin
setlength(arr,length(p)+1);
arr[0]:=c;
for pIndex:=1 to length(p) do
arr[pIndex]:=p[pIndex-1];
p:=@arr[0];
end;procedure TForm1.Button1Click(Sender: TObject);
var
p:pchar;
begin
p:=pchar('abcdef');
CharAddToPchar(p,char('D'));
showmessage(strpas(p));
end;与我在前面给出的那个有以下不同:
1、按楼主要求,把字符D加在了PCHAR指向的字串的前面;
2、使用了引用传值(最选给出的是函数,靠创建一个Pchar副本返回;而现在这个过程是直接改变原Pchar。
错误之处,请指正。
p:pchar
GetWindowText(p....)
想在前面加上个'D'如何加?
(不要用STRING转换)PCHAR是个指向字符的指针,如果它指向一串字符串,那我们操作它所指的值时,可以通过指针访问.
如:
var
p:pchar;
str:string;
begin
str:='test';
p:=@str[1];
showmessage(p^);//---显示第一个字符
inc(p);
showmessage(p^);//---显示第二个字符
end;如果要操作这个串,要用缓冲的办法,因为重新分配内空间才可以........
正如这样:(lihuasoft(学习低调做人) ( ) 信誉:100 Blog 所写函数)
重新改写了一个:
Procedure CharAddToPchar(var p:pchar;c:char);
var
arr:array of char;//--这个就是新的缓冲区.....
pIndex:integer;
begin
setlength(arr,length(p)+1);
arr[0]:=c;
for pIndex:=1 to length(p) do
arr[pIndex]:=p[pIndex-1];
p:=@arr[0];
end;
2.Delphi中最大数值类型是什么?
n:int64;
n:=24*256*256*256+19*256*256+204*256+26
//--24*(2^24)+19*(2^16)+204*(2^8)+26
编辑报错!! 如何解决?int64 8bytes 表示2的64次方;
Int64 -2^63..2^63-1 signed 64-bit
用POP3指令UIDL及RECR得到的MAIL内容好象都是编码后的例如(tbiBAdFOkBz86iTmgAAsd)
这种是什么编码方式? 如何解码??
为何pwidechar一用strlen就报错?
有何解决办法?