Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi]часы+будильник 
V
    Опции темы
Verbatim512
Дата 31.3.2008, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 30.3.2008
Где: МУСОРОГОРСК :)

Репутация: нет
Всего: нет



[Delphi] 

Привет ребята. Помогите мне пожплуйста с этим. 


У меня Курсовая. "часы с будильником"


Когда на будильнике устонавливаю время и нажимаю ОК!

Через определённое время появляется форма. Су ведомлением. Например: Всиавай.

При этом звучит одна стандартная мелодия windows "TADA".

Теперь к главному!!!

У меня должно в Combo Box быть помещено 5 мелодий .wav формата.

Я должен выбрать одну из них. После чего нажать на кнопку ОК. 

По истечению времени должна появиться форма уже с другим звуковым сигналом.

Я её пробовал прописать через Case, но у меня шото не сильно получилось.


Вторая моя проблемка:

(стрелка от будильника) Когда я устонавливаю время в будильнике и нажимаю кнопку "Ок" то форма с будильником исчезает и на форме там где часы должна появиться стрелка которая указывает на ту временную точку где должен прозвинеть будильник. (это моя проблемка) Я не могу сделать так чтобы она там появлялась и правильно роботала.

Прикрепляю вам програмку. Исправте её пожалуйста. 


Вот так теперь правильно????? Правильно я сюда усё поместил.

Присоединённый файл ( Кол-во скачиваний: 74 )
Присоединённый файл  __________________.rar 15,35 Kb
PM MAIL ICQ   Вверх
THandle
Дата 31.3.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 30
Всего: 372



Verbatim512, нормально вроде, только можно было бы вместо 3ей формы просто MessageBox делать какой - нибудь.


ЗЫ: в код не вникал.
PM   Вверх
Verbatim512
Дата 31.3.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 30.3.2008
Где: МУСОРОГОРСК :)

Репутация: нет
Всего: нет



Вникал. Тока с этим у меня плоховато. А ты мне можешь ты мне помочь??? Для THandle

Это сообщение отредактировал(а) Verbatim512 - 31.3.2008, 18:08
PM MAIL ICQ   Вверх
THandle
Дата 1.4.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 30
Всего: 372



Verbatim512, значит так:

1. меняешь код второй формы на:

Код


unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls,
  Unit1, DateUtils, MMSYSTEM;

type
  TForm2 = class(TForm)
    Shape1: TShape;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Shape2: TShape;
    Label8: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    Button1: TButton;
    Edit1: TEdit;
    Timer2: TTimer;
    procedure Timer2Timer(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
  Form2: TForm2;

implementation

uses Unit3;



{$R *.dfm}

var
    Hour,Min: word;      // время на индикаторе
    AlHour, AlMin: word; // будильник установлен на AlHour:AlMin

// начало работы программы
// сигнал от таймера
procedure TForm2.Timer2Timer(Sender: TObject);
var
    cHour,cMin: word;
begin
    // получить текущее время
    cHour := HourOf(Now);
    cMin :=  MinuteOf(Now);

    if Timer2.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
                 Timer2.Tag := 0;
                 Timer2.Interval := 1000;
                 PlaySound('tada.wav',0,SND_ASYNC);  // звук
                 ShowMessage(Edit1.Text);
                 Form1.Show;
             end;
end;

procedure TForm2.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
   if UpDown1.Position < 10
        then Label4.Caption := '0' + IntToStr(UpDown1.Position)
        else Label4.Caption := IntToStr(UpDown1.Position);
     end;
procedure TForm2.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 TForm2.Button1Click(Sender: TObject);
begin
    // установить будильник
    AlHour := UpDown1.Position;
    AlMin  := UpDown2.Position;
    Timer2.Tag := 1;
    Form2.Hide; //
    Timer2.Interval := 3000; // проверять каждые 3 секунды
end;

end.


2. Убираешь 3 форму. 

Всё.

Готовый пример присоединен в аттаче. smile 


Присоединённый файл ( Кол-во скачиваний: 127 )
Присоединённый файл  __________________.rar 248,07 Kb
PM   Вверх
Aleksei28
Дата 28.5.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 28.5.2009

Репутация: нет
Всего: нет



http://letitbit.net/download/8140728fd00bad7/______.doc.html                                                                  --кусовик
http://letitbit.net/download/5b1bfdb3a0c2a...______.rar.html                                                     --исходник

Это сообщение отредактировал(а) Aleksei28 - 28.5.2009, 14:06
PM MAIL   Вверх
I_Am_Rock
Дата 29.5.2009, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 2
Всего: 15



Цитата(Verbatim512 @  31.3.2008,  16:13 Найти цитируемый пост)
Через определённое время появляется форма. Су ведомлением. Например: Всиавай.

Всиавай! Всиавай! Немедленно всиавай! )))
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.