Форум: "Основная";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
ВнизВопрос Найти похожие ветки
← →
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. Просто в списке сохраняете все нужные Вам свойства и доступаетесь к ним по индексу
← →
s (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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.005 c