F
fjhst
Unregistered / Unconfirmed
GUEST, unregistred user!
小弟以前是用c语言的,近来用delphi, 对delphi里的指针操作不顺手, 恳请各位富翁给些例子!
(1)第一个问题
C语言---------------->
char* MyStr = "This is a test string!";
char* pMyStr;
pMyStr = MyStr;
while(*pMyStr != 0x00 )
{
*pMyStr = *pMyStr+0x30;
pMyStr++;
}
嗯, 在delphi怎么写最简洁呢?
(2)第二个问题
从文本文件中读取信息用Read、Readln两个标准过程。
当读入数值时,Read、Readln假定数值是用一个或多个空格分开的,而不是逗号、分号或其它字符。对如下一条语句:
Read ( TextFileVar , Num1 , Num2 , Num3 ) ;
如果文件中的数值是:
100 200 300
则能够成功读入,而若文件中的数值是
100 200, 300
则Read读入"200,"并试图把它转化成一个数值时会引发一个异常。
像这样在C语言里我只要用两个指针, 一个指向文件的指针, 一个指向变量的指针即可完成问题。
然尔在delphi怎样用指针完成呢?而且我希望在delphi里的指针操作具有通用性(犹如C语言里的指针那样通用)!
我知道我很笨, 我也知道这样说出来肯定会再次被骂, 可我还想说:C语言的指针操作简洁灵活,
delphi的指针操作有点罗嗦繁琐!我想这种感觉应该是暂时的, 只要您能让我心服口服!
(3)第三个问题
delphi里的变量类型很多, 怎样用实现指针操作而不受变量类型限制呢(就是字节级操作及位操作)?
(4)第三个问题
在delphi里怎样在var声明块里定义变量的长度边界时实现像C语言里的宏定义?
var
AStr : array[0..1024] of char;
在C语言里可以先宏定义
#define MY_STRING_LENGTH 1024;
...
char AStr[MY_STRING_LENGTH];
这样的好处是便于代码的修改以及日后的维护?但是这样的好处在delphi怎样以最简洁的实现呢?
当然,各位富翁还可以将delphi指针应用例子写一下!比如指针与数组, 指针与对象, 指针与纪录...谢谢!
(1)第一个问题
C语言---------------->
char* MyStr = "This is a test string!";
char* pMyStr;
pMyStr = MyStr;
while(*pMyStr != 0x00 )
{
*pMyStr = *pMyStr+0x30;
pMyStr++;
}
嗯, 在delphi怎么写最简洁呢?
(2)第二个问题
从文本文件中读取信息用Read、Readln两个标准过程。
当读入数值时,Read、Readln假定数值是用一个或多个空格分开的,而不是逗号、分号或其它字符。对如下一条语句:
Read ( TextFileVar , Num1 , Num2 , Num3 ) ;
如果文件中的数值是:
100 200 300
则能够成功读入,而若文件中的数值是
100 200, 300
则Read读入"200,"并试图把它转化成一个数值时会引发一个异常。
像这样在C语言里我只要用两个指针, 一个指向文件的指针, 一个指向变量的指针即可完成问题。
然尔在delphi怎样用指针完成呢?而且我希望在delphi里的指针操作具有通用性(犹如C语言里的指针那样通用)!
我知道我很笨, 我也知道这样说出来肯定会再次被骂, 可我还想说:C语言的指针操作简洁灵活,
delphi的指针操作有点罗嗦繁琐!我想这种感觉应该是暂时的, 只要您能让我心服口服!
(3)第三个问题
delphi里的变量类型很多, 怎样用实现指针操作而不受变量类型限制呢(就是字节级操作及位操作)?
(4)第三个问题
在delphi里怎样在var声明块里定义变量的长度边界时实现像C语言里的宏定义?
var
AStr : array[0..1024] of char;
在C语言里可以先宏定义
#define MY_STRING_LENGTH 1024;
...
char AStr[MY_STRING_LENGTH];
这样的好处是便于代码的修改以及日后的维护?但是这样的好处在delphi怎样以最简洁的实现呢?
当然,各位富翁还可以将delphi指针应用例子写一下!比如指针与数组, 指针与对象, 指针与纪录...谢谢!