PCHAR,delphi怎么调用cmd命令比如执行dir?
ShellExecute(Handle, 'open', PChar('command.com'), PChar('/k dir'), nil, SW_SHOW);
C语言里哪个函数计算字符串长度要算?
int StrLen(char *pChar){ int nLen = 0 ; while (pChar[nLen] != '\0') { nLen ++ ; } return nLen ; } 因为字符串都是以一个\0结尾的 所以说计算出字符串长度的方法很多
Delphi中如何将数组转换为指针?
关于Delphi数组,指针,字符串转换的例子:
var
aa: array [0..5] of Char;
bb:Pointer;
cc:string;
dd:PChar;
procedure TForm1.Button1Click(Sender: TObject);
begin
dd:='abcdef';
//以下是pchar内容转数组
FillChar(aa,length(dd),#0);
Move(dd^,aa,SizeOf(aa));
//以下是数组传递到指针
bb:=GetMemory(SizeOf(aa));
Move(aa,bb^,SizeOf(aa));
//以下是指针内容传递给字符串
SetLength(cc,SizeOf(aa));
Move(bb^,cc[1],SizeOf(aa));
FreeMemory(bb);//这个是释放内存
//以下是数组转pchar
dd:='';
dd:=PChar(@aa);
MessageBox(0,PChar('cc: '+cc),PChar('dd: '+dd),0);
end;
如何在Delphi中静态链接SQLite?
1.当然是下载SQLite的源代码啦,呵呵,不过记得要是allinone的amalgamation版本哦(修正:amalgamation并非allinone,只是corecodeallinone,源代码里的其他文件也是不能少的!
)2.解压缩,得到3个文件sqlite3.csqlite3.hsqlite3ext.
h然后把sqlite3.c编译成obj以便在Delphi中使用要注意的是不要用VC编译,要用Borland的C++编译器,比如Delphi自带的bcc这主要是因为VC编译的obj是COFF格式的,而Borland用的obj是OMF格式bcc编译的命令行:bcc32-pc-RT--O-w--6-I(bcc32)\include-csqlite3.c3.光有sqlite3.obj还不够哦,呵呵,因为sqlite3.c有链接其他的库这里提供所有要用到的obj文件下载4.现在所有的obj文件都准备好了,不过别高兴的太早了,现在只完成了一小部分而已...要在Delphi中使用这些obj中的函数,必须要先声明一下先新建个Unit,比如sqlite3.pas,然后指定链接的obj文件,如{$L'OBJ\sqlite3_5_4.obj'}{$L'OBJ\streams.obj'}//duplicato{$L'OBJ\_ftoul.obj'}{$L'OBJ\files.obj'}注意顺序哦,呵呵然后添加函数声明比如要用到sqlite3_open方法,在sqlite的源代码里声明是这样的SQLITE_APIintsqlite3_open(constchar*filename,/*Databasefilename(UTF-8)*/sqlite3**ppDb/*OUT:SQLitedbhandle*/);在Delphi中相应的声明为:function_sqlite3_open(dbname:PChar;vardb:Pointer):Integer;cdecl;external;注意调用方式为cdecl,函数名要以_开头,否则会找不到只是sqlite3函数好多哦,呵呵,所以我才说只完成了部分工作嘛...5.OK,完成了函数声明才算是全部完成现在可以正式使用了~
delphi中StrCopy是什么意思?
楼上说的不对,看了半天这个函数也就是拷贝字符串用的,个人感觉用处不大functionStrCopy(Dest:PChar;constSource:PChar):PChar;DescriptionUseStrCopytocopySourcetoDest.StrCopyreturnsDest.StrCpydoesnotperformanylengthchecking.ThedestinationbuffermusthaveroomforatleastStrLen(Source)+1characters.Forlengthchecking,usetheStrLCopyfunction.
还没有评论,来说两句吧...