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%>
|
|
|