当前位置: 代码迷 >> Delphi >> 将这两个delphi的函数改为C#的
  详细解决方案

将这两个delphi的函数改为C#的

热度:6127   发布时间:2013-02-25 00:00:00.0
将这两个delphi的函数改成C#的
函数1
var
   strInfo:string;
   i:integer;
begin
   //Query1.Fields[i]
   if (g_Retrieving = true) then
        Exit;
   Memo1.Text := '';
   try
       //形成记录明细字符串和显示变量字符串
       g_DispVarStr:='';
       for i:=0 to Query1.FieldCount - 1 do
       begin
            strInfo:=strInfo+DBGridEh1.Columns[i].Title.Caption+':'+DBGridEh1.Fields[i].AsString+#13#10;
            g_DispVarStr:=g_DispVarStr+g_DispVar[i+1]+'='+DBGridEh1.Fields[i].AsString+';'
       end;
   except
   end;
   Memo1.Text := strInfo;
end;


函数2
//将从父窗口传下来的变量值对字符串的值更新到变量表中
procedure Tfrm_main.UpdateValueStrToVarTable();
var
  rowNo:integer;
  strTemp:string;
begin
  ///showMessage(inttostr(g_panel_count));
  for rowNo:=1 to g_panel_count do
  begin
    strTemp:='';
    //从传递到当前窗体的变量值对字符串(如:{section_no}=101;{group_no}=1001;}中获取对应变量值
    strTemp := FindParam(g_DispVarStr ,trim(sg_CurVarTable.Cells[3,rowNo]){源变量}) ;
    ///showMessage(g_DispVarStr+'        '+sg_CurVarTable.Cells[3,rowNo]+'          '+strTemp);
    //将获得到的变量值更新到变量表(stringGrid对象sg_CurVarTable )中.
    if strTemp<>'' then
        sg_CurVarTable.Cells[4,rowNo] := strTemp;
  end;


将这两个delphi的函数改成C#的,
谢谢!!!
------解决方案--------------------------------------------------------
没有接触国delphi,不过建议楼主了解一下C#语法自己改,怎么说都是一个学习的过程!
------解决方案--------------------------------------------------------
函数1 
  string strInfo;
  integer i;
  if (g_Retrieving == true) return;
  Memo1.Text = "";
  try 
      g_DispVarStr =''; 
      for(int i=0; i<Query1.FieldCount-1; i++)
      {
         strInfo = strInfo + DBGridEh1.Columns[i].Title.Caption+ ":" +DBGridEh1.Fields[i].AsString+"\0\n";
         g_DispVarStr= g_DispVarStr+g_DispVar[i+1]+"="+DBGridEh1.Fields[i].AsString+";" ;
      }

  Except 
  end; 
  Memo1.Text = strInfo; 

你用到了Delphi的Query、DBGrid等控件。这些控件在C#里没有。但有类似的。取数据的方法你自己去对应一下。语法应该没问题。我没测试。
第二个不改了。困了。睡觉。
------解决方案--------------------------------------------------------
Memo可以用RichTextbox替代,而DBGrid可以用DataGridView替代,Query可以用bindingSource替代
------解决方案--------------------------------------------------------
学习
------解决方案--------------------------------------------------------
C#里面没有DBGridEh控件,还是看看DataGridView吧。
------解决方案--------------------------------------------------------
  相关解决方案