RTFormwork/项目代码/RTBasicsV1/A00通用窗体/U_LoomSel.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

240 lines
5.3 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_LoomSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, DB, ADODB, U_BaseHelp, System.ImageList, Vcl.ImgList,
Datasnap.DBClient, Vcl.StdCtrls, math;
type
TfrmLoomSel = class(TfrmBaseHelp)
ScrollBox1: TScrollBox;
btn1: TSpeedButton;
btn2: TSpeedButton;
btn3: TSpeedButton;
btn4: TSpeedButton;
btn5: TSpeedButton;
btn6: TSpeedButton;
btn7: TSpeedButton;
btn8: TSpeedButton;
btn58: TSpeedButton;
btn9: TSpeedButton;
btn10: TSpeedButton;
btn11: TSpeedButton;
btn12: TSpeedButton;
btn13: TSpeedButton;
btn14: TSpeedButton;
btn15: TSpeedButton;
btn59: TSpeedButton;
btn16: TSpeedButton;
btn17: TSpeedButton;
btn18: TSpeedButton;
btn19: TSpeedButton;
btn20: TSpeedButton;
btn21: TSpeedButton;
btn22: TSpeedButton;
btn60: TSpeedButton;
btn23: TSpeedButton;
btn24: TSpeedButton;
btn25: TSpeedButton;
btn26: TSpeedButton;
btn27: TSpeedButton;
btn28: TSpeedButton;
btn29: TSpeedButton;
btn61: TSpeedButton;
btn30: TSpeedButton;
btn31: TSpeedButton;
btn32: TSpeedButton;
btn33: TSpeedButton;
btn34: TSpeedButton;
btn35: TSpeedButton;
btn36: TSpeedButton;
btn62: TSpeedButton;
btn37: TSpeedButton;
btn38: TSpeedButton;
btn39: TSpeedButton;
btn40: TSpeedButton;
btn41: TSpeedButton;
btn42: TSpeedButton;
btn43: TSpeedButton;
btn63: TSpeedButton;
btn44: TSpeedButton;
btn45: TSpeedButton;
btn46: TSpeedButton;
btn47: TSpeedButton;
btn48: TSpeedButton;
btn49: TSpeedButton;
btn50: TSpeedButton;
btn64: TSpeedButton;
btn51: TSpeedButton;
btn52: TSpeedButton;
btn53: TSpeedButton;
btn54: TSpeedButton;
btn55: TSpeedButton;
btn56: TSpeedButton;
btn57: TSpeedButton;
ADOTmp: TADOQuery;
ADOConnection1: TADOConnection;
CDS_All: TClientDataSet;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
FMCNO, FMCType: string;
FPage: Integer;
{ Public declarations }
end;
var
frmLoomSel: TfrmLoomSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmLoomSel.FormDestroy(Sender: TObject);
begin
inherited;
frmLoomSel := nil;
end;
procedure TfrmLoomSel.InitGrid();
var
i: Integer;
str: string;
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select MCNO,MCName ');
sql.Add(',ROW_NUMBER() over(order by A.MCNO) as keyNo ');
sql.Add('from Bs_Machine A ');
sql.Add('where MCType= ' + QuotedStr(FMCType));
SQL.Add('order by MCNO,MCName ');
Open;
end;
if ADOTmp.IsEmpty then
begin
Application.MessageBox(<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
SCreateCDS(ADOTmp, CDS_All);
SInitCDSData(ADOTmp, CDS_All);
if CDS_All.RecordCount < FPage * 64 then
begin
FPage := FPage - 1;
end;
if FPage <= 0 then
begin
FPage := 1;
end;
if CDS_All.RecordCount mod 64 > 0 then
Label1.Caption := IntToStr(FPage) + '/' + IntToStr(Floor(CDS_All.RecordCount / 64 + 1))
else
Label1.Caption := IntToStr(FPage) + '/' + IntToStr(Floor(CDS_All.RecordCount / 64));
for i := 0 to 63 do
begin
if CDS_All.Locate('keyNo', (FPage - 1) * 64 + i + 1, []) then
begin
with ScrollBox1 do
begin
TSpeedButton(Controls[i]).Visible := True;
TSpeedButton(Controls[i]).Hint := CDS_All.fieldbyname('MCNO').AsString;
TSpeedButton(Controls[i]).Caption := CDS_All.fieldbyname('MCNO').AsString;
end;
end
else
begin
with ScrollBox1 do
begin
TSpeedButton(Controls[i]).Visible := False;
TSpeedButton(Controls[i]).Hint := '';
TSpeedButton(Controls[i]).Caption := '';
end;
end;
end;
end;
procedure TfrmLoomSel.FormShow(Sender: TObject);
begin
inherited;
FPage := 1;
InitGrid();
end;
procedure TfrmLoomSel.btn1Click(Sender: TObject);
begin
FMCNO := Trim(TSpeedButton(Sender).Hint);
ModalResult := 1;
end;
procedure TfrmLoomSel.Button1Click(Sender: TObject);
begin
FPage := FPage - 1;
InitGrid();
end;
procedure TfrmLoomSel.Button2Click(Sender: TObject);
begin
FPage := FPage + 1;
InitGrid();
end;
procedure TfrmLoomSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
// Action:=caHide;
end;
procedure TfrmLoomSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
{if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>,<2C>Ƿ<EFBFBD>Ҫ<EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD><EFBFBD>?','<27><>ʾ',32+4)=IDYES then
begin
try
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=DConString;
//ConnectionString:='23242';
Connected:=true;
end;
except
end;
end; }
end;
end;
end.