КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Приложение.⇐ ПредыдущаяСтр 12 из 12 UnitMeteo: unitUnitMeteo;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, StdCtrls, Menus, TeeProcs, TeEngine, Chart, Series;
type TForm1 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Label1: TLabel; DataBeg: TEdit; Button1: TButton; DataEnd: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; StringGrid1: TStringGrid; Edit1: TEdit; Edit2: TEdit; Label5: TLabel; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Label6: TLabel; Label7: TLabel; Label8: TLabel; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; Label9: TLabel; Chart1: TChart; Button7: TButton; Series1: TFastLineSeries; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedureFormActivate(Sender: TObject); procedure Label2Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; maxtd,mintd,maxtn,mintn,maxad, minad, maxvv, minvv, maxsv, minsv:integer; da, td,tn,vv,sv,ad:array[1..30] of integer; i,j : integer; v:byte;
implementation
usesUnitDmodul, Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
function d(data:string):integer; vara,b:integer; begin a:=strtoint(data[1]+data[2]); b:=strtoint(data[4]+data[5]); d:=a+30*(b-1); end;
var data1, data2:string; n1,n:integer;
begin Form1.Height:=785; form1.Left:=982; data1:=dataBeg.text; data2:=dataEnd.text;
N:=d(data1); N1:=d(data2); StringGrid1.Visible:=True;
with StringGrid1 do begin Cells[0,0]:='Дата'; Cells[1,0]:='Тночь'; Cells[2,0]:='Тдень' ; Cells[3,0]:='Давление'; Cells[4,0]:='Влажность воздуха'; Cells[5,0]:='Скорость ветра'; end;
datamodule1.Tablmdata.first; i:=1; maxtd:=-50; mintd:=50; maxtn:=-50; mintn:=50; maxad:= 0; minad:=800; maxvv:=0; minvv:=100; maxsv:=0; minsv:=100;
while not datamodule1.Tablmdata.Eof do begin if (d(datamodule1.Tablmdata['Data']) >= n) and (d(datamodule1.Tablmdata['Data']) <=n1) then begin StringGrid1.Cells[0,i]:= datamodule1.Tablmdata['Data']; da[i]:= d(datamodule1.Tablmdata['Data']); StringGrid1.Cells[1,i]:= datamodule1.Tablmdata['Nt']; tn[i]:= strtoint(datamodule1.Tablmdata['Nt']); StringGrid1.Cells[2,i]:= datamodule1.Tablmdata['Dt'] ; td[i]:= strtoint(datamodule1.Tablmdata['Dt']); StringGrid1.Cells[3,i]:= datamodule1.Tablmdata['Ad']; ad[i]:= strtoint(datamodule1.Tablmdata['Ad']); StringGrid1.Cells[4,i]:= datamodule1.Tablmdata['Vv']; vv[i]:= strtoint(datamodule1.Tablmdata['Vv']); StringGrid1.Cells[5,i]:= datamodule1.Tablmdata['Sv']; sv[i]:= (datamodule1.Tablmdata['Sv']); {определяем минимальную и максимальную дневную температуру} ifstrtoint(StringGrid1.Cells[1,i])>maxtd then maxtd:=strtoint(StringGrid1.Cells[1,i]); ifstrtoint(StringGrid1.Cells[1,i])<mintd then mintd:=strtoint(StringGrid1.Cells[1,i]); {определяем минимальную и максимальную ночную температуру} ifstrtoint(StringGrid1.Cells[2,i])>maxtn then maxtn:=strtoint(StringGrid1.Cells[2,i]); ifstrtoint(StringGrid1.Cells[2,i])<mintn then mintn:=strtoint(StringGrid1.Cells[2,i]); {определяем минимальную и максимальную давление} ifstrtoint(StringGrid1.Cells[3,i])>maxad then maxad:=strtoint(StringGrid1.Cells[3,i]); ifstrtoint(StringGrid1.Cells[3,i])<minad then minad:=strtoint(StringGrid1.Cells[3,i]); {определяем минимальную и максимальную влажность воздуха} ifstrtoint(StringGrid1.Cells[4,i])>maxvv then maxvv:=strtoint(StringGrid1.Cells[4,i]); ifstrtoint(StringGrid1.Cells[4,i])<minvv then minvv:=strtoint(StringGrid1.Cells[4,i]); {определяем минимальную и максимальную скорость ветра} ifstrtoint(StringGrid1.Cells[5,i])>maxsv then maxsv:=strtoint(StringGrid1.Cells[5,i]); ifstrtoint(StringGrid1.Cells[5,i])<minsv then minsv:=strtoint(StringGrid1.Cells[5,i]);
i:=i+1; end; datamodule1.Tablmdata.Next;
end;//while edit1.Text:=inttostr(mintd); end;
procedure TForm1.Button2Click(Sender: TObject); begin label7.Caption:=' Максимальное значение ночной температуры'; label8.Caption:=' Минимальное значение ночной температуры'; edit1.Text:=inttostr(maxtd); edit2.Text:=inttostr(mintd); label7.visible:=true; label8.visible:=true; edit1.visible:=true; edit2.visible:=true; v:=1; end;
procedure TForm1.Button3Click(Sender: TObject); begin label7.Caption:=' Максимальное значение дневной температуры'; label8.Caption:=' Минимальное значение дневной температуры'; edit1.Text:=inttostr(maxtn); edit2.Text:=inttostr(mintn); label7.visible:=true; label8.visible:=true; edit1.visible:=true; edit2.visible:=true; v:=2; end;
procedure TForm1.Button4Click(Sender: TObject); begin label7.Caption:=' Максимальное атмосферное давление'; label8.Caption:=' Минимальное атмосферное давление'; edit1.Text:=inttostr(maxad); edit2.Text:=inttostr(minad); label7.visible:=true; label8.visible:=true; edit1.visible:=true; edit2.visible:=true; v:=3 end;
procedure TForm1.Button5Click(Sender: TObject); begin label7.Caption:=' Максимальное значение давления'; label8.Caption:=' Минимальное значение давление'; edit1.Text:=inttostr(maxvv); edit2.Text:=inttostr(minvv); label7.visible:=true; label8.visible:=true; edit1.visible:=true; edit2.visible:=true; v:=4; end;
procedure TForm1.Button6Click(Sender: TObject); begin label7.Caption:=' Максимальная скорость ветра'; label8.Caption:=' Минимальная скорость ветра'; edit1.Text:=inttostr(maxsv); edit2.Text:=inttostr(minsv); label7.visible:=true; label8.visible:=true; edit1.visible:=true; edit2.visible:=true; v:=5; end;
procedure TForm1.N3Click(Sender: TObject); var myfile,s: string; n:integer; begin if OpenDialog1.Execute then begin myfile := Form1.OpenDialog1.FileName; n:=length(myfile); s:= myfile[n-1]+ myfile[n]; if s <> 'DB' then begin ShowMessage(myfile+'Неверноеимяфайла'); Form1.Close end; {Имя файла выбирается в диалоговом окне и присваивается переменной myfile } end; Form1.Height:=488; form1.Left:=820; DBGrid1.Visible:=true; label1.Visible:=true; label2.Visible:=true; DBNavigator1.Visible:=True; Label9.Visible:=false; end;
procedure TForm1.N4Click(Sender: TObject); var myfile:string; begin if SaveDialog1.Execute then begin //прописываем адрес и имя файла в переменную: myfile := SaveDialog1.FileName; end;
end;
procedure TForm1.FormActivate(Sender: TObject); begin Form1.Height:=240; form1.Left:=400; end;
procedure TForm1.Label2Click(Sender: TObject); begin dataBeg.Visible:=true; dataEnd.Visible:=true; Button1.Visible:=true end;
procedure TForm1.N6Click(Sender: TObject); begin form1.Close end;
procedure TForm1.N2Click(Sender: TObject); begin form2.Show end;
procedure TForm1.Button7Click(Sender: TObject); var k:integer; begin Form1.Height:=994; form1.Left:=833; Chart1.Visible:=true; Series1.Clear; case v of 1: for k:=1 to 30 do series1.addXY(da[k],td[k],'',clGreen); 2: for k:=1 to 30 do series1.addXY(da[k],tn[k],'',clGreen); 3: begin chart1.leftAxis.maximum:=900;chart1.leftAxis.minimum:=700; for k:=1 to 30 do series1.addXY(da[k],ad[k],'',clGreen); end; 4: begin chart1.leftAxis.maximum:=100;chart1.leftAxis.minimum:=0; for k:=1 to 30 do series1.addXY(vv[k],vv[k],'',clGreen); end; 5: begin chart1.leftAxis.maximum:=50;chart1.leftAxis.minimum:=0; for k:=1 to 30 do series1.addXY(sv[k],sv[k],'',clGreen); end;
elseShowMessage('Неверно'); end; end;
end.
Unit2:
unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm2 = class(TForm) Label1: TLabel; procedureFormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end;
var Form2: TForm2;
implementation
usesUnitMeteo;
{$R *.dfm}
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Form1.show; Form1.Height:=488; form1.Left:=820; form1.DBGrid1.Visible:=true; form1.label1.Visible:=true; form1.label2.Visible:=true; form1.DBNavigator1.Visible:=True; form1.Label9.Visible:=false; end;
end.
UnitDModule: unitUnitDmodul;
interface
uses SysUtils, Classes, DB, DBTables;
type TDataModule1 = class(TDataModule) Database1: TDatabase; Tablmdata: TTable; ds_mdata: TDataSource; TablmdataData: TDateField; TablmdataNt: TSmallintField; TablmdataDt: TSmallintField; TablmdataAd: TFloatField; TablmdataVv: TFloatField; TablmdataSv: TFloatField; private { Private declarations } public { Public declarations } end;
var DataModule1: TDataModule1;
implementation
{$R *.dfm}
end.
|