📄 zfrm_projectparamu.pas
字号:
end; {while <1> E}
//
end;
////////////////////// 用户自定义- <结束> //////////////////////
procedure Tzfrm_ProjectParam.Button2Click(Sender: TObject);
begin
// 取消
Close ;
//
end;
procedure Tzfrm_ProjectParam.Button1Click(Sender: TObject);
begin
// 确定
if BitBtn1.Enabled then BitBtn1Click(Self);
if BitBtn2.Enabled then BitBtn2Click(Self);
Close ;
//
end;
procedure Tzfrm_ProjectParam.FormCreate(Sender: TObject);
begin
//
PageControl1.ActivePage := TabSheet1 ;
StringGrid1.RowCount := 1 ;
StringGrid1.ColWidths[1] := 300;
StringGrid2.ColWidths[1] := 300;
//
end;
procedure Tzfrm_ProjectParam.BitBtn1Click(Sender: TObject);
begin
// 应用1
BitBtn1.Enabled := False ;
// 更新对应项目参数值
z_UpdateAssessParamValuesP; //***//
//
end;
procedure Tzfrm_ProjectParam.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
// 激活 “应用”
BitBtn1.Enabled := True ;
//
end;
procedure Tzfrm_ProjectParam.BitBtn2Click(Sender: TObject);
begin
// 应用2
BitBtn2.Enabled := False ;
// 更新所有项目值
z_UpdateAllAssessValuesP ; //***//
//
end;
procedure Tzfrm_ProjectParam.StringGrid2SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
// 激活 “应用”
BitBtn2.Enabled := True ;
//
end;
procedure Tzfrm_ProjectParam.Button3Click(Sender: TObject);
var
temp: string;
z_I,I,J: integer;
g_ai_id: integer;
s :double;
ParamTabName: string;
z_sql_insertvalue:string;
begin
// 方案另存为
if BitBtn1.Enabled then BitBtn1Click(Self);
if BitBtn2.Enabled then BitBtn2Click(Self);
with zfrm_projectSetAdd do
begin
Edit1.Text:='';
//判断是否确认增加
if ShowModal<>mrOk then Exit ;
temp := Trim(Edit1.Text) ;
if temp = '' then Exit ;
end;
// 得到,新的“方案”序列值
zh_GetNewIdS := 'ge_fp_id' ;
z_I := zh_GetNewIdF(zh_GetNewIdS) ;
// 向<评标项目方案表>插入记录
try {try <1> S}
zh_Insert_SQL := 'insert into tm_assessitemplan values(:I,:J)';
//showmessage(zh_Insert_SQL);
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Insert_SQL);
Query1.ParamByName('I').AsInteger := z_I ;
Query1.ParamByName('J').AsString := temp ;
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'方案名称不唯一或数据库连接错误,请您检查',
'数据库错',
MB_OK+MB_ICONError);
Exit ;
end; {try <1> E}
// 向<评标项目分值表>插入记录
for I:=0 to StringGrid2.RowCount-1 do
begin
g_ai_id := StrToInt(StringGrid3.Cells[0,I]) ;
s := StrToFloat(StringGrid2.Cells[1,I]) ;
// 得到,参数表名
ParamTabName := 'tm_funcparam' + IntToStr(g_ai_id) ;
// 更新数据
try {try <1> S}
zh_Insert_SQL := 'insert into tm_assessitemvalues values(:I,:J,:K)' ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Insert_SQL);
Query1.ParamByName('I').AsInteger := z_I ;
Query1.ParamByName('J').AsInteger := g_ai_id ;
Query1.ParamByName('K').AsFloat := s ;
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
// 向<评标项目各个参数表>插入记录
try {try <1> S}
zh_Select_SQL := 'select * from ' + ParamTabName + ' 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 ;}
Continue ;
end; {try <1> E}
z_sql_insertvalue := IntToStr(z_I) + ',' + FloatToStr(s) + ',' ;
for J:=2 to Query4.FieldCount-1 do
begin
z_sql_insertvalue := z_sql_insertvalue + Query4.Fields[J].AsString + ',' ;
end;
Delete(z_sql_insertvalue,length(z_sql_insertvalue),1) ;
zh_Insert_SQL := 'insert into ' + ParamTabName + ' values(' + z_sql_insertvalue + ')' ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Insert_SQL);
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
{ Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;}
end; {try <1> E}
//
end; // for - end
// 方案代码
z_FuncParamPlanI := z_I ; //*****//
ComboBox1.Text := temp ;
// 刷新
zh_Select_SQL := 'select * from tm_assessitemplan' ;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(zh_Select_SQL);
Query2.Open;
ComboBox1.Items.Clear;
Query2.First;
while not Query2.Eof do
begin
ComboBox1.Items.Add(Trim(Query2.Fields[1].AsString));
Query2.Next;
end;
//
end;
procedure Tzfrm_ProjectParam.FormActivate(Sender: TObject);
begin
// 初始化
Timer1.Enabled := True ;
//
end;
procedure Tzfrm_ProjectParam.TreeView1Click(Sender: TObject);
begin
// 得到,选中节点属性
try
z_FlashParamStringGrid1P(PMyRec(TreeView1.Selected.Data)^.z_ai_id) ; //***//
except
//StringGrid1.Rows[0].Text := '没有可编辑参数' ;
StringGrid1.Enabled := False ;
end;
//
end;
procedure Tzfrm_ProjectParam.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//
Timer1.Enabled := False ;
//
end;
procedure Tzfrm_ProjectParam.Timer1Timer(Sender: TObject);
begin
//
if z_CountValuesP = 100 then
begin
label1.Caption := '工程各项指标分数,合计:100分' ;
label2.Caption := '工程各项指标分数,合计:100分' ;
end
else
begin
label1.Caption := '工程各项指标分数,合计:' + FloatToStr(z_CountValuesP) + '分' ;
label2.Caption := '工程各项指标分数,合计:' + FloatToStr(z_CountValuesP) + '分' ;
BitBtn2.Enabled := False ;
end;
//
end;
procedure Tzfrm_ProjectParam.StringGrid2KeyPress(Sender: TObject;
var Key: Char);
var
Content: string;
begin
//
Content := (Sender as TStringGrid).Cells[1,z_y];
If Key=#8 then
begin
Exit;
end;
If Key=#46 then //小数点
begin
//控制,只能输一个小数点
If (Key=#46) and (pos('.',Content)>0) then
begin
Key := #0;
end;
Exit;
end
Else
begin
If Key in ['0'..'9'] then
begin
Exit ;
end;
end;
Key := #0 ;
//
end;
procedure Tzfrm_ProjectParam.StringGrid2SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
//
z_x := ACol ;
z_y := ARow ;
//
end;
procedure Tzfrm_ProjectParam.FormShow(Sender: TObject);
begin
//
zh_Select_SQL := 'select * from tm_assessitemplan' ;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(zh_Select_SQL);
Query2.Open;
ComboBox1.Items.Clear;
Query2.First;
// 方案代码
z_FuncParamPlanI := Query2.Fields[0].AsInteger ;
ComboBox1.Text := Query2.Fields[1].AsString ;
while not Query2.Eof do
begin
ComboBox1.Items.Add(Trim(Query2.Fields[1].AsString));
Query2.Next;
end;
z_InitStringGridP ; //***//
z_InitListView1P ; //***//
//
end;
procedure Tzfrm_ProjectParam.ComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
//
Key := #0 ;
//
end;
procedure Tzfrm_ProjectParam.ComboBox1Change(Sender: TObject);
begin
//
if Trim(ComboBox1.Text) = '' then Exit ;
zh_Select_SQL := 'select * from tm_assessitemplan where fp_name=' + '''' + ComboBox1.Text + '''' ;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(zh_Select_SQL);
Query2.Open;
Query2.First;
// 方案代码
if Query2.RecordCount = 0 then Exit ;
z_FuncParamPlanI := Query2.Fields[0].AsInteger ;
ComboBox1.Text := Query2.Fields[1].AsString ;
//重新设置所有参数
z_InitStringGridP ; //***//
z_InitListView1P ; //***//
//
end;
procedure Tzfrm_ProjectParam.Button4Click(Sender: TObject);
begin
// 删除方案
if (z_FuncParamPlanI = 1) then
begin
Application.MessageBox(
'您不能删除《方案1》',
'相关权限',
MB_Ok+MB_ICONINFORMATION );
Exit;
end;
zh_returnV:=Application.MessageBox(
'您是否要从本系统删除此方案?',
'删除用户',
MB_YesNo++MB_ICONWARNING);
if zh_returnV=IDNO then Exit;
// 删除用户
try {try <1> S}
zh_Delete_SQL := 'delete from tm_assessitemplan where fp_name=:fp_name';
//showmessage(zh_Insert_SQL);
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Delete_SQL);
Query1.ParamByName('fp_name').AsString := ComboBox1.Text ;
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查',
'数据库错',
MB_OK+MB_ICONError);
Exit ;
end; {try <1> E}
FormShow(Self) ; //***//
//
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -