📄 pjxjh.pas
字号:
unit pjxjh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ExtCtrls, ComCtrls, StdCtrls, Buttons, DB, DBTables,
RpBase, RpSystem, RpCon, RpConDS, RpConBDE, RpDefine, RpRave, Menus;
type
TFrmPjxjh = class(TForm)
T_xsmd: TTable;
Q_Pjxjh: TQuery;
RvP_pxjh: TRvProject;
RvQ_pjxjh: TRvQueryConnection;
RvS_pjxjh: TRvSystem;
RvQ_zy_xnxq: TRvQueryConnection;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
stgData: TStringGrid;
procedure FormShow(Sender: TObject);
procedure stgDataDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPjxjh: TFrmPjxjh;
rxnf,zym:string;
implementation
{$R *.dfm}
uses
zhxx,PrograssUnit;
procedure TFrmPjxjh.FormShow(Sender: TObject);
var
i,j,n:integer;
xnxqwz,jkxs,syxs:string;
begin
stgData.ColCount:=5;
stgData.RowCount:=2; //设一行高度固定
application.CreateForm(TPrograssForm, PrograssForm);
PrograssForm.P_message.Caption := '系统正在读取数据,请稍候……';
PrograssForm.FormStyle := fsStayOnTop;
PrograssForm.show;
PrograssForm.Update;
application.ProcessMessages;
if (dm.Q_zy_xnxq.Active=true) and (dm.PQ_jxjh.Active=true) then
begin
stgData.Cells[0,0]:='编号';
stgData.Cells[1,0]:=' 课程种类 ';
stgData.Cells[2,0]:=' 课程名称';
stgData.Cells[3,0]:='总学时';
stgData.Cells[4,0]:='总学分';
n:=4;
dm.Q_zy_xnxq.close;
dm.Q_zy_xnxq.open;
while not dm.Q_zy_xnxq.Eof do
begin
xnxqwz:=dm.Q_zy_xnxq.FieldValues['SYS_XNXQ__XNXQWZ'];
n:=n+1;
stgData.Cells[n,0]:=dm.Q_zy_xnxq.FieldValues['SYS_XNXQ__XNXQWZ'];
stgData.ColCount:=stgData.ColCount+1;
dm.Q_zy_xnxq.Next;
end;
{ n:=4;
dm.Q_zy_xnxq.First ;
while not dm.Q_zy_xnxq.Eof do
begin
xnxqwz:=dm.Q_zy_xnxq.FieldValues['SYS_XNXQ__XNXQWZ'];
n:=n+1;
stgData.Cells[n,1]:=dm.Q_zy_xnxq.FieldValues['SYS_XNXQ__XNXQWZ'];
dm.Q_zy_xnxq.Next;
end; }
end;
i:=0;
while not dm.PQ_jxjh.Eof do
begin
i:=i+1;
rxnf:=dm.PQ_jxjh.FieldValues['JW_JXJHB__RXNF'];
zym:=dm.PQ_jxjh.FieldValues['SYS_ZY__ZYM'];
xnxqwz:=dm.PQ_jxjh.FieldValues['SYS_XNXQ__XNXQWZ'];
stgData.cells[0,i]:=inttostr(i);
stgData.cells[1,i]:=dm.PQ_jxjh.FieldValues['SYS_KCXX__XXLBM'];
stgData.cells[2,i]:=dm.PQ_jxjh.FieldValues['SYS_KC__KCM'];
stgData.cells[3,i]:=dm.PQ_jxjh.FieldValues['JW_JXJHB__ZXS'];
stgData.cells[4,i]:=dm.PQ_jxjh.FieldValues['JW_JXJHB__ZXF'];
for j:=5 to stgData.ColCount-1 do
begin
if xnxqwz=stgData.cells[j,0] then
begin
jkxs:=dm.PQ_jxjh.FieldValues['JW_JXJHC__JKZXS'];
if dm.PQ_jxjh.FieldValues['JW_JXJHC__SYZXS']<>0 then
begin
syxs:=dm.PQ_jxjh.FieldValues['JW_JXJHC__SYZXS'];
stgData.cells[j,i]:=jkxs+'/'+syxs;
end
else
stgData.cells[j,i]:=jkxs;
// break;
end;
end;
stgData.RowCount:=stgData.RowCount+1;
dm.PQ_jxjh.Next;
end;
//多线程结束
Q_pjxjh.Close;
t_xsmd.Close; //教学计划表
t_xsmd.EmptyTable;
t_xsmd.open;
FOR i:=1 TO stgData.RowCount-2 DO
BEGIN
t_xsmd.Edit;
t_xsmd.append;
t_xsmd.FieldByName('JW_PJXJH__BH').AsInteger:=strtoint(stgData.Cells[0,i]) ;
t_xsmd.FieldByName('JW_PJXJH__KCZL').Asstring:=stgData.Cells[1,i] ;
t_xsmd.FieldByName('JW_PJXJH__KCMC').AsString:=stgData.Cells[2,i];
t_xsmd.FieldByName('JW_PJXJH__ZXS').AssTRING:=stgData.Cells[3,i];
t_xsmd.FieldByName('JW_PJXJH__ZXF').AsString :=stgData.Cells[4,i];
t_xsmd.FieldByName('JW_PJXJH__XQ1').AsString :=stgData.Cells[5,i];
t_xsmd.FieldByName('JW_PJXJH__XQ2').AsString :=stgData.Cells[6,i];
t_xsmd.FieldByName('JW_PJXJH__XQ3').AsString :=stgData.Cells[7,i];
t_xsmd.FieldByName('JW_PJXJH__XQ4').AsString:=stgData.Cells[8,i];
t_xsmd.FieldByName('JW_PJXJH__XQ5').AsString:=stgData.Cells[9,i];
t_xsmd.FieldByName('JW_PJXJH__XQ6').AsString:=stgData.Cells[10,i];
t_xsmd.FieldByName('JW_PJXJH__XQ7').AsString:=stgData.Cells[11,i];
t_xsmd.FieldByName('JW_PJXJH__XQ8').AsString:=stgData.Cells[12,i];
END;
t_xsmd.Post;
t_xsmd.close;
PrograssForm.free;
end;
procedure TFrmPjxjh.stgDataDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
{var
row:integer;
row:=stgData.Row;
if row=1 then
DrawText(stgData.Canvas.Handle,pchar(stgData.Cells[Acol,Arow]),Length(stgData.Cells[Acol,Arow]),Rect,DT_WORDBREAK or DT_LEFT);
}
end;
procedure TFrmPjxjh.N4Click(Sender: TObject);
begin
close;
end;
procedure TFrmPjxjh.N2Click(Sender: TObject);
begin
RvP_pxjh.ProjectFile :='report\jxjh.rav';
RvP_pxjh.Execute;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -