要用到如下形式的代码,但是,LED1一直到LED24,一个个赋值的话我感觉很费劲,能不能宏定义,把LED跟后面的数字分开,然后用循环来操作,在C++中好像是##把两个字符连一起,DELPHI中要怎么操作呢?
Fields.Fields[1].AsString := LED1Box.Text;
Fields.Fields[2].AsInteger := LED1PositiveSign.ItemIndex;
Fields.Fields[3].AsInteger := LED1CurrentSign.ItemIndex;
Fields.Fields[1].AsString := LED1Box.Text;
Fields.Fields[2].AsInteger := LED1PositiveSign.ItemIndex;
Fields.Fields[3].AsInteger := LED1CurrentSign.ItemIndex;
解决方案 »
- ※▲■●〓→→帮忙啊!免费得6位QQ号.(这是腾讯的欺诈行为吗?)
- 有没有人用过TVirtualStringTree这个组件,我觉得好难用啊
- 用什么方式实现局域网内的数据库实时数据传输比较方便,可靠
- 如何用代码选择TDBEdit中的数据
- delpi中关于adoquery某个属性的小问题。
- DBGRID中要点两下才能进行编辑状态,如何只一下就能进入编辑状?
- 不好找啊
- 谁有关于MIDAS的电子书籍呢?我的QQ 2604632 分不够还可以再加
- 用dbgrid控件怎样固定一列?
- 还要麻烦大家:我做了个简单的数据库,但.....
- 关于delphi中的panel面板
- 为什么spcomm中用comm1.WriteCommData写数据失败?
for i := 1 to 24 do
begin
...
Fields.Fields['LED'+IntToStr(i)].AsString := ....
...
end;
如果变量时在字符串里面的,比如下面的APM2_tb,我有很多这样的表,想把表名存在一个数组里,然后在SQL.ADD中用循环一次代替表名,这个有办法实现吗?字符串里面的!!!
SQL.Add('Delete from APM2_tb where MeterName = '+''''+MeterNameBox.Text+''';');
var
I: Integer;
TmpName: String;
begin
for I := 1 to 24 do
begin
TmpName := 'LED' + IntToStr(I);
Fields.Fields[1].AsString := TLEDBox(FindComponent(TmpName)).Text;
end;
放在字符串里一样,比如
var
I: Integer;
TmpName: String;
begin
for I := 1 to 24 do
begin
TmpName := 'Delete from APM' + IntToStr(I) + '_tb where MeterName '+''''+MeterNameBox.Text+''';'';
SQL.Add(TmpName);
end;
应该为SQL.Add('Delete from APM2_tb where MeterName = '+'''+MeterNameBox.Text+'''');所以我上边写的TmpName := 'Delete from APM' + IntToStr(I) + '_tb where MeterName '+''''+MeterNameBox.Text+''';''; 应改为
TmpName := 'Delete from APM' + IntToStr(I) + '_tb where MeterName '+'''+MeterNameBox.Text+'''';