Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пожалуйста, помогите дописать программу


vertual ©   (2012-10-04 16:34:00) 

Ежедневно в базу данных заносится температура, необходимо дописать:
//
вычислить среднее арифметическое температуры за определенные числа месяца заданных пользователем.
//
Вот что у меня есть...

unit pogoda_;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Menus;

type
TForm1 = class(TForm)
MonthCalendar1: TMonthCalendar;
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
const
DBNAME = 'pogoda.db';
var
db: TextFile;

procedure TForm1.FormCreate(Sender: TObject);
var
r: integer;
begin
AssignFile(db,DBNAME);
try
Append(db);
except
on E: EInOutError do
begin
r := MessageDlg('Файл базы данных (pogoda.db) не найден.' +
#13+'Создать файл?',mtWarning,[mbOk,mbCancel],0);
if r = mrOK
then begin
Rewrite(db);
ShowMessage('Файл базы данных создан!');
end
else Application.Terminate;
end;
end;
Edit1.Enabled := True;
Button1.Enabled := True;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9',#8: ;

#13:
if Length(Edit1.Text) <> 0
then Button1.SetFocus;

',','.': begin // десятичная точка
Key:= DecimalSeparator;
if Pos(DecimalSeparator,Edit1.Text) <> 0
then Key :=Char(0);
end;

'-': if Length(Edit1.Text) <> 0
then Key:=Char(0);

else Key:= Char(0);
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Length(Edit1.Text) = 0
then ShowMessage('Надо ввести температуру.')
else begin
writeln(db,
FormatDateTime('dd/mm/yy',MonthCalendar1.Date),
' ',Edit1.Text);
Edit1.Text := '';
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile(db);
end;

end.


AV   (2012-10-04 19:07:00) [1]


> ',','.': begin // десятичная точка
> Key:= DecimalSeparator;
> if Pos(DecimalSeparator,Edit1.Text) <> 0
> then Key :=Char(0);
> end;

объясните словами что тут написано - подскажу


Наверх

Титульная страница Поиск, карта сайта Написать письмо