![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.05.2011
Сообщений: 7
|
![]()
помогите пожалуйста найти ошибку......((((((
![]() unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, Menus, ExtCtrls, StdCtrls, ComCtrls, MPlayer; {ìîäóëè, â êîòîðûõ íàõîäÿòñÿ êîìïîíåíòû} type TForm1 = class(TForm) CifrTimer: TLabel; AnalogTimer: TImage; MainMenu1: TMainMenu; N1: TMenuItem; Analog: TMenuItem; Digit: TMenuItem; Timer1: TTimer; N2: TMenuItem; N3: TMenuItem; Picker: TDateTimePicker; N4: TMenuItem; Vkl: TRadioGroup; OpenDialog1: TOpenDialog; Label1: TLabel; MediaPlayer1: TMediaPlayer; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Timer2: TTimer; procedure DigitClick(Sender: TObject); procedure AnalogClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure DrowCifrTimer; procedure DrowAnalogTimer; procedure N4Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; const c = 106; {öåíòð êàðòèíêè àíàëîã ÷àñîâ} lm = 70; {äëèíû ñòðåëîê} lh = 30; var Form1: TForm1; k1, k2: real; {ïåðåìåííûå, â êîò ñîõð ïðåäûäóù çíà÷ êîíöîâ ñòðåëîê} implementation {íà÷àëî âûïîëíåíèÿ} {$R *.dfm} var // èíòåðâàë min: integer; // ìèíóò sec: integer; // ñåêóíä // â çàãîëîâîê îêíà ïðîãðàììû // âûâîäèò, ñêîëüêî âðåìåíè îñòàëîñü procedure ShowTime; var buf: string[20]; begin // ìèíóòû è ñåêóíäû âûâîäèì äâóìÿ öèôðàìè if min < 10 then buf := '0' + IntToStr(min) + ':' else buf := IntToStr(min) + ':'; if sec < 10 then buf := buf + '0' + IntToStr(sec) else buf := buf + IntToStr(sec); Form1.Label3.Caption := buf; end; // ñèãíàë îò òàéìåðà procedure TForm1.DrowCifrTimer; {ïðîðèñîâêà öèôðîâûõ ÷àñîâ} begin CifrTimer.Caption := TimeToStr(Time) {ô-öèÿ, êîò âîçâðàùàåò òåêóùåå ñèñòåìíîå âðåìÿ} end; procedure TForm1.DrowAnalogTimer; {ïðîðèñîâêà àíàëîãîâûõ ÷àñîâ} var Hour, Min, Sec, MSec: Word; a, b: real; begin with AnalogTimer do begin Canvas.Pen.Color := clSilver;{öâåò çàòèðêè ñòðåëêè} Canvas.MoveTo(c, c); {ïåðåìåù â öåíòð} Canvas.LineTo(Round(lm*cos(k1))+c, c-Round(lm*sin(k1))); {çàêðàñêà ìèí ñòðåëêè} Canvas.MoveTo(c, c); Canvas.LineTo(Round(lh*cos(k2))+c, c-Round(lh*sin(k2))); {çàêðàñêà ÷àñ ñòðåëêè} DecodeTime(Time, Hour, Min, Sec, MSec); {ðàçáèðàåì âðåìÿ íà ÷àñû, ìèí, ñåê, ìèëèñåê} a := pi/2 - 6*pi*Min/180; {èçìåíåíèå óãëà ïîâîðîòà ìèí ñòðåëêè} if Hour>12 then Hour := Hour-12; b := pi/2 - (30*pi*Hour/180 + 0.5*pi*Min/180);{èçì-å óãëà ïîâîðîòà ÷àñîâîé ñòðåëêè} k1 := a; k2 := b; Canvas.Pen.Color := clBlack;{öâåò ñòðåëêè} Canvas.MoveTo(c, c); {ïåðåìåù â öåíòð} Canvas.LineTo(Round(lm*cos(a))+c, c-Round(lm*sin(a))); {ðèñ ìèí ñòðåëêó} Canvas.MoveTo(c, c); Canvas.LineTo(Round(lh*cos(b))+c, c-Round(lh*sin(b))); {ðèñ ÷àñ ñòðåëêè} end end; procedure TForm1.DigitClick(Sender: TObject); {ïîêàç öèôð ÷àñû} begin Digit.Checked := true; {âûáðàíà êíîïêà â ìåíþ öèôð} DrowCifrTimer; {âûçîâ ïðîöåäóðû ïðîðèñ öèôð ÷àñîâ} CifrTimer.Visible := true; {ïîêàç öèôð ÷àñû} AnalogTimer.Visible := false; {íå ïîêàç àíàëîã ÷àñû} end; procedure TForm1.AnalogClick(Sender: TObject); {ïîêàç àíàëîã ÷àñû} begin Analog.Checked := true; {âûáðàíà êíîïêà â ìåíþ àíàëîã} DrowAnalogTimer; {âûçîâ ïðîöåäóðû ïðîðèñ àíàëîã ÷àñîâ} CifrTimer.Visible := false; {íå ïîêàç öèôð ÷àñû} AnalogTimer.Visible := true; {ïîêàç àíàëîã ÷àñû} end; |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 23.05.2011
Сообщений: 7
|
![]()
procedure TForm1.Timer1Timer(Sender: TObject); {áóäèëüíèê}
var Hour, Min, Sec, MSec, Hour1, Min1: Word; begin if Digit.Checked = true then {åñëè âûáðàíà êíîïêà â ìåíþ öèôð} DrowCifrTimer {âûçîâ ïðîöåäóðû ïðîðèñ öèôð ÷àñîâ} else Begin DrowAnalogTimer {âûçîâ ïðîöåäóðû ïðîðèñ àíàëîã ÷àñîâ} end; DecodeTime(Time, Hour, Min, Sec, MSec);{ðàçáèðàåì âðåìÿ íà ÷àñû, ìèí, ñåê, ìèëèñåê} DecodeTime(Picker.Time, Hour1, Min1, Sec, MSec); {ðàçáèðàåì âðåìÿ, óñòàí íà òàéìåðå íà ÷àñû, ìèí, ñåê, ìèëèñåê} try if (Hour = Hour1) and (Min = Min1) and (Vkl.ItemIndex = 0) {åñëè áóä âêë è âðåìÿ òàéìåðà ñîâï ñ ñèñòåìíûì} then begin MediaPlayer1.Play; {âêëþ÷àåì áèï} Vkl.ItemIndex := 1; {âûêëþ÷àåì áóäèëüíèê} end; except end; end; procedure TForm1.FormCreate(Sender: TObject); {ïðîðèñîâêà ïåðâîíà÷àëüíîé ôîðìû} begin DrowCifrTimer; {âûçîâ ïðîöåäóðû ïðîðèñ öèôð ÷àñîâ} CifrTimer.Visible := true; {ïîêàç öèôð ÷àñû} k1 := pi/2; {ïðèñâàèâàåì ïåðâîíà÷ çíà÷ ñòðåëêàì} k2 := k1; end; procedure TForm1.N4Click(Sender: TObject); {ïëååð} begin if OpenDialog1.Execute then {åñëè äèàëîã ñîñòîÿëñÿ} begin Label1.Caption := OpenDialog1.FileName; {çàïèñ èìÿ ôàéëà, êîò õîòèì ïðîèãðàòü} MediaPlayer1.FileName := Label1.Caption; {âûáèðàåì åãî} MediaPlayer1.Open; {ïðîèãðûâàåì} end; end; procedure TForm1.N2Click(Sender: TObject); begin close; end; procedure TForm1.Button1Click(Sender: TObject); begin if Form1.Timer1.Enabled then // òàéìåð ðàáîòàåò, íàäî îñòàíîâèòü begin Timer1.Enabled := False; // ñòîï Button1.Caption := 'Ïóñê'; Label3.Visible := False; // ñêðûòü èíäèêàòîð // ñäåëàòü âèäèìûìè ïîëÿ ââîäà èíòåðâàëà Label1.Visible := True; Edit1.Visible := True; Label2.Visible := True; Edit2.Visible := True; end else // òàéìåð ñòîèò, íàäî çàïóñòèòü begin min := StrToInt(Edit1.Text); sec := StrToInt(Edit2.Text); if (sec = 0) and (min = 0) then begin ShowMessage('Íàäî çàäàòü èíòåðâàë!'); exit; end; Timer1.Enabled := True; // çàïóñòèòü òàéìåð // ñêðûòü ïîëÿ ââîäà èíòåðâàëà Label1.Visible := False; Edit1.Visible := False; Label2.Visible := False; Edit2.Visible := False; Label3.Visible := True; Button1.Caption := 'Ñòîï'; ShowTime; end; end; procedure TForm1.Timer2Timer(Sender: TObject); begin sec := sec - 1; ShowTime; // ïîêàçàòü, ñêîëüêî âðåìåíè îñòàëîñü if (min = 0) and (sec = 0) then // çàäàííûé èíòåðâàë èñòåê begin Timer1.Enabled := False; // ñòîï ShowMessage('Çàäàííûé èíòåðâàë èñòåê!'); Button1.Caption := 'Ïóñê'; Label3.Visible := False; // ñêðûòü èíäèêàòîð // ñäåëàòü âèäèìûìè ïîëÿ ââîäà èíòåðâàëà Label1.Visible := True; Edit1.Visible := True; Label2.Visible := True; Edit2.Visible := True; exit; end; if (sec = 0) and (min > 0) then begin sec := 60; min := min - 1; end; end; // ùåë÷îê íà êíîïêå Ïóñê/Ñòîï procedure TForm1.Button1Click(Sender: TObject); begin sec := sec - 1; ShowTime; // ïîêàçàòü, ñêîëüêî âðåìåíè îñòàëîñü if (min = 0) and (sec = 0) then // çàäàííûé èíòåðâàë èñòåê begin Timer1.Enabled := False; // ñòîï Button1.Caption := 'Ïóñê'; Label3.Visible := False; // ñêðûòü èíäèêàòîð // ñäåëàòü âèäèìûìè ïîëÿ ââîäà èíòåðâàëà Label1.Visible := True; Edit1.Visible := True; Label2.Visible := True; Edit2.Visible := True; end else // òàéìåð ñòîèò, íàäî çàïóñòèòü begin min := StrToInt(Edit1.Text); sec := StrToInt(Edit2.Text); if (sec = 0) and (min = 0) then begin ShowMessage('Íàäî çàäàòü èíòåðâàë!'); exit; end; Timer1.Enabled := True; // çàïóñòèòü òàéìåð // ñêðûòü ïîëÿ ââîäà èíòåðâàëà Label1.Visible := False; Edit1.Visible := False; Label2.Visible := False; Edit2.Visible := False; Label3.Visible := True; Button1.Caption := 'Ñòîï'; ShowTime; end; end; end; end. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 23.05.2011
Сообщений: 7
|
![]()
вот программа...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ошибка-то в чем или где примерно?
И используйте тег [CODE] (значок #) для сохранения подсветки\форматирования кода.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 23.05.2011
Сообщений: 7
|
![]()
программа была рабочей, но в ней не было таймера, вот с ним то и проблема, при запуске теперь пишет ошибку(((я выложила программу выше, подскажите что нужно доделать,что бы и будильник и таймер в ней работали....срочно нужно(((
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 23.05.2011
Сообщений: 7
|
![]()
программа была рабочей, но в ней не было таймера, вот с ним то и проблема, при запуске теперь пишет ошибку(((я выложила программу выше, подскажите что нужно доделать,что бы и будильник и таймер в ней работали....срочно нужно(((
|
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 23.05.2011
Сообщений: 7
|
![]()
блин ну не уж то никто не может помочь(((((((((((((
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
график не строится...посмотрите баги ...я не спамлю..прост очень горит | radiokarazinec | Общие вопросы Delphi | 5 | 28.02.2011 08:25 |
Посмотрите,нужно исправить проблемы с програмой! | sergejwinlamer | Общие вопросы C/C++ | 10 | 29.03.2010 01:16 |
Очень нужна помощь! Нужно найти ошибку в очень простой программе. | Lex55555777 | Помощь студентам | 3 | 07.12.2008 20:32 |