- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •IBplementation
- •Implementation
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Interface
- •Часть 1
- •Interface
- •Часть 1 I. 104
- •Implementation
- •Implementation
- •Implementation
- •Часть I
- •Р ис. 1.46. Окно программы Звуки Windows
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Interface
- •Часть 1
- •168 Част
- •Implementation
- •Часть 1
- •Interface uses
- •Implementation
- •Interface
- •Implementation
- •Часть 1
- •Часть 1 I Примеры и задачи
- •Часть 1 I Примеры и задачи
- •Implementation
- •205 Часть
- •Interface
- •Implementation
- •216 Часть 1
- •Поле т ип Размер Информация
- •Часть 1
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Часть 2 Таблица 2.2 (окончание)
- •252 Часть 2
- •Часть 2 I Delphi — краткий справочник
- •Часть 2
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grids, DBGrids, DBTables, StdCtrls, DBCtrls, ExtCtrls;
type
TForml = class(TForm) Tablel: TTable; DataSourcel: TDataSource; DBGridl: TDBGrid; Queryl: TQuery; Label1: TLabel; Buttonl: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Label2: TLabel; DBNavigatorl: TDBNavigator;
TObject); TObject) ; TObject) ; TObject) ; TObject); TObject);
procedure procedure procedure procedure procedure procedure
private I Private
public I Public
end;
FormActivate(Sender: ButtonlClick(Sender: Button5Click(Sender: Button2Click(Sender: Button4Click(Sender: Button3Click(Sender:
declarations ) declarations }
var
Forml: TForml;
stDay : array[1..7] of string[ll] =
('воскресенье', 'понедельник','вторник', 'среда','четверг','пятница','суббота');
stMonth : array[1..12] of string[8] =
('января','февраля','марта', 1 апреля', ■мая','июня■,'июля', 1 августа','сентября','октября', 'ноября','декабря');
Implementation
<$R *.dfm} uses DateUtils;
// сегодняшняя дата и день недели
procedure TForml.FormActivate(Sender: TObject);
var
Present: TDateTime; Year, Month, Day : Word; begin Present:= Now; // Wow — функция, возвращает текущую дату
// и время
DecodeDate(Present, Year, Month, Day); Labe11.Caption := 'Сегодня ' + IntToStr(Day)+' ' + StMonth[Month] + ' '+ IntToStr(Year)+' года, ' + stDay[DayOfWeek(Present)]; Forml.Label2.Caption := 'Сегодня и ближайшие дни';
end;
230
Чг
Примеры и задачи
231
// щелчок на кнопке Сегодня
procedure TForml.Button2Click(Sender: TObject);
var
st : string; // критерий запроса begin
Forml.Label2.Caption := 'Сегодня';
st: = FormatDateTime (' dd/rran/yyyy', Now) ;
Forml.Queryl.SQL[3] := '(Data = '''+st+''')';
Forml.Queryl.Open;
if forml.Queryl.RecordCount <> 0 then
forml.DataSourcel.DataSet : = Forml.Queryl else begin
ShowMessage('На сегодня никаких дел не запланировано.1; //forml.DataSourcel.DataSet ;= Tablel; end; end;
// завтра
procedure TForml.Button3Click(Sender: TObject); var
Present, // сегодня .,.»
Tomorrow: TDateTime; // завтра
begin
Forml.Label2.Caption := 'Завтра';
Present:= Now; // Now — функция, возвращает текущую дату
// и время Tomorrow := IncDay(Present); // завтра
Forml.Queryl.SQL[3] :=
1(Data = '''+ FormatDateTime('dd/mm/yyyy',Tomorrow)+''') Forml.Queryl.Open; if forml.Queryl.RecordCount <> 0 then
forml.DataSourcel.DataSet := Forml.Queryl else
ShowMessage('На завтра никаких дел не запланировано.'), end;
// на этой неделе
procedure TForml.Button4Click(Sender: TObject);
var
Present: TDateTime;
EndOfWeek: TDateTime;
begin
Forml.Label2.Caption := 'На этой неделе';
Present := Now; // Now — функция, возвращает текущую дату
// и время EndOfWeek := StartOfAWeek(YearOf(Present),WeekOf(Present)+1) ;
Forml.Queryl.SQL[3] :=
1 (Data >= " ' + FormatDateTime;'dd/mm/yyyy1,Present) + '11)' + 'and'+
1(Data < ' ' ' + FormatDateTime (' dd/mm/yyyy1, EndOfWeek) +''')';
Forml.Queryl.Open; ' .
if forml.Queryl.RecordCount <> 0 then
forml.DataSourcel.DataSet := Forml.Queryl
else
ShowMessage('На эту неделю никаких дел не запланировано.');
end;
// на следующей неделе
procedure TForml.ButtonlClick(Sender: TObject);
var
Present: TDateTime;
dl, d2: TDateTime;
begin
Forml.Label2.Caption := 'На следующей неделе';
Present:= Now; // Wow — функция, возвращает текущую дату
// и время
dl := StartOfAWeeklYearOf(Present),WeekOf(Present)+l); d2 := StartOfAWeek(YearOf(Present),WeekOf(Present)+2); Forml.Queryl.SQL[3] :=
'(Data >= •"+ FormatDateTime('dd/mm/yyyy',dl)+''')' +
1 and■ +
1(Data < '''+ FormatDateTime('dd/mm/yyyy•,d2)+''')';
Forml.Queryl.Open;
if forml.Queryl.RecordCount <> 0 then
forml.DataSourcel.DataSet := Forml.Queryl
else
ShowMessage('На следующую неделю никаких дел
LHe запланировано.');
// показать все записи
procedure TForml.Button5Click(Sender: TObject);
232
begin
F orml.Label2.Caption :<■ 'Все, что намечено сделать'; DataSourcel.DataSet := Tablel; Tablel.Active := True;
end; end.
Печать щ
Рис. 1.77. Форма программы Счет
68. Напишите программу, используя которую можно подготовить и распечатать накладную. Рекомендуемый вид формы программы приведен на рис. 1.77.
Примеры и задачи
{ Программа демонстрирует только вывод на печать. ) unit schet_;
interface
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, ExtCtrls;
type
TForml = class(TForm)
StringGridl: TStringGrid;
Buttonl: TButton;
Button2: TButton;
Editl: TEdit;
Edit2: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Forml: TForml;
