Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Приложение.




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.

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 109; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты