Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2010, 14:55   #11
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

спасибо, сделал
designer999 вне форума Ответить с цитированием
Старый 23.03.2010, 15:26   #12
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Кстати тут таки можно по другому сделать. Список строк заполнить именами сайтов, по нажатию кнопки увеличивать счетчик и передавать из списка сайт с этим индексом. Тогда case конструкция не нужна.

Итого:

Состав:
TStringList - 1 штука
Переменная счетчик - 1 штука
Список сайтов - 1 штука

Приготовление:
Объявляем глобальную переменную k: integer = 0; и список Sites: TStringList;
Создать список Sites:=TStringList.Create; (это делается один раз, например в обработчике OnCreate формы)
Заполняем список или из файла методом LoadFromFile или ручками в коде.
Пишем код обработчика кнопки
Код:
Inc(k);
if k >= sl.Count then k:=0;
webbrowser1.Navigate(Sites[k]);
Кушайте на здоровье
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 23.03.2010 в 15:37.
mutabor вне форума Ответить с цитированием
Старый 25.03.2010, 20:04   #13
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от Манжосов Денис :) Посмотреть сообщение
Тупой вопрос. Можно вместо k использовать Tag у кнопки, если не нравится
Тупой ответ. Зря профессионалом подписался.

По другому можно сменить обработчик события.

Вот один из вариантов:

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := 'Алгоритм №1 - Случайное число = '+IntToStr(Random(5000));
  inc(FCounter);
  if FCounter > 5 then Button1.OnClick := Button2Click;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Label1.Caption := 'Алгоритм №2 - Общее количество нажатий = '+IntToStr(FCounter);
  inc(FCounter);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FCounter := 0;
end;
На форме 2 кнопки и Label. В привате формы объявлена FCounter.
По условию if FCounter > 5 then ... меняем кнопке обработчик события.

Можно, конечно, не создавать вторую кнопку, а определить спец. тип (процедурный). Для кнопок это TNotifyEvent.
Таким способом можно даже по таймеру присваивать кнопке случайное действие из десятка (или сколько там потребуется) различных процедур.
Greek9000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арифметически действия Dem6 БД в Delphi 10 09.11.2009 20:28
строки и действия DeDoK Общие вопросы Delphi 21 08.08.2009 02:55
Действия с массивами Domik92 Паскаль, Turbo Pascal, PascalABC.NET 2 09.12.2008 13:15
Завершение действия SunKnight Общие вопросы Delphi 3 12.02.2008 18:25