?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, WzGrid, StdCtrls, DBGrids, StringGridPro, Db, DBTables, ExtCtrls,
ComCtrls, ToolWin;
type
TForm1 = class(TForm)
Database1: TDatabase;
Query1: TQuery;
ScrollBox1: TScrollBox;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
StatusBar1: TStatusBar;
Bevel1: TBevel;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Edit4: TEdit;
WzGrid1: TWzGrid;
procedure WzGrid1GoNext(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure WzGrid1SetData(Sender: TObject; OrgIndex, Row: Integer;
var value: String);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Enter(Sender: TObject);
procedure WzGrid1ColExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure DataShow;
procedure DataSave;
function ErrorCheck(Sender : TObject) : Boolean;
function GetFldStr(FldName : String) : String;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WzGrid1GoNext(Sender: TObject);
begin
DataSave;
end;
procedure TForm1.DataSave;
var sqlstr : string;
begin
with WzGrid1 do begin
sqlstr := 'insert into wz_outmoney values (' + Cells[1,1]+','''+
Cells[2,1]+''','+Cells[3,1]+',16.2'+')';
end;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(sqlstr);
Query1.Prepare;
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Add('Commit');
Query1.Prepare;
Query1.ExecSQL;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//
end;
procedure TForm1.FormShow(Sender: TObject);
begin
DataShow;
end;
procedure TForm1.WzGrid1SetData(Sender: TObject; OrgIndex, Row: Integer;
var value: String);
begin
//ShowMessage('abc');
case OrgIndex of
0 : Value := Edit2.Text;
1 : value := Edit3.Text;
2 : value := Edit4.Text;
end;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
var sqlstr : string;
i : integer;
begin
{ sqlstr := 'select flowno,recordno,recorder,recorddate, comment From wz_outmoney where flowno = ''' + Edit1.Text +'''';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(sqlstr);
Query1.Prepare;
Query1.open;
Query1.first;
Edit2.Text := Query1.fieldByName('recordno').asstring;
Edit3.Text := Query1.fieldByName('recorder').asstring;
Edit4.Text := Query1.fieldByName('recorddate').asstring;}
end;
procedure TForm1.Edit2Enter(Sender: TObject);
begin
ErrorCheck(Sender);
end;
function TForm1.ErrorCheck(Sender: TObject) : Boolean;
var
List : TList;
i,n : integer;
s : string;
begin
try
{ if Sender = BtnFind then MsgBox.Panels[1].Text := NL;
MsgBox.Panels[2].Text := ActiveControl.Hint;}
s := '';
List := TList.Create;
SCrollBox1.GetTabOrderList(List);
if Sender = nil then n := List.Count else n := List.IndexOf( Sender );
for i := 0 to n-1 do begin
case i of
// 0 : if not FindAname then s := '找不到該編碼';
1 : begin
{ if Eymd.DateError then s := Eymd.errormsg;
if ( s = NL )
and ( SetLongDate(Eymd.Text) <= SetLongDate(q_ymd) ) then
s := '不能輸入上次清算日以前的日期';}
end;
end;
Result := s = '';
if not Result then begin
ActiveControl := TWinControl( List.Items[i] );
// err([s]);
Abort;
end;
end;
finally
List.Free;
end;
end;
procedure TForm1.DataShow;
var sqlstr : string;
i : integer;
begin
sqlstr := 'select flowno, recordno,classcode,occurmoney,membercode, ' +
'recorddate,comment from wz_outmoney order by flowno,recordno';
i := 1;
with WzGrid1, Query1 do begin
Close;
SQL.Clear;
SQL.Add(sqlstr);
Prepare;
open;
first;
Edit1.Text := Fields[0].AsString;
Edit2.Text := Fields[5].AsString;
Edit3.Text := Fields[6].AsString;
while not Eof do begin
Cells[1,i] := Fields[1].AsString;
Cells[2,i] := Fields[2].AsString;
// Cells[3,i] := Fields[3].AsString;
Cells[4,i] := Fields[3].AsString;
Cells[5,i] := Fields[6].AsString;
Inc(i);
if (i >= RowCount) then begin
Close;
break;
end;
next;
end;
end;
end;
procedure TForm1.WzGrid1ColExit(Sender: TObject);
begin
//
with WzGrid1 do begin
case SelectedIndex of
0 : begin
Cells[Col+1,Row] := GetFldStr(Cells[Col,Row]);
end;
// 2 : ShowMessage(Cells[Col,Row]);
// 4 : ShowMessage(Cells[Col,Row]);
end;
end;
end;
function TForm1.GetFldStr(FldName : String) : String;
var SqlStr : String;
begin
SqlStr := 'Select ClassName From wz_Class Where ClassCode = '''+ FldName + '''';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(sqlstr);
Query1.Prepare;
Query1.Open;
Result := Query1.FieldByName('ClassName').AsString;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -