📄 fhctrl.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "fhctrl.h"
#include "dm.h"
#include "hoursrep.h"
#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "KsSkinButtons"
#pragma link "KsSkinCheckBoxs"
#pragma link "KsSkinForms"
#pragma link "KsSkinGroupBoxs"
#pragma link "KsSkinLabels"
#pragma link "se_controls"
#pragma resource "*.dfm"
TForm31 *Form31;
int fhqidian[100],fhdangqian[100],fhjiange[100];
AnsiString fhjihao[100],fhleixing[100],tiaojian;
TColor fhcolor[100];
int controlnum,fhcishu[100];
extern AnsiString lujing;
TCheckBox* xuanzhong[100];
//---------------------------------------------------------------------------
__fastcall TForm31::TForm31(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm31::FormPaint(TObject *Sender)
{
int y=int(controlnum/3)+1;
int x=3;
int heightfh=int(Height/(y+1));
if(heightfh>60)heightfh=60;
int widthfh=180;
int widthshiji;
AnsiString fhname,qidian,zhongdian;
Canvas->Brush->Color=clBtnFace;
Canvas->Font->Name = "宋体";
Canvas->Font->Size=10;
for(int j=0;j<y;j++)
for(int i=0;i<x;i++)
{ if(fhjiange[j*3+i]==0)
continue;
if(fhleixing[j*3+i]=="D")
{
fhname=IntToStr(fhjiange[j*3+i])+"天非例行卡";
qidian=DateToStr((fhqidian[j*3+i]));
zhongdian=DateToStr((fhqidian[j*3+i]+fhjiange[j*3+i]));
}
else
if(fhleixing[j*3+i]=="M")
{
fhname=IntToStr(fhjiange[j*3+i]/30)+fhleixing[j*3+i];
qidian=DateToStr((fhqidian[j*3+i]));
zhongdian=DateToStr((fhqidian[j*3+i]+fhjiange[j*3+i]));
}
else
{
fhname=IntToStr(fhjiange[j*3+i])+fhleixing[j*3+i];
qidian=IntToStr(fhqidian[j*3+i])+fhleixing[j*3+i];
zhongdian=IntToStr(fhqidian[j*3+i]+fhjiange[j*3+i])+fhleixing[j*3+i];
}
Canvas->Brush->Color=clBtnFace;
Canvas->Font->Color=clPurple;
Canvas->TextOutA(i*widthfh+25,j*heightfh+int(2*heightfh/3)+2,qidian);
Canvas->TextOutA(i*widthfh+widthfh-50,j*heightfh+int(2*heightfh/3)+2,zhongdian);
Canvas->Font->Color=clBlue;
Canvas->TextOutA(i*widthfh+25,j*heightfh+5,fhjihao[j*3+i]+"飞机"+fhname+"监控条");
Canvas->Rectangle(i*widthfh+25,j*heightfh+int(heightfh/3),(i+1)*widthfh,j*heightfh+int(2*heightfh/3));
Canvas->Brush->Color=fhcolor[j*3+i];
widthshiji= int(i*widthfh+25+(widthfh-25)*(fhdangqian[j*3+i]-fhqidian[j*3+i])/fhjiange[j*3+i]);
Canvas->FillRect(Rect(i*widthfh+26,j*heightfh+int(heightfh/3)+1,widthshiji
,j*heightfh+int(2*heightfh/3)-1));
}
}
//---------------------------------------------------------------------------
void __fastcall TForm31::FormCreate(TObject *Sender)
{
Left=220;
Top=80;
}
//---------------------------------------------------------------------------
void TForm31::fhprint()
{
//TODO: Add your source code here
TMemo* m1=new TMemo(Form31->Handle);
m1->Lines->LoadFromFile(lujing+"plane.txt");
int tempint;
for(int j=0;j<m1->Lines->Count;j++)
{ tiaojian="";
AnsiString jian,temp1,temp2,jixing;
temp1=temp2="";
for(int i=0;i<controlnum;i++)
{
if((fhjihao[i]==m1->Lines->Strings[j])&&xuanzhong[i]->Checked)
{
if(redck->Checked&&fhcolor[i]==clYellow&&!yellowck->Checked)
continue;
if(yellowck->Checked&&!redck->Checked&&fhcolor[i]==clRed)
continue;
if(!(temp1==fhleixing[i]&&temp2==IntToStr(fhjiange[i])))
{
temp1=fhleixing[i];
temp2=IntToStr(fhjiange[i]);
jian=IntToStr(fhjiange[i]);
if(temp1=="M")
jian=IntToStr(fhjiange[i]/30);
if(StrToInt(fhjihao[i])>2200)
jixing="MD90";
else
jixing="MD82";
if(tiaojian=="")
tiaojian="机型 = '"+jixing+"' AND 类型 = '"+temp1+"' AND 间隔= '"+jian+"'";
else
tiaojian=tiaojian+" OR 机型 = '"+jixing+"' AND 类型 = '"+temp1+"' AND 间隔= '"+jian+"'";
if(gaixie->Checked)
{
DataModule1->md82ctrl->Filtered=false;
DataModule1->md82ctrl->Filter="备注 = '新' AND 机号 = '"+m1->Lines->Strings[j]+"' AND 类型 = '"+temp1+"' AND 间隔 = '"+jian+"'";
DataModule1->md82ctrl->Filtered=true;
if(DataModule1->md82ctrl->RecordCount!=0)
{
tempint=DataModule1->md82cishu->AsInteger;
DataModule1->md82ctrl->Edit();
// DataModule1->md82cishu->AsInteger=tempint++;
// DataModule1->md82shangcishijian->AsInteger=fhdangqian[i];
DataModule1->md82beizhu->AsString="";
DataModule1->md82ctrl->Post();
}
DataModule1->md82ctrl->Append();
DataModule1->md82jihao->AsInteger=StrToInt(m1->Lines->Strings[j]);
DataModule1->md82jixing->AsString=jixing;
DataModule1->md82leixing->AsString=temp1;
DataModule1->md82shangcishijian->AsInteger=fhdangqian[i];
DataModule1->md82cishu->AsInteger=tempint+1;
DataModule1->md82beizhu->AsString="新";
DataModule1->md82jiange->AsInteger=StrToInt(jian);
}
}
}}
if(tiaojian=="")continue;
DataModule1->hours->Filtered=false;
DataModule1->hours->Filter=tiaojian;
DataModule1->hours->Filtered=true;
if(DataModule1->hours->RecordCount!=0)
{
TForm32* f32=new TForm32(this);
f32->title->Caption=m1->Lines->Strings[j]+"小时卡、起落卡工卡清单";
f32->QuickRep1->Prepare();
f32->QuickRep1->Preview();
delete f32;
}
}
delete m1;
}
void __fastcall TForm31::Button1Click(TObject *Sender)
{
fhprint();
}
//---------------------------------------------------------------------------
void __fastcall TForm31::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm31::FormClose(TObject *Sender, TCloseAction &Action)
{
Form1->N39->Checked=false;
for(int i=0;i<controlnum;i++)
delete xuanzhong[i];
}
//---------------------------------------------------------------------------
void __fastcall TForm31::FormShow(TObject *Sender)
{
int y=int(controlnum/3)+1;
int x=3;
int heightfh=int(Height/(y+1));
if(heightfh>60)heightfh=60;
int widthfh=180;
for(int j=0;j<y;j++)
for(int i=0;i<x;i++)
{
if(j*3+i>=controlnum)break;
xuanzhong[j*3+i]=new TCheckBox(this);
xuanzhong[j*3+i]->Parent=this;
xuanzhong[j*3+i]->Caption="";
xuanzhong[j*3+i]->Width=15;
xuanzhong[j*3+i]->Left=10+widthfh*i;
xuanzhong[j*3+i]->Top= j*heightfh+int(heightfh/3)+1;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -