D10DJkaimengwenshang/项目代码/wenshangkm/G04复核布匹检验/U_ZdyBtnHelp.pas
DESKTOP-E401PHE\Administrator 74d01e92e1 ~
2025-09-27 14:24:10 +08:00

169 lines
3.9 KiB
ObjectPascal
Raw 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_ZdyBtnHelp;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, cxGraphics,
cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxScrollBox, Vcl.ExtCtrls,
Vcl.Buttons, Vcl.StdCtrls;
type
TfrmZdyBtnHelp = class(TForm)
ADOConnection1: TADOConnection;
cxScrollBox1: TcxScrollBox;
Panel1: TPanel;
ADOTmp: TADOQuery;
SpeedButton1: TSpeedButton;
Button3: TButton;
Label1: TLabel;
Label27: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
fPageSize:integer;
fCurPageIndex:integer;
procedure InitItemPanel(mPageIndex:integer);
procedure SpeedButtonClick(Sender: TObject);
public
fRowNumber:integer;
fBadBtnSize:integer;
fSelName:string;
fFlag, fFlagName, fMainType: string;
end;
var
frmZdyBtnHelp: TfrmZdyBtnHelp;
implementation
uses
U_globalVar,U_DataLink;
{$R *.dfm}
procedure TfrmZdyBtnHelp.Button1Click(Sender: TObject);
begin
if fCurPageIndex <= 1 then
begin
Label1.Caption := '1';
InitItemPanel(1);
end
else
begin
fCurPageIndex := fCurPageIndex - 1;
Label1.Caption := IntToStr(fCurPageIndex);
InitItemPanel(fCurPageIndex);
end;
end;
procedure TfrmZdyBtnHelp.Button3Click(Sender: TObject);
begin
fCurPageIndex := fCurPageIndex + 1;
Label1.Caption := IntToStr(fCurPageIndex);
InitItemPanel(fCurPageIndex);
end;
procedure TfrmZdyBtnHelp.FormCreate(Sender: TObject);
begin
cxScrollBox1.Align:=alClient;
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
fPageSize:=30;
fCurPageIndex:=1;
end;
//////////////////////////////
procedure TfrmZdyBtnHelp.FormShow(Sender: TObject);
begin
self.Caption:=fflagName;
InitItemPanel(1);
end;
procedure TfrmZdyBtnHelp.InitItemPanel(mPageIndex:integer);
var
speedBtn: TSpeedButton;
zdyName: string;
i, k, j: Integer;
pageStartIndex:integer;
begin
with ADOTmp do
begin
Close;
sql.Clear;
// sql.Add('select AA.*,row_number () over (order by ZdyName) as keyNo from(');
sql.Add('select A.*,ZJM=dbo.getPinYin(A.ZdyName) from KH_ZDY A where A.Type=''' + fFlag + '''');
if Trim(fMainType) <> '' then
begin
sql.Add(' and A.MainType=''' + Trim(fMainType) + '''');
end;
// sql.Add(')AA');
sql.Add('and valid=''Y''');
sql.Add('order by ZdyNo offset '+intTostr((mPageIndex-1)*fpageSize) +' rows fetch next '+intTostr(fpageSize)+' rows only' );
Open;
end;
if ADOTmp.IsEmpty then
begin
// Application.MessageBox('û<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>õ㣡', '<27><>ʾ', 0);
Exit;
end;
//if fRowNumber = 0 then
fRowNumber := 6;
pageStartIndex:= (StrToInt(Label1.Caption) - 1) * fPageSize + 1;
j := fRowNumber;
fBadBtnSize := 180;
with ADOTmp do
begin
First;
i := 0;
while not Eof do
begin
k := i div j;
zdyName := Trim(fieldbyname('ZDYName').AsString);
speedBtn := TSpeedButton.Create(self);
speedBtn.OnClick := SpeedButtonClick;
speedBtn.Width := fBadBtnSize;
speedBtn.Height := 100;
speedBtn.Left := 5 + (i mod j) * speedBtn.Width;
speedBtn.Top := 3 + k * speedBtn.Height;
speedBtn.Parent := cxScrollBox1;
speedBtn.Hint := zdyName;
if Length(zdyName) > 4 then
begin
speedBtn.Caption := Copy(zdyName, 1, 4) + #13 +
Copy(zdyName, 5, Length(zdyName) - 4);
end
else
speedBtn.Caption := zdyName;
i := i + 1;
//
if i=20 then break;
Next;
end;
end;
end;
procedure TfrmZdyBtnHelp.SpeedButtonClick(Sender: TObject);
begin
fSelName := Trim(TSpeedButton(Sender).Caption);
ModalResult := 1;
// CIFNumber.SetFocus;
end;
end.