起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1169|回复: 40

【搞定】怎样定义数组(?)**

[复制链接]
发表于 2007-1-10 16:12:08 | 显示全部楼层 |阅读模式
在x3里怎样定义数组
回复

使用道具 举报

发表于 2007-1-10 16:28:25 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2007-9-3 10:44:59 | 显示全部楼层
var
   f: array of Integer;
   i: integer;
begin
SetLength(f,9);
1:如果只写上面的代码是定义 一个0-9长度的Integer的数组吗?   
2: 上面的定义是否等于D6 中的 f: array [0..9] of Integer
回复 支持 反对

使用道具 举报

发表于 2007-9-3 10:51:00 | 显示全部楼层
一个是动态的,一个是静态的。
但一般使用的话,区别不大。
回复 支持 反对

使用道具 举报

发表于 2007-9-3 13:29:57 | 显示全部楼层
var
   buffer: array of char;
begin
  System.JSRuntimeService.SetLength(buffer, 512);
endl;

SetLength出错,平台怎么把Char转化能String
[错误](50, 37): Incompatible types: "String&" and "Char[]"
回复 支持 反对

使用道具 举报

发表于 2007-9-3 14:45:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2007-9-3 16:09:00 | 显示全部楼层
这样写:
SetLength(buffer, 512);
回复 支持 反对

使用道具 举报

发表于 2007-9-3 16:14:29 | 显示全部楼层
问题1 : 在D6上  retcode := et_GetSN(hET99, @buffer[0]);方法       @buffer[0] 参数是取buffer数组的开始地址,在平台上编译出错,请问平台怎么写?
问题2 : 7楼的SetLength 是在哪个命名空间下的方法?
回复 支持 反对

使用道具 举报

发表于 2007-9-3 16:20:25 | 显示全部楼层
1、平台首先是不支持指针的。你要想办法避开指针。
2、默认就有那个函数,不用引入特殊的空间
回复 支持 反对

使用道具 举报

发表于 2007-9-3 16:39:10 | 显示全部楼层
var
  buffer: array of char;
  retcode,I: Integer;
begin
  SetLength(buffer, 512);
  for I := 0 to 512 do
     buffer[I] := char(0); <---------------编译没错,运行出错,如下图怀疑是  SetLength方法有问题SetLength方法打( 我都看不见参数

  retcode := GCUSB.head.et_GetSN(hET99, @buffer[0]);
   for I := 0 to 7 do
   begin
    Result := Result + IntToHex(byte(buffer[I]),2)+' ';
   end;
end

32.png

5.89 KB, 下载次数: 255

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-15 20:48 , Processed in 0.039203 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表