大家对delphi的string印象如何?很方便?但是如果与pChar混合在一起运算呢?(100分)

  • 主题发起人 我是坏蛋
  • 开始时间

我是坏蛋

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道这是delphi的天堂,但是。。。。
我憋了好久,还是忍不住!
***!string是什么狗屁东西!与pChar, array[0..XXX]之类的东西在一起运算屡屡出错!
特别是指针转换, 字节与位运算!
难道为了可以实现 string := string1+string2而把指针糟蹋成那样么?
还是string有什么深奥的东西令我这样愚钝的人无法理解,掌握?
或许我太笨了!但是,我决定从今以后把string这狗杂种赶出我的代码!
我令可用Pointer与array!
有意见的请签个名!
 
pChar就是字符数组的指针,以0结尾的,
其实我是把他当指针用了,非常好用。
string也很好用,就看你如何处理了,
 
String实现了一些以往需要程序员自己处理的事情, 很好用, 也可以直接转换成
PChar, 由于可以按数组访问可以很方便的进行字节和位运算.
 
string也很好用?怎么好用?string := string1+string2么?还有其他么?
什么狗屁string, 居然有AnsiString, ShortString, WideString, 这么多名堂?
就算应付Unicode也不用这么麻烦!
什么内存自动回收,引用计数!这些都是程序员的事,干么干这越厨代庖的事呢?
 
你看CString如何,还不是很简单,
string1:=string2+string3;这种做法效率低,不如一个一个拷贝字符
 
string 如果你不和api打教导,很好用, 而且速度快,很多DELPHI的
函数都为这个优化,你可以看Copy之类函数的代码,都是汇编写的,
Delphi 的编译速度这么快,绝对有他的汇编的功劳,放心用String把
即使要用 var buf的地方你也可以用 pointer(string)^来处理,
用pChar 的地方你简单的加个pchar(string)就OK了,,你说说
你还能要求什么?
 
string1:=string2+string3?我也觉得这种做法效率较低,但还不至于比一个一个拷贝字符
低吧?
 
setlength(string1,length(string2)+length(string3));
CopyMemory(@string1[1],@string2[2],length(string2));
CopyMemory(@string1[length(string2)+1],@string3[1],length(string3));
 
可是我经常和windows的API打交到哦!
我就不信DELPHI封装的API能比WINDOWS自带的API好用高效?
 
那我问你是VC的编译速度快,还是DELPHI编译速度快?
 
谢谢无忌大侠!
DELPHI编译速度是比较快!
但是运行时呢?
 
无忌大侠,晚辈有个小问题悄悄地问一下,DELPHI的var是什么东西?
有什么用? 好用么?怎么用?用在哪些地方?
 
运行时也不慢,如果你少用点控件,多用API速度飞快,
我最近做的东西都用API,连SQL server 也用API,
(只读出用户的密码,不做其他,不要和我讨论这个)
我做的是个DLL,给VC做的东西用的,很快,一点问题
都没有,和VC做的速度一样
 
var 是变量参数,和C++里的引用或者指针差不多
 
应该是相当于C++里的引用...
 
可能我以前只在PDA平台用过标准C,余毒太深了,很多东西转不过来!
刚才又翻了一下delphi的'String handling routines',发现很多东西都没见过!
 
呵呵!无忌大侠!偶今天给您送了很多分表示您平时对偶的帮助!顺便帮我
看一下http://www.delphibbs.com/delphibbs/dispq.asp?lid=1299016
的问题!谢谢!
 
顶部