J
Juli13rus
Прошу заранее прощения за непрофессионализм в этом деле. Учусь заочно, знаний в этой области практически или вообще нет.
К делу.. Есть код программы "часы" с будильником (напоминалкой). Была создана одна форма. Все как бы ничего.., ошибок вроде нет. Но! В коде указана форма два, про которую в описани работы не слова. Полагаю, что это должно быть то самое сообщение, которое будет появляться после срабатывания будильника (сигнала). (форма2)
Подскажите пожалуйста, как правильно добавить еще одну форму, в которой будет картинка/фон (которую тоже нужно помочь сделать), небольшой текст сообщения, музыка, и что бы это все вместе работало.
Так же хочется очень, что бы при загрузке предоставлялась возможность выбрать вид часов (аналоговые или цифровые), код я найду. Получается, что это уже 3-я форма. А для нее нужна еще одна для сообщения будильника или можно использовать форму 2?
И, если можно, при загрузке программы хочется, чтобы появлялась полосочка "загружающаяся" (если вы поняли, о чем я).Так поняла, что это чисто только для вида.. и не несет никакой функциональности. Это не обязательно, но это моя курсовая работа и просто часы безо всего - это очень легкая программа. Хорошей оценки мне за нее не ждать. Нужно чем-то усложнить.
Используемая программа: Delphi 7.
Имеющийся код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, DateUtils;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Timer1: TTimer;
Shape1: TShape;
Shape2: TShape;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
UpDown1: TUpDown;
UpDown2: TUpDown;
procedure Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
Hour,Min: word; // время на индикаторе
AlHour, AlMin: word; // будильник установлен на AlHour:AlMin
procedure TForm1.Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
end;
// начало работы программы
procedure TForm1.FormCreate(Sender: TObject);
begin
Hour := HourOf(Now);
Min := MinuteOf(Now);
Label1.Caption := IntToStr(Hour);
if Min < 10
then Label2.Caption := '0'+IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// сигнал от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
var
cHour,cMin: word;
begin
// получить текущее время
cHour := HourOf(Now);
cMin := MinuteOf(Now);
if Timer1.Tag = 0 // окно программы на экране
then begin
{ проверим, совпадает ли текущее время
с отображаемым на индикаторе }
if cHour <> Hour then
begin
Hour := cHour;
Label1.Caption := IntToStr(Hour);
end;
if cMin <> Min then
begin
Min := cMin;
if min <10
then Label2.Caption := '0' + IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// обеспечим мигание двоеточия
if Label3.Visible
then Label3.Visible := False
else label3.Visible := True;
end
else // окно программы скрыто, контролируем
// наступление момента подачи сигнала
if (cHour = AlHour) and (cMin = AlMin)
// сигнал !
then begin
Form2.Show;
Timer1.Tag := 0;
Timer1.Interval := 1000;
end;
end;
// щелчок на UpDown1 изменяет
// время сигнала будильника - часы
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown1.Position < 10
then Label4.Caption := '0' + IntToStr(UpDown1.Position)
else Label4.Caption := IntToStr(UpDown1.Position);
end;
// щелчок на UpDown2 изменяет
// время сигнала будильника - минуты
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown2.Position < 10
then Label5.Caption := '0' + IntToStr(UpDown2.Position)
else Label5.Caption := IntToStr(UpDown2.Position);
end;
// щелчок на кнопке OK
procedure TForm1.Button1Click(Sender: TObject);
begin
// установить будильник
AlHour := UpDown1.Position;
AlMin := UpDown2.Position;
Timer1.Tag := 1;
Form1.Hide; //
Timer1.Interval := 3000; // проверять каждые 3 секунды
end;
end.
вот как это выглядит.. строго не судите)))
К делу.. Есть код программы "часы" с будильником (напоминалкой). Была создана одна форма. Все как бы ничего.., ошибок вроде нет. Но! В коде указана форма два, про которую в описани работы не слова. Полагаю, что это должно быть то самое сообщение, которое будет появляться после срабатывания будильника (сигнала). (форма2)
Подскажите пожалуйста, как правильно добавить еще одну форму, в которой будет картинка/фон (которую тоже нужно помочь сделать), небольшой текст сообщения, музыка, и что бы это все вместе работало.
Так же хочется очень, что бы при загрузке предоставлялась возможность выбрать вид часов (аналоговые или цифровые), код я найду. Получается, что это уже 3-я форма. А для нее нужна еще одна для сообщения будильника или можно использовать форму 2?
И, если можно, при загрузке программы хочется, чтобы появлялась полосочка "загружающаяся" (если вы поняли, о чем я).Так поняла, что это чисто только для вида.. и не несет никакой функциональности. Это не обязательно, но это моя курсовая работа и просто часы безо всего - это очень легкая программа. Хорошей оценки мне за нее не ждать. Нужно чем-то усложнить.
Используемая программа: Delphi 7.
Имеющийся код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, DateUtils;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Timer1: TTimer;
Shape1: TShape;
Shape2: TShape;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
UpDown1: TUpDown;
UpDown2: TUpDown;
procedure Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
Hour,Min: word; // время на индикаторе
AlHour, AlMin: word; // будильник установлен на AlHour:AlMin
procedure TForm1.Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
end;
// начало работы программы
procedure TForm1.FormCreate(Sender: TObject);
begin
Hour := HourOf(Now);
Min := MinuteOf(Now);
Label1.Caption := IntToStr(Hour);
if Min < 10
then Label2.Caption := '0'+IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// сигнал от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
var
cHour,cMin: word;
begin
// получить текущее время
cHour := HourOf(Now);
cMin := MinuteOf(Now);
if Timer1.Tag = 0 // окно программы на экране
then begin
{ проверим, совпадает ли текущее время
с отображаемым на индикаторе }
if cHour <> Hour then
begin
Hour := cHour;
Label1.Caption := IntToStr(Hour);
end;
if cMin <> Min then
begin
Min := cMin;
if min <10
then Label2.Caption := '0' + IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// обеспечим мигание двоеточия
if Label3.Visible
then Label3.Visible := False
else label3.Visible := True;
end
else // окно программы скрыто, контролируем
// наступление момента подачи сигнала
if (cHour = AlHour) and (cMin = AlMin)
// сигнал !
then begin
Form2.Show;
Timer1.Tag := 0;
Timer1.Interval := 1000;
end;
end;
// щелчок на UpDown1 изменяет
// время сигнала будильника - часы
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown1.Position < 10
then Label4.Caption := '0' + IntToStr(UpDown1.Position)
else Label4.Caption := IntToStr(UpDown1.Position);
end;
// щелчок на UpDown2 изменяет
// время сигнала будильника - минуты
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown2.Position < 10
then Label5.Caption := '0' + IntToStr(UpDown2.Position)
else Label5.Caption := IntToStr(UpDown2.Position);
end;
// щелчок на кнопке OK
procedure TForm1.Button1Click(Sender: TObject);
begin
// установить будильник
AlHour := UpDown1.Position;
AlMin := UpDown2.Position;
Timer1.Tag := 1;
Form1.Hide; //
Timer1.Interval := 3000; // проверять каждые 3 секунды
end;
end.
вот как это выглядит.. строго не судите)))
Ссылка скрыта от гостей