Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка событий кнопок. 
V
    Опции темы
Serg1968
Дата 31.5.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите,пожалуйста новичку.На форме лежат панель с двумя кнопками "Вычислить" и "Очистить"(вообще сама прога по типу калькулятора).Ниже находится PageControl с несколькими страницами.На каждой странице вычисляется своя формула(данные,числа, на каждой странице вводятся в свой Edit).Как сделать так,чтобы при смене страниц указанные кнопки срабатывали для любой страницы.Данные вводятся только для одной страницы.Спасибо.
PM MAIL   Вверх
former
Дата 31.5.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Используй ActivePage.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
pseud
Дата 31.5.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



можно так
Код

case PageControl1.TabIndex of
  0: begin
        вычисление для страницы1
      end;
  1: begin
        вычисление для страницы2
      end;
  2: begin
        вычисление для страницы3
      end;
  else
    TException.Create('ой');
end;



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
former
Дата 31.5.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



В событии той или иной кнопки OnClick проверяй ActivePageIndex, и в зависимости от его занчения работай с нужными компонентами.

Добавлено через 57 секунд
pseud, вот вот!


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
pseud
Дата 31.5.2007, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



former
по-моему кто-то из нас должен заняться ImageList'ом. А то ответы даем одинаковые, зря время теряем...  smile 
шутка


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
former
Дата 31.5.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Вот пример:

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    TabSheet3: TTabSheet;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ Edit1, Edit2, Edit3 - ïåðââàÿ âêëàäêà
  Edit4, Edit5, Edit6 - âòîðàÿ  âêëàäêà
  Edit7, Edit8, Edit9 - òðåòüÿ âêëàäêà }

procedure TForm1.Button1Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
    0:begin
        Edit3.Text:=IntToStr(StrToInt(Edit1.Text)+StrToInt(Edit2.Text));
      end;
    1:begin
        Edit6.Text:=IntToStr(StrToInt(Edit3.Text)+StrToInt(Edit4.Text));
      end;
    2:begin
        Edit9.Text:=IntToStr(StrToInt(Edit5.Text)+StrToInt(Edit6.Text));
      end;
  end;
end;

end.



pseud, намёк понял. smile 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Serg1968
Дата 31.5.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



СПАСИБО.Понял,попробую.Вторая часть вопроса(не сочтите за наглость).Как решается,если в одном из TabSheet есть еще табшит-ы.Условия те же.Ведь там PageIndex опять с нуля начинается.
PM MAIL   Вверх
sw04
Дата 31.5.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Serg1968 @  31.5.2007,  19:36 Найти цитируемый пост)
СПАСИБО.Понял,попробую.Вторая часть вопроса(не сочтите за наглость).Как решается,если в одном из TabSheet есть еще табшит-ы.Условия те же.Ведь там PageIndex опять с нуля начинается. 

А в чем сложность?
вкладываешь case в другой, который у тебя уже есть.
Нужен пример?


--------------------
<удалено администрацией>
PM   Вверх
Serg1968
Дата 31.5.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нет.Хочу попробовать сам.СПАСИБО ОГРОМНОЕ.
PM MAIL   Вверх
sw04
Дата 31.5.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Serg1968 @  31.5.2007,  19:51 Найти цитируемый пост)
Нет.Хочу попробовать сам.СПАСИБО ОГРОМНОЕ. 

Отлично.
Поставь пометку "Вопрос решен" ;-)


--------------------
<удалено администрацией>
PM   Вверх
Serg1968
Дата 1.6.2007, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Сделал как советовали.Всу отлично работает.КЛАСС.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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