Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 4 из 4«1234
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Пишем FAQ (FAQ по Delphi)
Пишем FAQ
borN_freeДата: Суббота, 11.10.2008, 06:07 | Сообщение # 46
Ранг 2
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
Отлично. Все работает. Спасибо. Для таких как я ( smile ) отрыл отличную книгу по компонентам и их свойствам. http://programmersclub.ru/book/ 100 компонентов Delphi. Codelab, если знаешь или имеется в наличие что-то похожее, дай ссылку плиз.

// хочу овладеть Delphi

Сообщение отредактировал borN_free - Суббота, 11.10.2008, 06:32
 
AdminДата: Суббота, 11.10.2008, 09:48 | Сообщение # 47
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
У меня на сайте в разделе "Книги и самоучители" есть несколько книг. Планирую выложить небольшой справочник примерно такого же рода.

Не оказываю помощь через личные сообщения и ICQ
 
borN_freeДата: Вторник, 14.10.2008, 01:50 | Сообщение # 48
Ранг 2
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
вопросы такие:
1)не получается программно сделать доступность каких-либо разделов меню MainMenu. Понятно, что за это отвечает свойство Enabled. Я например хочу по клику на кнопку сделать доступность раздела Меню-Правила. (то есть при нажатии на одну из кнопок, что бы раздел стал доступен), не получается обратиться
к разделу программно. с чего начинать?

Form1.MainMenu...
MainMenu....

я пишу по кнопке:

Code
Form5.N2.Enabled:=false;   {N2 - имя раздела в Меню, и не работает. где ошибка?}

?
2) как сделать на главной форме таймер, кот. будет отсчитывать секунды, минуты до совершения какого либо действия (например выйгрыша в игре). Компонент Timer мне ответ не дал ответ на этот вопрос. Нужно имеено запоминания время, которое прошло с момента начала. Как быть?
Спасибо


// хочу овладеть Delphi

Сообщение отредактировал borN_free - Вторник, 14.10.2008, 04:23
 
AdminДата: Вторник, 14.10.2008, 12:26 | Сообщение # 49
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
1. В данном случае будет становиться неактивным первый элемент в первом меню.
Code
MainMenu1.Items[0].Items[0].Enabled:=false;

2. Выложить на форму таймер и у него установить Interval в нужное колличество времени. 1000 - одна секунда. И Enabled присвоить False. В нужный момент времени активировать таймер (ну например по кнопке "новая игра"). А по таймеру выводить сообщение о проигрыше, так как время истекло. Не забудьте отключить таймер.


Не оказываю помощь через личные сообщения и ICQ
 
borN_freeДата: Вторник, 14.10.2008, 17:49 | Сообщение # 50
Ранг 2
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
1) Спасибо, работает. Эксперементами нашел еще один способ, сразу обращаясь к элементу меню

Code
N2.Enabled:=false; { тоже работает }

3) Мне немного не то нужно. Нужно не обратные отсчет таймера, а наоборот, течение времени от 0 и выше. И чтобы оно было видно на форме. Или такое невозможно?


// хочу овладеть Delphi
 
AdminДата: Вторник, 14.10.2008, 18:09 | Сообщение # 51
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Можно ввести переменную типа TTime. И увеличивать по таймеру каждую секунду.
Code

var T:TTime;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   T := T + StrToTime('0:1');
   Caption := TimeToStr(T);
end;

Выводиться будет в строку заголовка. Думаю не составит особой проблемы переделать под свои нужды.
Немного пояснений:StrToTime - преобразовать из строку в TDateTime. Есть обратная функция TimeToStr. Использую для вывода.
Для общего развития: Есть тип TDate. Думаю не требуется объяснять для чего он нужен, итак из названия ясно - дата. Есть аналогичные функции StrToDate и DateToStr.

Ну раз уж затронули тему о времени и датах расскажу как получить текущую дату и время ПК. Используем следующую функцию:

Code
function Date: TDateTime;

Пример использования:
Code
ShowMessage(DateToStr(Date));

Аналогично и со временем:
Code
ShowMessage(TimeToStr(Time));


Не оказываю помощь через личные сообщения и ICQ
 
AdminДата: Пятница, 17.10.2008, 10:04 | Сообщение # 52
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Тема закрыта! Один вопрос - одна тема.

Не оказываю помощь через личные сообщения и ICQ
 
Форум » Все о Delphi » Начинающим » Пишем FAQ (FAQ по Delphi)
Страница 4 из 4«1234
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz