Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.49 MB
Время: 0.006 c
1-49930
Spike_msu
2002-05-03 20:36
2002.05.16
Скорость копирования!


3-49876
Aleksandr
2002-04-18 17:16
2002.05.16
Помогите с примером, как в одном запросе два SQL-сервера юзать!


1-49943
Man-In-Red
2002-05-03 22:50
2002.05.16
Как программно проверить formы?


3-49861
Борис
2002-04-17 12:14
2002.05.16
Почему этот код ну очень медленно выполняется?


3-49833
olden
2002-04-18 16:00
2002.05.16
динамическое создание параметров SQL-запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский