📄 zfrm_projectparamu.pas
字号:
{
'┌───────────────────────────────────┐
'│**********************************************************************│
'│*** 文件名称:zfrm_ProjectParamU *│
'│*** 功能描述: *│
'│*** 编写人员:朱华 *│
'│*** 编写日期:2001-06-06 *│
'│*** 修改人员: *│
'│*** 修改日期: *│
'│**********************************************************************│
'└───────────────────────────────────┘
}
unit zfrm_ProjectParamU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ImgList, Grids, StdCtrls, Buttons, ExtCtrls, Db, DBTables;
type
Tzfrm_ProjectParam = class(TForm)
ImageList1: TImageList;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox2: TGroupBox;
Label2: TLabel;
Image2: TImage;
StringGrid2: TStringGrid;
BitBtn2: TBitBtn;
StaticText3: TStaticText;
StaticText4: TStaticText;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
Image1: TImage;
StringGrid1: TStringGrid;
TreeView1: TTreeView;
BitBtn1: TBitBtn;
StaticText1: TStaticText;
StaticText2: TStaticText;
Panel2: TPanel;
Label3: TLabel;
ComboBox1: TComboBox;
Button3: TButton;
Button4: TButton;
StringGrid3: TStringGrid;
Query4: TQuery;
Query1: TQuery;
Timer1: TTimer;
StringGrid4: TStringGrid;
Query2: TQuery;
procedure BitBtn1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure BitBtn2Click(Sender: TObject);
procedure StringGrid2SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure Button3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
procedure StringGrid2KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid2SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure FormShow(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1Change(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure z_InitStringGridP();
procedure z_InitListView1P();
procedure z_FlashParamStringGrid1P(z_ai_id:integer);
function z_CountValuesP():Double;
procedure z_UpdateAllAssessValuesP();
procedure z_UpdateAssessParamValuesP();
end;
var
zfrm_ProjectParam: Tzfrm_ProjectParam;
z_FuncParamPlanI: integer=1; // 方案代码
z_x:integer =0 ;
z_y:integer =0 ;
implementation
uses zfrm_projectSetAddU, zmod_commonDateU;
{$R *.DFM}
////////////////////// 用户自定义- <开始> //////////////////////
procedure Tzfrm_ProjectParam.z_UpdateAssessParamValuesP();
var
ParamTabName: string;
I:integer;
z_field:string;
z_value:string;
z_sql : string;
begin
// 更新对应项目参数值
try
z_sql := '' ;
// 得到参数表名
ParamTabName := 'tm_funcparam' + IntToStr(PMyRec(TreeView1.Selected.Data)^.z_ai_id) ;
// 得到表的域名和值
for I:=0 to StringGrid1.RowCount-1 do
begin
z_field := StringGrid4.Cells[0,I] ;
z_value := StringGrid1.Cells[1,I] ;
z_sql := z_sql + z_field + '=' + z_value + ',' ;
end;
if z_sql = '=,' then Exit ;
except
Exit ;
end;
Delete(z_sql,length(z_sql),1) ;
// 更新数据
try {try <1> S}
zh_Update_SQL := 'update ' + ParamTabName + ' set ' + z_sql + ' where g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Update_SQL);
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'输入数据不能为空',
'输入错误',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
//
end;
procedure Tzfrm_ProjectParam.z_UpdateAllAssessValuesP();
var
g_fp_id, g_ai_id,I :integer;
s :double;
ParamTabName: string;
begin
// 更新所有项目值
try
for I:=0 to StringGrid2.RowCount-1 do
begin
g_ai_id := StrToInt(StringGrid3.Cells[0,I]) ;
g_fp_id := StrToInt(StringGrid3.Cells[1,I]) ;
s := StrToFloat(StringGrid2.Cells[1,I]) ;
ParamTabName := 'tm_funcparam' + IntToStr(g_ai_id) ;
// 更新数据
try {try <1> S}
zh_Update_SQL := 'update tm_assessitemvalues set s=:s where (g_ai_id=:g_ai_id) and (g_fp_id=:g_fp_id)' ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Update_SQL);
Query1.ParamByName('s').AsFloat := s ;
Query1.ParamByName('g_ai_id').AsInteger := g_ai_id ;
Query1.ParamByName('g_fp_id').AsInteger := g_fp_id ;
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
// 更新数据
try {try <1> S}
zh_Update_SQL := 'update ' + ParamTabName + ' set s=:s where g_fp_id=:g_fp_id' ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Update_SQL);
Query1.ParamByName('s').AsFloat := s ;
Query1.ParamByName('g_fp_id').AsInteger := g_fp_id ;
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
{ Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;}
end; {try <1> E}
end; // for - end
except
// 数据库错
Application.MessageBox(
'输入数据不能为空',
'输入错误',
MB_OK+MB_ICONError) ;
Exit ;
end;
//
end;
function Tzfrm_ProjectParam.z_CountValuesP():Double;
var
I: integer;
z_count,temp: Double;
begin
//
z_count := 0 ;
for I:=0 to StringGrid2.RowCount-1 do
begin
if Trim(StringGrid2.Cells[1,I]) = '' then
temp := 0
else
temp := StrToFloat(StringGrid2.Cells[1,I]) ;
z_count := z_count + temp;
end;
z_CountValuesP := z_count ;
//
end;
procedure Tzfrm_ProjectParam.z_FlashParamStringGrid1P(z_ai_id:integer);
var
I,J,K:integer;
begin
//
StringGrid1.Enabled := True ;
if z_ai_id=0 then
begin
StringGrid1.Enabled := False ;
StringGrid1.RowCount := 1 ;
StringGrid1.Rows[0].Text := '' ;
StringGrid4.RowCount := 1 ;
StringGrid4.Rows[0].Text := '' ;
Exit ;
end;
I := 0 ;
zh_Select_SQL := 'select pn_name,pn_code from tm_assessitemfuncparaname where g_ai_id=' + IntToStr(z_ai_id) + ' order by pn_code' ;
try {try <1> S}
Query4.Close ;
Query4.SQL.Clear ;
Query4.SQL.Add(zh_Select_SQL) ;
Query4.Prepare ;
Query4.Open ;
Query4.First ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
StringGrid1.RowCount := Query4.RecordCount ;
StringGrid1.Rows[0].Text := '' ;
StringGrid4.RowCount := Query4.RecordCount ;
StringGrid4.Rows[0].Text := '' ;
while not Query4.Eof do
begin {while <1> S}
StringGrid1.Rows[I].Text := Query4.Fields[0].AsString ;
StringGrid4.Rows[I].Text := Query4.Fields[1].AsString ;
I := I+1 ;
Query4.Next ;
end; {while <1> E}
// 赋分值
zh_Select_SQL := 'select * from tm_funcparam' + IntToStr(z_ai_id) + ' where g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
try {try <1> S}
Query4.Close ;
Query4.SQL.Clear ;
Query4.SQL.Add(zh_Select_SQL) ;
Query4.Prepare ;
Query4.Open ;
Query4.First ;
except
// 数据库错
{Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;}
StringGrid1.Rows[0].Text := '没有可编辑参数' ;
StringGrid1.Enabled := False ;
Exit ;
end; {try <1> E}
K := 0 ;
for J:=2 to Query4.Fields.Count-1 do
begin
StringGrid1.Cells[1,K] := Query4.Fields[J].AsString ;
K := K+1 ;
end; {while <1> E}
//
end;
procedure Tzfrm_ProjectParam.z_InitListView1P();
var
I :integer; // 声明-(项目代码)-变量
pi_name :string ; // 声明-(项目名称)-变量
begin
// TreeView1 — 部门结构,初始化
TreeView1.Items.Clear ;
I := 0 ;
// 为结构赋值
New(z_TreeViewDate_STU);
z_TreeViewDate_STU.z_ai_id := I ;
z_nodesA[I] := TreeView1.Items.AddObject(TreeView1.Items.GetFirstNode, '商务标', z_TreeViewDate_STU) ;
z_nodesA[I].ImageIndex := 0 ;
z_nodesA[I].SelectedIndex := 0 ;
//try
zh_Select_SQL := 'select g_ai_id, ai_name from tm_assessitem where ai_preid = 2' ;
Query1.Close ;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Select_SQL) ;
Query1.Prepare ;
Query1.Open ;
Query1.First ;
While not Query1.Eof do
begin
I := Query1.FieldByName('g_ai_id').AsInteger ;
pi_name := Query1.FieldByName('ai_name').AsString ;
// 为结构赋值
New(z_TreeViewDate_STU);
z_TreeViewDate_STU.z_ai_id := I ;
z_nodesA[I] := TreeView1.Items.AddChildObject(z_nodesA[0], pi_name, z_TreeViewDate_STU) ;
z_nodesA[I].ImageIndex := 3 ;
z_nodesA[I].SelectedIndex := 2 ;
Query1.Next ;
end;
// 展开所有树结构
z_nodesA[0].Expanded := True ;
StringGrid1.RowCount :=1 ;
StringGrid1.Rows[0].Text := '' ;
//except
//end;
//
end;
procedure Tzfrm_ProjectParam.z_InitStringGridP();
var
I: integer;
begin
// 初始化
I := 0 ;
zh_Select_SQL := 'select * from tm_assessitem_valuesV where g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
try {try <1> S}
Query4.Close ;
Query4.SQL.Clear ;
Query4.SQL.Add(zh_Select_SQL) ;
Query4.Prepare ;
Query4.Open ;
Query4.First ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
while not Query4.Eof do
begin {while <1> S}
StringGrid3.Rows[I].Text := Query4.Fields[0].AsString ;
StringGrid2.Rows[I].Text := Query4.Fields[1].AsString ;
StringGrid3.Cells[1,I] := Query4.Fields[2].AsString ;
StringGrid2.Cells[1,I] := Query4.Fields[3].AsString ;
I := I+1 ;
Query4.Next ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -