Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.16;
Скачать: CL | DM;

Вниз

Вопрос   Найти похожие ветки 

 
ymin ©   (2002-04-22 11:42) [0]

Уважаемые мастера!
У меня последовательно должны появляться несколько форм.
Так как они имеют одинаковые структуры и содержание, то решил использовать одну.
На ней есть Combobox, Checkbox ... и т.д.
И различать их собираюсь только номером, которы будет писаться в Edit
Вопрос
Как можно сделать так, чтобы при возвращении в предыдущую форму, на ней изображались выбранные до этого значения Combobox, Checkbox ... и т.д.?
Например у меня открыта форма 2.
Заполняю данными, нажимаю долее и название формы меняется на форма 3.
Как при возвращении на форму 2 на ней появились именно выбранные в ней ранее значения?


 
Song ©   (2002-04-22 11:46) [1]

Запоминайте их и восстанавливайте на переключении.


 
kronprince ©   (2002-04-22 11:48) [2]

form1:=TМояОдинаковаяФормаForm.Create(self);
//-- чегото
form2:=TМояОдинаковаяФормаForm.Create(self);
form2.Show();

//-- чегото 2
form3:=TМояОдинаковаяФормаForm.Create(self);
form3.Show();

// А тут возвращаемся на форму 2
form3.Free(); или form2.Show();


При создании form1, form2, form3 - это разные объекты при одинаковом внешнем виде


 
Андрей Сенченко ©   (2002-04-22 11:53) [3]

На самом деле ВОТ ТАК легко запутаться, если элементов больше 10. Я бы посоветова положить на одну форму несколько панелей, создать на них однотипный набор объектов и оперировать именно видимостью панелей.
Безбожно жрем ресурсы, зато не путаемся в переходах. Достаточно иметь только один флаг видимости ( например имя панели ) и список последовательности переходов.


 
ymin ©   (2002-04-22 11:53) [4]

а как их запоминать??


 
Андрей Сенченко ©   (2002-04-22 11:54) [5]

>> ymin © (22.04.02 11:53)
>> а как их запоминать??

А вот это в чистом виде Ваше творчество. Кстати, кого "ИХ" ?


 
ymin ©   (2002-04-22 11:58) [6]

"мое творчество"...
Какое там творчество у чайника... :))
А помощь приму:))


 
ymin ©   (2002-04-22 12:01) [7]

Как запоминать состояние компонентов формы?


 
Андрей Сенченко ©   (2002-04-22 12:11) [8]

Пока форма существует и Вы сами ( ну или пользователь ) не поменяте состояние элемента - состояние компонентов будет тем, которым было при создании ( последнем изменении ) формы.
Если Вам нужно держать в памяти несколько возможных состояний элемента - используйте например TList ( или на крайняк реестр или инишки )


 
ymin ©   (2002-04-22 12:27) [9]

Это да, а если использовать одну и ту же форму, но понимать как разные?


 
Андрей Сенченко ©   (2002-04-22 12:32) [10]

Ну наверху же написано: TList. Просто в списке сохраняете все нужные Вам свойства и доступаетесь к ним по индексу


 
©   (2002-04-22 12:44) [11]

Я бы посаветовал показывать не методом Show() а ShowModal и по завершении сохранять. Если жмет ранее но считываешь в форму и опять показываешь....


 
gek ©   (2002-04-22 12:46) [12]

> ymin
Слушай Андрей Сенченко он правильно тебе все объяснил


 
ymin ©   (2002-04-22 12:55) [13]

А как использовать TList?
Я наверное тупой....
да нет, просто чайник


 
Song ©   (2002-04-22 13:02) [14]

С панелями идея хорошая.. Я бы так сделал. Хотя если форм немного или компонентов на них не много, можно в нетипизированный файл сохранять.


 
Андрей Сенченко ©   (2002-04-22 13:14) [15]

>> Song © (22.04.02 13:02)
>> можно в нетипизированный файл сохранять.

Придется постоянно гонять файл на чтение-запись при нажатии кнопок [ << назад ] и [ вперед >> ]. Насколько я понял, стоит задача написания чего-то типа "мастер создания ...", так что множественные переходы "туда-обратно" вполне вероятны.

>> ymin © (22.04.02 12:55)
>> А как использовать TList?

var
ItemsList : TList
begin
ItemsList := TList.Create;
ItemsList.

Если чуть-чуть подождать - после набора точки откроется список свойств и методов TList. Дальше если что не понятно - по Хелпу.


 
arhelon ©   (2002-04-22 13:23) [16]

В новостях всл на ентом сайте есть компонент (точно не помню, но скорее всего) TWizard вот оно-то Тебе наверно и нужно


 
ymin ©   (2002-04-22 13:45) [17]

Форм от 1 до 10
на каждой компонентов 7-10
А как файл сохранятьнетипизированный?


 
arhelon ©   (2002-04-22 13:57) [18]

Чё Ты паришся ?? Я так понял Ты в рантайме создаешь свои формы
Если да то как писал
kronprince © (22.04.02 11:48)
form1:=TМояОдинаковаяФормаForm.Create(self);
form1.Show;
//-- чегото
form2:=TМояОдинаковаяФормаForm.Create(self);
form2.Show;
и Ты так делаешь то пока Ты не нашлёшь на свою форму Free она у тя в том виде в котором её оставил пользователь.
И ежли Те нуна н нё переключиться то насылай на неё Show и Тебе понравиться.


 
sergkkk   (2002-04-30 11:47) [19]

вот у меня подобная картина! есть Form1 и Form2. использую Form2 как шаблон для создания ее клонов. на Form1 кнопочка. нажимаю- передаю один параметр (айпи юнита с которым форма будет работать). на форме2- StringGrid1 и таймер. когда создается первая Form2 - все отлично работает. создаю вторую Form2 с другим айпи все запускается только вычисления StringGrid1.Cells, StringGrid1.RowCount в обоих запущеных Form2 мешают друг другу. не знаю как сделать чтобы работающие Form2 не мешали друг другу. Этих запущеных Form2 может быть, например, с десяток. подскажите пожалуйста!



Страницы: 1 вся ветка

Текущий архив: 2002.05.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
1-49977
Riko
2002-04-30 11:23
2002.05.16
Командная строка...


1-49904
Diablo III
2002-05-02 20:21
2002.05.16
TWebBrowser


14-50095
chernoruk
2002-03-20 23:17
2002.05.16
Перехват TCP пакетов


3-49827
Элизабет
2002-04-17 16:42
2002.05.16
Разница между датами в Select-е


14-50083
HI
2002-04-04 06:41
2002.05.16
Gospoda programisti,pomogite jenjine(SOVETOM!:)