type
  cmdEnt =
    record
      cmdMain: string;
      cmdPara: 0..2;
      cmdSVal: DWORD;
    end;
val
  cmdTable: array[1..20] of cmdEnt;
然后这样赋值并不行,应该怎么赋值呢?
  cmdTable:=
    (('wait', 0, 0),
     ('mmup', 1, MOUSEEVENTF_MOVE),
     ('mmdn', 1, MOUSEEVENTF_MOVE),
     ('mmlf', 1, MOUSEEVENTF_MOVE),
     ('mmrt', 1, MOUSEEVENTF_MOVE),
     ('mmto', 2, MOUSEEVENTF_ABSOLUTE),
     ('mlbc', 0, 0),
     ('mlbd', 0, MOUSEEVENTF_LEFTDOWN),
     ('mlbu', 0, MOUSEEVENTF_LEFTUP),
     ('mrbc', 0, 0),
     ('mrbd', 0, MOUSEEVENTF_RIGHTDOWN),
     ('mrbu', 0, MOUSEEVENTF_RIGHTUP),
     ('mmbc', 0, 0),
     ('mmbd', 0, MOUSEEVENTF_MIDDLEDOWN),
     ('mmbu', 0, MOUSEEVENTF_MIDDLEUP),
     ('mmsu', 1, MOUSEEVENTF_WHEEL),
     ('mmsd', 1, MOUSEEVENTF_WHEEL),
     ('keyp', 1, 0),
     ('keyd', 1, 0), //keydown=0
     ('keyu', 1, KEYEVENTF_KEYUP)
    );
这样赋值并不行,应该怎么赋值呢?
可以直接做const赋值么,可以的话,如何做?

解决方案 »

  1.   


     cmdTable[1]:=...
     cmdTable[2]:=...
    一条一条来。
      

  2.   

    隻能一個Field一個Field賦值,不過可以寫個函數來簡化。
      

  3.   

    另外
    cmdTable[1]:=('wait', 0, 0);
    这样也是不行的
    单个的record应该怎么一起赋值呢?
    还真是要写函数了?
      

  4.   

    cmdTable[1].cmdMain := 'wait';
    cmdTable[1].cmdPara:= 0;
    cmdTable[1].cmdSVal:= 0;
      

  5.   

    ...
    像楼上这样就真是要麻烦死了
    哎,写个函数算了
    用C可以直接StructArr={{1,1},{2,1},{3,1}}这样赋掉的..