本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3267978
建立时间:2005年6月6日




[borland eco 技术]eco自动表单(mygeneration模板)续改进中..
软件技术

吕向阳 发表于 2006/9/5 14:33:15

模板继续改进中,加入一对多时自动引入combobox元件,并能进行选择,保存.改进能回车跳到下一控件,去掉一些错误.仅作备忘.  <%Dim bFirstDim nameDim pnameDim objTableDim objColumnDim tableNamesDim databaseNameDim tableNamedim ecospacedim jjdim xname dim tmptabledim tmpcolumn' Grab the namespace namespace = input.Item("txtNamespace")Set tableName = input.Item("lstTables") MyMeta.Language = input.Item("cmbLanguages")MyMeta.DbTarget = "OleDb" ' Grab the choices the user made in our UI Script (see Interface Code tab)Set tableNames = input.Item("lstTables")ecospace=input.item("txtecospace") databaseName  = input.Item("cmbDatabase")Set database = MyMeta.Databases(0) ' Loop through the tables the user select and generate the stored procs and save them to diskFor intLp = 0 To tableNames.Count - 1 set objTable = database.Tables(tablenames.item(intLp)) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' Now we have the table that we desire to build a Business Object From, let us begin.'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%>unit fm<%=objtable%>; interface uses  System.Drawing, System.Collections, System.ComponentModel,  System.Windows.Forms, System.Data,  Borland.Eco.Handles, Borland.Eco.Windows.Forms, Borland.Eco.WinForm,  <%=ecospace%>EcoSpace, Package_1Unit,Borland.Eco.Services, System.Resources ; type  form<%=objtable%> = class(System.Windows.Forms.Form)  {$REGION 'Designer Managed Code'}  strict private    /// <summary>    /// Required designer variable.    /// </summary>    Components: System.ComponentModel.Container;    RHRoot: Borland.Eco.Handles.ReferenceHandle;    eh<%=objtable%>: Borland.Eco.Handles.ExpressionHandle;    cm<%=objtable%>: Borland.Eco.Handles.CurrencyManagerHandle;    DataGrid1: System.Windows.Forms.DataGrid;    StatusBar1: System.Windows.Forms.StatusBar;    ToolBar1: System.Windows.Forms.ToolBar;    ToolBarButton1: System.Windows.Forms.ToolBarButton;    ToolBarButton2: System.Windows.Forms.ToolBarButton;    ToolBarButton3: System.Windows.Forms.ToolBarButton;    ToolBarButton4: System.Windows.Forms.ToolBarButton;    ToolBarButton5: System.Windows.Forms.ToolBarButton;    ToolBarButton6: System.Windows.Forms.ToolBarButton;    ToolBarButton7: System.Windows.Forms.ToolBarButton;    ToolBarButton8: System.Windows.Forms.ToolBarButton;     //自动增加的文本框与标签框*******    <% output.writeLn ""      for Each objColumn in objTable.Columns     bfirst=false           name   = GetAlias(objColumn)     if not mid(ucase(name),1,3)="ECO"  then         For x = 0 To tableNames.Count - 1                  set tmpTable = database.Tables(tablenames.item(x))      if ucase(tmptable.alias)=ucase(name) and (not ucase(name)=ucase(objTable.alias)) then               bfirst=true           end if      next      if bfirst=true then         output.write "    eh" & name&": Borland.Eco.Handles.ExpressionHandle;"& vbCrLf         output.write "    cmb" & name& ": System.Windows.Forms.combobox;"& vbCrLf      else           output.write "    Text" & name& ": System.Windows.Forms.TextBox;"& vbCrLf      end if             output.write "    lbl" & name& ": System.Windows.Forms.LABEL;"& vbCrLf           end if        Next %>    {//关于combobox 的加     procedure formbuy.ComboBox1_SelectedIndexChanged(sender: System.object; e: System.EventArgs);var selected: ielement;  arecord: buy;begin  if (cOMBOBOX1.SelectedIndex < 0) then    exit;   if not groupbox1.Enabled then exit;   selected := (EHKH.Element as iobjectlist)[COMBOBOX1.selectedindex];  if (selected = nil) then exit;   arecord := cmMAIN.Element.asobject as buy;  arecord.gys := gys(selected.AsObject);end;   }  //*******************************     GroupBox1: System.Windows.Forms.GroupBox;    DataGridTableStyle1: System.Windows.Forms.DataGridTableStyle;  //  DataGridTextBoxColumn1: System.Windows.Forms.DataGridTextBoxColumn;     <% output.writeLn ""  k=1  For Each objColumn in objTable.Columns          name   = GetAlias(objColumn)    if not mid(ucase(name),1,3)="ECO" then            output.write "DataGridTextBoxColumn" &cstr(k) &": System.Windows.Forms.DataGridTextBoxColumn;"  & vbCrLf    END IF         k=k+1   Next %>    /// <summary>    /// Required method for Designer support - do not modify    /// the contents of this method with the code editor.    /// </summary>    procedure InitializeComponent;       procedure ToolBar1_ButtonClick(sender: System.object; e: System.Windows.Forms.ToolBarButtonClickEventArgs); {$ENDREGION}  strict private  FEcoSpace: t<%=ecospace%>ecospace;  strict protected    /// <summary>    /// Clean up any resources being used.    /// </summary>    procedure Dispose(Disposing: Boolean);    procedure zeroform();    procedure setstate(mode:integer);      <% output.writeLn ""  k=1  For Each objColumn in objTable.Columns     xname=""     bfirst=false           name   = GetAlias(objColumn)     if not mid(ucase(name),1,3)="ECO"  then         For x = 0 To tableNames.Count - 1                  set tmpTable = database.Tables(tablenames.item(x))              if ucase(tmptable.alias)=ucase(name) and (not ucase(name)=ucase(objTable.alias)) then               xname=tmptable.columns(2)     bfirst=true           end if       next                             if bfirst=true then                              OUTPUT.WRITE "procedure Cmb"&name &"_SelectedIndexChanged(sender: System.object; e: System.EventArgs);"                end if               END IF         k=k+1         Next %>   public    constructor Create();//    constructor Create(anEcoSpace: EcoSpace); overload;    function get_EcoSpace: Borland.Eco.Handles.EcoSpace;    property EcoSpace: Borland.Eco.Handles.EcoSpace read get_EcoSpace;    procedure enter_KeyPress(sender: System.Object; e: System.Windows.Forms.KeyPressEventArgs);end;   [assembly: RuntimeRequired(TypeOf(form<%=objtable%>))] implementation uses  Borland.Eco.ObjectRepresentation;{$AUTOBOX ON} {$REGION 'Windows Form Designer generated code'}/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>procedure form<%=objtable%> .InitializeComponent;type  TArrayOfSystem_Windows_Forms_ToolBarButton = array of System.Windows.Forms.ToolBarButton;  TArrayOfSystem_Windows_Forms_DataGridTableStyle = array of System.Windows.Forms.DataGridTableStyle;  TArrayOfSystem_Windows_Forms_DataGridColumnStyle = array of System.Windows.Forms.DataGridColumnStyle;begin  Self.RHRoot := Borland.Eco.Handles.ReferenceHandle.Create;   Self.eh<%=objtable%> := Borland.Eco.Handles.ExpressionHandle.Create;  Self.cm<%=objtable%> := Borland.Eco.Handles.CurrencyManagerHandle.Create;  Self.DataGrid1 := System.Windows.Forms.DataGrid.Create;    <% output.writeLn ""  k=1  For Each objColumn in objTable.Columns          name   = GetAlias(objColumn)    if not mid(ucase(name),1,3)="ECO" then           output.write "Self.DataGridTextBoxColumn" &cstr(k) &":= System.Windows.Forms.DataGridTextBoxColumn.create;"  & vbCrLf    END IF         k=k+1         Next %>    Self.DataGridTableStyle1:=System.Windows.Forms.DataGridTableStyle.Create;  Self.StatusBar1 := System.Windows.Forms.StatusBar.Create;  Self.ToolBar1 := System.Windows.Forms.ToolBar.Create;  Self.ToolBarButton1 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton2 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton3 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton4 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton8 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton5 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton6 := System.Windows.Forms.ToolBarButton.Create;  Self.ToolBarButton7 := System.Windows.Forms.ToolBarButton.Create;   Self.GroupBox1 := System.Windows.Forms.GroupBox.Create;  (System.ComponentModel.ISupportInitialize(Self.DataGrid1)).BeginInit;  Self.GroupBox1.SuspendLayout;  Self.SuspendLayout;  //   // RHRoot  //   Self.RHRoot.EcoSpaceType := TypeOf(<%=ECOSPACE%>EcoSpace.t<%=ECOSPACE%>EcoSpace);  //     //   //   // eh<%=objtable%>  //       Self.eh<%=objtable%>.Expression := '<%=objtable%>.allInstances';  Self.eh<%=objtable%>.RootHandle := Self.RHRoot;  //   //   // cm<%=objtable%>  //   Self.cm<%=objtable%>.BindingContext := Self.DataGrid1;  Self.cm<%=objtable%>.RootHandle := Self.eh<%=objtable%>;  //   // DataGrid1  //   Self.DataGrid1.DataMember := '';  Self.DataGrid1.DataSource := Self.eh<%=objtable%>;  Self.DataGrid1.HeaderForeColor := System.Drawing.SystemColors.ControlText;  Self.DataGrid1.Location := System.Drawing.Point.Create(8, 64);  Self.DataGrid1.Name := 'DataGrid1';  Self.DataGrid1.RightToLeft := System.Windows.Forms.RightToLeft.No;  Self.DataGrid1.RowHeaderWidth := 20;  Self.DataGrid1.Size := System.Drawing.Size.Create(320, 312);  Self.DataGrid1.TabIndex := 0;  Self.DataGrid1.TableStyles.AddRange(TArrayOfSystem_Windows_Forms_DataGridTableStyle.Create(Self.DataGridTableStyle1));  //   // DataGridTableStyle1  //   Self.DataGridTableStyle1.DataGrid := Self.DataGrid1;     <% output.writeLn ""   k=1  jj=1        output.write "Self.DataGridTableStyle1.GridColumnStyles.AddRange(TArrayOfSystem_Windows_Forms_DataGridColumnStyle.Create("        For Each objColumn in objTable.Columns          name   = GetAlias(objColumn)    if not mid(ucase(name),1,3)="ECO" then      if (jj=1) then           output.write "Self.DataGridTextBoxColumn" & cstr(k)     jj=0      else        output.write ",Self.DataGridTextBoxColumn" & cstr(k)   end if     END IF         k=k+1     Next    output.write "));" &  vbCrLf   %>       <% output.writeLn ""  k=1  For Each objColumn in objTable.Columns          name   = GetAlias(objColumn)    if not mid(ucase(name),1,3)="ECO" then              output.write "Self.DataGridTextBoxColumn" &cstr(k) &".Format := '';" & vbCrLf              output.write "Self.DataGridTextBoxColumn" &cstr(k) &".FormatInfo := nil;" & vbCrLf              output.write "Self.DataGridTextBoxColumn" &cstr(k) &".HeaderText := '" & name & "';"  & vbCrLf              output.write "Self.DataGridTextBoxColumn" &cstr(k) &".MappingName := '" & name & "';"  & vbCrLf              output.write "Self.DataGridTextBoxColumn" &cstr(k) &".Width := 75;" & vbCrLf     END IF         k=k+1         Next %>  Self.DataGridTableStyle1.HeaderForeColor := System.Drawing.SystemColors.ControlText;  Self.DataGridTableStyle1.MappingName := '';  Self.DataGridTableStyle1.RowHeaderWidth := 20;  //   // DataGridTextBoxColumn1  //     //****************    //   // StatusBar1  //   Self.StatusBar1.Location := System.Drawing.Point.Create(0, 381);  Self.StatusBar1.Name := 'StatusBar1';  Self.StatusBar1.Size := System.Drawing.Size.Create(664, 24);  Self.StatusBar1.TabIndex := 1;  //   // ToolBar1  //   Self.ToolBar1.Appearance := System.Windows.Forms.ToolBarAppearance.Flat;  Self.ToolBar1.Buttons.AddRange(TArrayOfSystem_Windows_Forms_ToolBarButton.Create(Self.ToolBarButton1,          Self.ToolBarButton2, Self.ToolBarButton3, Self.ToolBarButton4, Self.ToolBarButton8,          Self.ToolBarButton5, Self.ToolBarButton6, Self.ToolBarButton7));  Self.ToolBar1.DropDownArrows := True;  Self.ToolBar1.Location := System.Drawing.Point.Create(0, 0);  Self.ToolBar1.Name := 'ToolBar1';  Self.ToolBar1.ShowToolTips := True;  Self.ToolBar1.Size := System.Drawing.Size.Create(664, 41);  Self.ToolBar1.TabIndex := 2;  Include(Self.ToolBar1.ButtonClick, Self.ToolBar1_ButtonClick);  //  // ToolBarButton1  //   Self.ToolBarButton1.Text := '新增';  //   // ToolBarButton2  //   Self.ToolBarButton2.Text := '修改';  //  // ToolBarButton3  //   Self.ToolBarButton3.Text := '保存';  //   // ToolBarButton4  //  Self.ToolBarButton4.Text := '取消';  //  // ToolBarButton8  //  Self.ToolBarButton8.Text := '删除';  //  // ToolBarButton5  //  Self.ToolBarButton5.Text := '上一条';  //  // ToolBarButton6  //  Self.ToolBarButton6.Text := '下一条';  //  // ToolBarButton7  //  Self.ToolBarButton7.Text := '退出';  //   // GroupBox1  //   Self.GroupBox1.Location := System.Drawing.Point.Create(368, 64);  Self.GroupBox1.Name := 'GroupBox1';  Self.GroupBox1.RightToLeft := System.Windows.Forms.RightToLeft.No;  Self.GroupBox1.Size := System.Drawing.Size.Create(264, 312);  Self.GroupBox1.TabIndex := 20;  Self.GroupBox1.TabStop := False;  Self.GroupBox1.Text := '输入';  //   // Label1        //      <% output.writeLn ""  k=1  For Each objColumn in objTable.Columns     xname=""     bfirst=false           name   = GetAlias(objColumn)     if not mid(ucase(name),1,3)="ECO"  then         For x = 0 To tableNames.Count - 1                  set tmpTable = database.Tables(tablenames.item(x))              if ucase(tmptable.alias)=ucase(name) and (not ucase(name)=ucase(objTable.alias)) then               xname=tmptable.columns(2)     bfirst=true           end if       next                     if bfirst=true then          output.write "//"& xname & vbCrLf          output.write "Self.eh" &name & ":= Borland.Eco.Handles.ExpressionHandle.Create;"  & vbCrLf                   output.write "Self.eh" &name & ".Expression :='" &name & ".allInstances';" & vbCrLf                   output.write "Self.eh" &name & ".RootHandle := Self.RHRoot;" & vbCrLf          output.write "Self.cmb" &name & ":= System.Windows.Forms.combobox.Create;" & vbCrLf                    output.write "Self.cmb" &name & ".Location := System.Drawing.Point.Create(60," & cstr(5+k*25) &");" & vbCrLf                    output.write "Self.cmb" &name &".Name := 'cmb" & name &"';" & vbCrLf                    output.write "Self.cmb" &name &".Size := System.Drawing.Size.Create(100, 20);" & vbCrLf                    output.write "Self.cmb" &name &".TabIndex := 20;" & vbCrLf                    output.write "Self.cmb" &name &".Text := 'cmb" & name & "';"& vbCrLf & vbCrLf                    output.write "Include(Self.cmb" &name &".KeyPress, Self.enter_KeyPress);" & vbCrLf                   output.write "Self.cmb" &name & ".DataBindings.Add(System.Windows.Forms.Binding.Create('SelectedValue',self.eh" & objtable &",'" & name &"'));" & vbCrLf                   output.write "Self.cmb" &name & ".DataSource := Self.EH" &name &";" & vbCrLf                   output.write "Self.cmb" &name & ".DisplayMember :='"& xname &"';" & vbCrLf       output.write  "//" & xname & "*********" & vbCrLf                   output.write "Self.cmb" &name & ".ValueMember :='" &xname &"';" & vbCrLf                   output.write "Include(Self.cmb" &name & ".KeyPress, Self.enter_KeyPress);" & vbCrLf                   output.write "Include(Self.cmb" &name & ".SelectedIndexChanged, Self.cmb" &name & "_SelectedIndexChanged);" & vbCrLf       output.write "Self.GroupBox1.Controls.Add(Self.cmb" &name & ");" & vbCrLf                  else       output.write "Self.Text" &name & ":= System.Windows.Forms.TextBox.Create;" & vbCrLf        output.write "Self.Text" &name & ".DataBindings.Add(System.Windows.Forms.Binding.Create('Text',Self.eh" & objtable & ",'" & name & "'));" & vbCrLf                    output.write "Self.Text" &name & ".Location := System.Drawing.Point.Create(60," & cstr(5+k*25) &");" & vbCrLf                    output.write "Self.Text" &name &".Name := 'TExt" & name &"';" & vbCrLf                    output.write "Self.Text" &name &".Size := System.Drawing.Size.Create(100, 20);" & vbCrLf                    output.write "Self.Text" &name &".TabIndex := 20;" & vbCrLf                    output.write  "Self.Text" &name &".Text := 'TExt" & name & "';"& vbCrLf & vbCrLf                    output.write "Include(Self.Text" &name &".KeyPress, Self.enter_KeyPress);"       output.write "Self.GroupBox1.Controls.Add(Self.Text" &name & ");" & vbCrLf       end if                     output.write "Self.lbl" &name & ":= System.Windows.Forms.Label.Create;"  & vbCrLf                output.write "Self.lbl" &name & ".Location := System.Drawing.Point.Create(10," & cstr(5+k*25) &");" & vbCrLf                output.write "Self.lbl" &name &".Name := 'lbl" & name & "';" & vbCrLf                output.write "Self.lbl" &name &".Size := System.Drawing.Size.Create(40, 20);" & vbCrLf                output.write "Self.lbl" &name &".Text :='" & name & "';"& vbCrLf & vbCrLf          output.write "Self.GroupBox1.Controls.Add(Self.lbl" &name & ");" & vbCrLf                END IF         k=k+1         Next %>//   //   //   // form<%=objtable%>   //   Self.AutoScaleBaseSize := System.Drawing.Size.Create(6, 14);  Self.ClientSize := System.Drawing.Size.Create(664, 405);   Self.Controls.Add(Self.GroupBox1);  Self.Controls.Add(Self.ToolBar1);  Self.Controls.Add(Self.StatusBar1);  Self.Controls.Add(Self.DataGrid1);  Self.Name := 'form<%=objtable%>' ;  Self.RightToLeft := System.Windows.Forms.RightToLeft.No;  Self.StartPosition := System.Windows.Forms.FormStartPosition.CenterScreen;  Self.Text := '<%=objtable%>输入';  (System.ComponentModel.ISupportInitialize(Self.DataGrid1)).EndInit;  Self.GroupBox1.ResumeLayout(False);  Self.ResumeLayout(False);end; procedure form<%=objtable%>.setstate(mode:integer);begindatagrid1.ReadOnly:=true;case mode of1:   //新增状态beginself.ToolBarButton2.Enabled:=false;self.ToolBarButton7.Enabled:=false;self.ToolBarButton1.Enabled:=false;self.ToolBarButton5.Enabled:=false;self.ToolBarButton6.Enabled:=false;self.ToolBarButton3.Enabled:=true;self.ToolBarButton4.Enabled:=true;datagrid1.Enabled:=false;groupbox1.Enabled:=true;//textbox1.Focus;end;2:  //修改状态begin  self.ToolBarButton2.Enabled:=false;  self.ToolBarButton7.Enabled:=false;  self.ToolBarButton1.Enabled:=false;  self.ToolBarButton5.Enabled:=false;  self.ToolBarButton6.Enabled:=false;  self.ToolBarButton3.Enabled:=true;  self.ToolBarButton4.Enabled:=true;  datagrid1.Enabled:=false;  groupbox1.Enabled:=true;  //textbox1.Focus;end;3:begin  self.ToolBarButton2.Enabled:=true;  self.ToolBarButton7.Enabled:=true;  self.ToolBarButton1.Enabled:=true;  self.ToolBarButton5.Enabled:=true;  self.ToolBarButton6.Enabled:=true;  self.ToolBarButton3.Enabled:=false;  self.ToolBarButton4.Enabled:=false;  datagrid1.Enabled:=true;  groupbox1.Enabled:=false;end;end; end; procedure form<%=objtable%>.zeroform;begin     <% output.writeLn ""  for Each objColumn in objTable.Columns     bfirst=false           name   = GetAlias(objColumn)     if not mid(ucase(name),1,3)="ECO"  then         For x = 0 To tableNames.Count - 1                  set tmpTable = database.Tables(tablenames.item(x))         xname=tmptable.columns(2)      if ucase(tmptable.alias)=ucase(name) and (not ucase(name)=ucase(objTable.alias)) then               bfirst=true           end if       next                    if bfirst=true then           output.write "    cmb" & name & ".text:='';" & vbCrLf               else              output.write "    Text" & name& ".clear;" & vbCrLf         end if      end if         Next %>end; {$ENDREGION} procedure form<%=objtable%>.Dispose(Disposing: Boolean);begin  if Disposing then  begin    if Components <> nil then      Components.Dispose();  end;  inherited Dispose(Disposing);end; constructor form<%=objtable%>.Create();begin  inherited Create;  //  // Required for Windows Form Designer support  //  InitializeComponent;  //  // TODO: Add any constructor code after InitializeComponent call  //  FEcoSpace := t<%=ecospace%>ecospace.Create;  // Note that you need to set the EcoSpace property for each ReferenceHandle you add to the form.   RHRoot.EcoSpace := FEcoSpace;  if (not fecospace.Active) then    fecospace.Active:=true;   zeroform;  setstate(3);end; function form<%=objtable%>.get_EcoSpace: Borland.Eco.Handles.EcoSpace;begin  Result := FEcoSpace;end; procedure form<%=objtable%>.enter_KeyPress(sender: System.Object; e: System.Windows.Forms.KeyPressEventArgs);begin    if (e.keychar =#13) then    self.SelectNextControl(self.activecontrol, true, true, true, true);end; procedure form<%=objtable%>.ToolBar1_ButtonClick(sender: System.object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);var a<%=objtable%>: <%=objtable%>;begin  case toolbar1.Buttons.IndexOf(e.Button) of    0: //新增      begin        fEcoSpace.UndoService.StartUndoBlock('abc');        a<%=objtable%> := <%=objtable%>.create(fecospace);        datagrid1.DataBindings;        eh<%=objtable%>.EnsureBindingList;        cm<%=objtable%>.set_Position(eh<%=objtable%>.Element.GetAsCollection.Count - 1);        setstate(1);      end;    1: //修改      begin        fEcoSpace.UndoService.startUndoBlock('abc');        setstate(2);      end;    2: //保存      begin        fecospace.UndoService.ClearAllUndoBlocks;        setstate(3);        fecospace.UpdateDatabase;      end;    3: //取消      begin        fEcoSpace.UndoService.UndoBlock('abc');        fecospace.UndoService.ClearAllUndoBlocks;        setstate(3);      end;    4: //  删除      begin        if (MessageBox.Show('你真的要删除吗,按确定后记录将被删除并不能恢复?', '删除数据',          MessageBoxButtons.YesNo, MessageBoxIcon.Question) = System.Windows.Forms.DialogResult.Yes) then        begin          try            <%=objtable%>(cm<%=objtable%>.Element.AsObject).AsIObject.Delete;          except            messagebox.show('该名称已经使用,不能删除!');            exit;          end;          fecospace.UpdateDatabase;        end;      end;    5: // 上一条      begin       end;    6: //   下一条      begin       end;    7: //退出      begin        close;//        fecospace.UpdateDatabase;      end;  end;end;      <% output.writeLn ""  k=1  For Each objColumn in objTable.Columns     xname=""     bfirst=false           name   = GetAlias(objColumn)     if not mid(ucase(name),1,3)="ECO"  then         For x = 0 To tableNames.Count - 1                  set tmpTable = database.Tables(tablenames.item(x))              if ucase(tmptable.alias)=ucase(name) and (not ucase(name)=ucase(objTable.alias)) then               xname=tmptable.columns(2)     bfirst=true           end if       next                             if bfirst=true then                      OUTPUT.WRITE "procedure form" & objtable & ".Cmb"&name &"_SelectedIndexChanged(sender: System.object; e: System.EventArgs);"& vbCrLf                      OUTPUT.WRITE "var selected: ielement;"& vbCrLf                      OUTPUT.WRITE "    arecord:"& objtable & ";"& vbCrLf                      OUTPUT.WRITE "begin"& vbCrLf                      OUTPUT.WRITE "   if (cMb"& name &".SelectedIndex < 0) then"& vbCrLf                      OUTPUT.WRITE "          exit;"& vbCrLf                      OUTPUT.WRITE "   if not groupbox1.Enabled then exit;"& vbCrLf                      OUTPUT.WRITE "   selected := (EH"& name &".Element as iobjectlist)[Cmb"& name &".selectedindex];"& vbCrLf                      OUTPUT.WRITE "   if (selected = nil) then exit;"& vbCrLf                      OUTPUT.WRITE ""& vbCrLf                      OUTPUT.WRITE "   arecord := cm" & objtable & ".Element.asobject as "& objtable & ";"& vbCrLf                      OUTPUT.WRITE "   arecord."& name &" := "& name &"(selected.AsObject);"& vbCrLf                      OUTPUT.WRITE "end;  "& vbCrLf               end if               END IF         k=k+1         Next %>   end. <%  ' Save the output file for this Table Dim filename filename = input.item("txtPath")  Dim length Dim pos lenth = Len(filename) pos = InStrRev(filename, "\")  If Not pos = lenth Then  filename = filename & "\" End If  filename = filename & "fm" & objTable.Alias & ".pas"  output.save filename, false buffer = buffer & output.text output.clearNext '  tableName  output.write buffer %> <% '===========================================================================' These are support routines called by the above scirpt'===========================================================================Function GetAlias(objColumn) Dim name name = TrimSpaces(objColumn.Alias) GetAlias =name' UCase(Left(name, 1)) & Right(name, Len(name) -1)End Function Function GetName(objColumn) Dim name name = objColumn.Name GetName =name ' UCase(Left(name, 1)) & Right(name, Len(name) -1)End Function Function TrimSpaces(str)  Dim tname Dim name Dim char Dim l  name = "" tname = str l = Len(tname)  For j = 1 To l  char = Mid(tname, j, 1)  If Not char = " " Then   name = name & char  End If Next  TrimSpaces = nameEnd Function%>


阅读全文(1421) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144758467 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号