Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 11.06.2018
Сообщений: 9

Написать приложение "Будильник"

09.10.2019, 00:34. Показов 1008. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать приложение будильник с использованием компонентов Edit+spinButton, чтобы при нажатии на кнопку (spinButtton) увеличивались часы и минуты.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2019, 00:34
Ответы с готовыми решениями:

Приложение будильник
Ни у кого нет простого приложения "будильник"? Я нашел видеоуроки, сайты с примерами, но не могу запустить виртуалку (по ходу комп не...

Приложение будильник
Всем привет, пишу приложение будильник по уроку https://codinginflow.com/tutorials/android/alarmmanager Возникли следущие ошибки...

Приложение будильник выходит ошибка
import gst import gobject import threading import logging from datetime import datetime from daemonize import Daemonize import...

11
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
09.10.2019, 02:12
Вы одобрения спрашиваете или делитесь своими планами?
0
0 / 0 / 0
Регистрация: 11.06.2018
Сообщений: 9
09.10.2019, 10:58  [ТС]
Прошу помочь написать прогу)) просто только с этим мучаюсь.......
0
Модератор
4146 / 2357 / 812
Регистрация: 15.11.2015
Сообщений: 9,433
09.10.2019, 11:33
Скорее, "Прошу написать для меня прогу".

Добавлено через 3 минуты
Edit+spinButton
Это что? Я знаю SpinEdit.

чтобы при нажатии на кнопку (spinButtton) увеличивались часы и минуты.
На один и тот же или 2 SpinEdit для часов и минут?
0
0 / 0 / 0
Регистрация: 11.06.2018
Сообщений: 9
09.10.2019, 11:36  [ТС]
ну извините=) просто завтра последний срок сдачи, 1 лаба осталась....

Добавлено через 1 минуту

Добавлено через 46 секунд
не, есть edit в который задаются значения через spinbutton, 2 spinbutton (1 часы,2 минуты), и при нажатии на spinbuttons увеличиваются на 1 ед часы и минуты
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
09.10.2019, 11:43

Не по теме:

Цитата Сообщение от yaponec Посмотреть сообщение
Нужно написать приложение будильник с использованием компонентов Edit+spinButton, чтобы при нажатии на кнопку (spinButtton) увеличивались часы и минуты.
а время чем отмерять будете?))) кнопками и эдитами?)))

меня поражает только вот одно в таких вот студягах, проблема у них именно где-то в GUI сконцентрированна, а не в главной проблеме, в этом случае главная проблема отмерять время и считать время это, а как оно задается это уже проблема номер сто сорок семь...



Ой, меня сейчас через два часа ожидает реальная практика по информатике, которую мне предстоит проводить в универе, в первый раз , а я тут онлайн на студентов наезжаю, ой... Hello World, сейчас будем раз 70 писать на Си и искать ошибки
0
Модератор
4146 / 2357 / 812
Регистрация: 15.11.2015
Сообщений: 9,433
09.10.2019, 11:49
Arcor, терпение и труд всё перетрут!

Добавлено через 4 минуты
Цитата Сообщение от yaponec
есть edit в который задаются значения через spinbutton, 2 spinbutton (1 часы,2 минуты), и при нажатии на spinbuttons увеличиваются на 1 ед часы и минуты
Зачем так сложно? Это требование в задании?
0
0 / 0 / 0
Регистрация: 11.06.2018
Сообщений: 9
09.10.2019, 11:53  [ТС]
ага( мне повезло с вариантом.....

Добавлено через 59 секунд
удачи вам=) я до сих пор не понимаю как преподаватели терпят нас ))
0
Модератор
4146 / 2357 / 812
Регистрация: 15.11.2015
Сообщений: 9,433
09.10.2019, 12:12
Например, вот простецкий будильник:
На форме 2 штуки SpinEdit, 2 штуки Timer, 1 штука Button и 1 штука Label. Свойства, которые устанавливаются в OnCreate, можно задать заранее и через инспектор объектов. Можно к SpinEdit добавить ещё Label с пояснением, что это часы и минуты:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
procedure TForm1.FormCreate(Sender: TObject);
begin
  GetLocalTime(OSystemTime);
  Timer2.Enabled := false;
  Label1.Visible := false;
  Label1.Caption := 'Будильник!';
  Label1.Color := clRed;
  Label1.Font.Name := 'Arial';
  Label1.Font.Color := clWhite;
  Label1.Font.Size := 64;
  Label1.Font.Style := Label1.Font.Style + [fsBold];
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  ah, am: integer;
  SystemTime: TSystemTime;
begin
  ah := SpinEdit1.Value; // Часы будильника
  am := SpinEdit2.Value; // Минуты будильника
  GetLocalTime(SystemTime);
  if ((SystemTime.wHour <> OSystemTime.wHour) or (SystemTime.wMinute <> OSystemTime.wMinute)) and
     (ah = SystemTime.wHour) and (am = SystemTime.wMinute) then begin
    Timer2.Interval := 10000; // Через 10 секунд выключить будильник
    Timer2.Enabled := true;
    Label1.Visible := true;
  end;
  OSystemTime := SystemTime;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Сброс будильника
  Label1.Visible := false;
end;
 
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  Label1.Visible := false;
end;
1
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
09.10.2019, 12:23
Цитата Сообщение от yaponec Посмотреть сообщение
удачи вам=) я до сих пор не понимаю как преподаватели терпят нас ))
вот и я удивляюсь, как вас терпят))))))

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    FHour: Integer;
    FMin: Integer;
    FSec: Integer;
 
    FTotalSec: Integer;
  public
    { Public-Deklarationen }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  FHour := 0;
  FMin := 0;
  FSec := 12;
 
  FTotalSec := FHour * 60 * 60 + FMin * 60 + FSec;
 
  Timer1.Enabled := True;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Interval := 1000;
  Timer1.Enabled := False;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var S, M, H: Integer;
begin
  if FTotalSec <= 0 then
    begin
      Timer1.Enabled := False;
      ShowMessage('Event occured...');
      Exit;
    end;
 
  FTotalSec := FTotalSec - 1;
 
  S := FTotalSec mod 60;
  M := FTotalSec div 60 mod 60;
  H := FTotalSec div 60 div 60 mod 24;
 
  Caption := Format('%.2d:%.2d:%.2d', [H, M, S]);
end;
 
end.
инициализацию времени в GUI сами уж... лень было

Добавлено через 9 минут
ой, а я таймер написал, а там же будильник написано надо
1
Модератор
4146 / 2357 / 812
Регистрация: 15.11.2015
Сообщений: 9,433
09.10.2019, 12:26
Вот Edit и UpDown вместо SpinEdit. Надо обработчик Edit1KeyPress назначить обеим Edit'ам:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, Spin;
 
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Timer2: TTimer;
    Button1: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
    OSystemTime: TSystemTime;
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  GetLocalTime(OSystemTime);
  Timer2.Enabled := false;
  Label1.Visible := false;
  Label1.Caption := 'Будильник!';
  Label1.Color := clRed;
  Label1.Font.Name := 'Arial';
  Label1.Font.Color := clWhite;
  Label1.Font.Size := 64;
  Label1.Font.Style := Label1.Font.Style + [fsBold];
  Edit1.Text := '0';
  Edit2.Text := '0';
 
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  ah, am: integer;
  SystemTime: TSystemTime;
begin
  ah := 0;
  am := 0;
  if Edit1.Text <> '' then
    ah := StrToInt(Edit1.Text); // Часы будильника
  if Edit2.Text <> '' then
    am := StrToInt(Edit2.Text); // Минуты будильника
  GetLocalTime(SystemTime);
  if ((SystemTime.wHour <> OSystemTime.wHour) or (SystemTime.wMinute <> OSystemTime.wMinute)) and
     (ah = SystemTime.wHour) and (am = SystemTime.wMinute) then begin
    Timer2.Interval := 10000; // Через 10 секунд выключить будильник
    Timer2.Enabled := true;
    Label1.Visible := true;
  end;
  OSystemTime := SystemTime;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Сброс будильника
  Label1.Visible := false;
end;
 
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  Label1.Visible := false;
end;
 
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
var
  i: integer;
begin
  if Button = btNext then i :=  1
                     else i := -1;
  i := StrToInt(Edit1.Text) + i;
  if i <  0 then i := 23;
  if i > 23 then i :=  0;
  Edit1.Text := IntToStr(i);
end;
 
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
var
  i: integer;
begin
  if Button = btNext then i :=  1
                     else i := -1;
  i := StrToInt(Edit2.Text) + i;
  if i <  0 then i := 59;
  if i > 59 then i :=  0;
  Edit2.Text := IntToStr(i);
end;
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9', #08]) then
    Key := #0;
end;
 
end.
1
0 / 0 / 0
Регистрация: 11.06.2018
Сообщений: 9
09.10.2019, 12:32  [ТС]
Спасибо всем большое)!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2019, 12:32
Помогаю со студенческими работами здесь

Как добавлять и удалять записи из БД и будет ли это приложение (будильник) работать на других ПК
Доброго времени суток! Помогите новичку разобраться. Стоит задача: написать напоминалку (будильник), которая весь день в определенное время...

Написать часы-будильник со стрелками
Написать часы-будильник со стрелками Добавлено через 14 минут Пожалуйста

Написать гаджет на рабочий стол для Windows часы-будильник
Здравствуйте, господа программисты!) Необходимо написать гаджет на рабочий стол для Windows часы-будильник. скажите реально ли это...

Напишите программное приложение "Будильник"
Напишите программное приложение &quot;Будильник&quot;. Приложение должно уметь показывать время, позволять устанавливать время срабатывания и при...

Создать будильник или "завести" системный будильник
Вопрос заключается в следущем: мне нужно &quot;завести&quot; или сделать будильник на unity, подходит ли для этого unity?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru