![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос
ymin © (2002-04-22 11:42:00)Уважаемые мастера!
У меня последовательно должны появляться несколько форм.
Так как они имеют одинаковые структуры и содержание, то решил использовать одну.
На ней есть Combobox, Checkbox ... и т.д.
И различать их собираюсь только номером, которы будет писаться в Edit
Вопрос
Как можно сделать так, чтобы при возвращении в предыдущую форму, на ней изображались выбранные до этого значения Combobox, Checkbox ... и т.д.?
Например у меня открыта форма 2.
Заполняю данными, нажимаю долее и название формы меняется на форма 3.
Как при возвращении на форму 2 на ней появились именно выбранные в ней ранее значения?
sergkkk (2002-04-30 11:47:00) [1]вот у меня подобная картина! есть Form1 и Form2. использую Form2 как шаблон для создания ее клонов. на Form1 кнопочка. нажимаю- передаю один параметр (айпи юнита с которым форма будет работать). на форме2- StringGrid1 и таймер. когда создается первая Form2 - все отлично работает. создаю вторую Form2 с другим айпи все запускается только вычисления StringGrid1.Cells, StringGrid1.RowCount в обоих запущеных Form2 мешают друг другу. не знаю как сделать чтобы работающие Form2 не мешали друг другу. Этих запущеных Form2 может быть, например, с десяток. подскажите пожалуйста!
arhelon (2002-04-22 13:57:00) [2]Чё Ты паришся ?? Я так понял Ты в рантайме создаешь свои формы
Если да то как писал
kronprince © (22.04.02 11:48)
form1:=TМояОдинаковаяФормаForm.Create(self);
form1.Show;
//-- чегото
form2:=TМояОдинаковаяФормаForm.Create(self);
form2.Show;
и Ты так делаешь то пока Ты не нашлёшь на свою форму Free она у тя в том виде в котором её оставил пользователь.
И ежли Те нуна н нё переключиться то насылай на неё Show и Тебе понравиться.
ymin (2002-04-22 13:45:00) [3]Форм от 1 до 10
на каждой компонентов 7-10
А как файл сохранятьнетипизированный?
arhelon (2002-04-22 13:23:00) [4]В новостях всл на ентом сайте есть компонент (точно не помню, но скорее всего) TWizard вот оно-то Тебе наверно и нужно
Андрей Сенченко (2002-04-22 13:14:00) [5]>> Song © (22.04.02 13:02)
>> можно в нетипизированный файл сохранять.
Придется постоянно гонять файл на чтение-запись при нажатии кнопок [ << назад ] и [ вперед >> ]. Насколько я понял, стоит задача написания чего-то типа "мастер создания ...", так что множественные переходы "туда-обратно" вполне вероятны.
>> ymin © (22.04.02 12:55)
>> А как использовать TList?
var
ItemsList : TList
begin
ItemsList := TList.Create;
ItemsList.
Если чуть-чуть подождать - после набора точки откроется список свойств и методов TList. Дальше если что не понятно - по Хелпу.
Song (2002-04-22 13:02:00) [6]С панелями идея хорошая.. Я бы так сделал. Хотя если форм немного или компонентов на них не много, можно в нетипизированный файл сохранять.
ymin (2002-04-22 12:55:00) [7]А как использовать TList?
Я наверное тупой....
да нет, просто чайник
gek (2002-04-22 12:46:00) [8]> ymin
Слушай Андрей Сенченко он правильно тебе все объяснил
s (2002-04-22 12:44:00) [9]Я бы посаветовал показывать не методом Show() а ShowModal и по завершении сохранять. Если жмет ранее но считываешь в форму и опять показываешь....
Андрей Сенченко (2002-04-22 12:32:00) [10]Ну наверху же написано: TList. Просто в списке сохраняете все нужные Вам свойства и доступаетесь к ним по индексу
ymin (2002-04-22 12:27:00) [11]Это да, а если использовать одну и ту же форму, но понимать как разные?
Андрей Сенченко (2002-04-22 12:11:00) [12]Пока форма существует и Вы сами ( ну или пользователь ) не поменяте состояние элемента - состояние компонентов будет тем, которым было при создании ( последнем изменении ) формы.
Если Вам нужно держать в памяти несколько возможных состояний элемента - используйте например TList ( или на крайняк реестр или инишки )
ymin (2002-04-22 12:01:00) [13]Как запоминать состояние компонентов формы?
ymin (2002-04-22 11:58:00) [14]"мое творчество"...
Какое там творчество у чайника... :))
А помощь приму:))
Андрей Сенченко (2002-04-22 11:54:00) [15]>> ymin © (22.04.02 11:53)
>> а как их запоминать??
А вот это в чистом виде Ваше творчество. Кстати, кого "ИХ" ?
ymin (2002-04-22 11:53:00) [16]а как их запоминать??
Андрей Сенченко (2002-04-22 11:53:00) [17]На самом деле ВОТ ТАК легко запутаться, если элементов больше 10. Я бы посоветова положить на одну форму несколько панелей, создать на них однотипный набор объектов и оперировать именно видимостью панелей.
Безбожно жрем ресурсы, зато не путаемся в переходах. Достаточно иметь только один флаг видимости ( например имя панели ) и список последовательности переходов.
kronprince (2002-04-22 11:48:00) [18]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 - это разные объекты при одинаковом внешнем виде
Song (2002-04-22 11:46:00) [19]Запоминайте их и восстанавливайте на переключении.