Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Круглый стол
  
Правила КС
>> Настройки

Фильтр вопросов
>> Новые вопросы
отслеживать по
>> Новые ответы

Избранное

Страница вопросов
Поиск по КС


Специальные проекты:
>> К л ю к в а
>> Г о л о в о л о м к и

Вопрос №

Задать вопрос
Off-topic вопросы

Помощь

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  10:27[Войти] | [Зарегистрироваться]
Ответ на вопрос № 48697

Клюква | 24-01-2007 12:50
Доброго времени суток,гуру-Дельфи!Как передать параметры с одной окна на другое, если они создаются динамически, например:combobox.text выбираю на одной форме c собобокса какой-то текст, клац по кнопке и туту бабам> динамически создается окно
со своим комбобоксом и с тем-же текстом что и я выбрал в предыдущем...?

  З.Ы.Есть ещё один ньюанс, сомбобоксы настроены  OnDropDown, получается по этому событию выгребается список из Датасета,взял насильно засунул в кобобокс такой же стринг что и в выпадающем сиске датасета, а.... обновлятся по моему запросу не хочет, только надо OnDropDown выбрать тоже самое... ах.. помогите пожалуйста с динамическим перебрасыванием(см.выше)???

[+] Добавить в избранные вопросы

Отслеживать ответы на этот вопрос по RSS

  >> Обсуждение закрыто <<  

Комментарий модератора:
Закрыто за использование автором вопроса ненормативной лексики.
модератор: Антон Григорьев



27-01-2007 17:27 | Замечание модератора
Господа, может уйметесь немного, а?

26-01-2007 11:00 | Комментарий к предыдущим ответам
Сорри, нарушил авторские права Мур Федор- это гламурный падонок, подсказал некий INS!

Ins'y>ты не подсказывал, всё таки это был Мур Федор!

Таак, выходит, что гламурный падонок - это я! :)

26-01-2007 10:50 | Комментарий к предыдущим ответам
Сисечки!!! Я снова услышал это заветное слово про датасет! :):):):):):):)
/захлебываясь в собственных соплях со смеху/ :):):)

26-01-2007 09:01 | Комментарий к предыдущим ответам
Маразм крепчал... Автор даже не понимает, что это не вопрос, а аттракцион :)
> tru:=trust.Cteate(application)
> все приложения наследуют класс Tynasledovani
> создать ini-файл в памяти

Разработку этого кода надо начинать с учебника русского языка и освоения технологии Ctrl+C - Ctrl+V

26-01-2007 08:38 | Сообщение от автора вопроса
Ins'y>ты не подсказывал, всё таки это был Мур Федор!Сообщения windows - это сильно круто, пока ещё до реализации этого я не дорос!(...AV у меня на постой, причем каждый раз разное, всё вылазит при создании окна, тобишь
var
tru:Tynasledovani;
trust:Tynasledovaniclass;
begin
tru:=trust.Cteate(application);
tru.show; >>>>>> babam AV....
если копнуть глубже, то мы увидим интересную чтуку, получается в програмулине
все приложения наследуют класс Tynasledovani, в этом класе есть некий конструктор в котором есть 2-а параметра, зачем?Затем что-бы с так званого ТриВью вызывать все приложения (все потомки Tynasledovani)..вот сам конструктор:

constructor TTmpForm.CreateTyn(AOwner: TComponent; trn: TTreeNode);
var
  myr: TMyRgstr;
  i: integer;
begin
  Create(AOwner);
  FModified:= True;
  Ftn:= trn;
  myr:= TMyRgstr.Create(Self);
  try
    mуr.LoadBounds;
    i:= (Ftn.Parent.Count - 1) * 20;
    if i > 0 then
      SetBounds(Left + i, Top + i, Width, Height) ;
    DoCreateReg(mуr);
  finally
    mуr.Free;
  end;
end;
А я например не хочу вызывать окно клацая на ветку в дереве)(только не надо как с датасетом:), а хочу по кнопке, и тогда получается какой-то конфликт конструкторов), получается CreateTyn можно вызвать если Sender есть Tmenuitem,а не Tbutton
tn:= FindNode(blabal.bla, nil, FindNodeRec);
Но вообщето мы не о том!Вместо того что-бы лахать с сисек датасета, попробую создать ini-файл в памяти, а не физически на диске, можно сказать
динамический ini-файл, может кто делал, слышал что-то вроде memoini?

26-01-2007 03:14 | Комментарий к предыдущим ответам
Ins:

подсказал некий INS!

Не, ну ни хрена себе! Где это я тебе такое подсказал?!


Видимо, тут case-sensitive синтаксис :)

26-01-2007 03:09 | Вопрос к автору: запрос дополнительной информации
Автору:

Что Вам кажется сложным? Это же элементарно!
А ещё Вы говорите, что "AV at address 004baca4 про вызове формы, в моей програмулине не катит" - какой должна быть програмулина, если при создании формы возникает AV? Скорее всего, form2 создаётся автоматически, а Вы её из автокриэйта не убрали.

25-01-2007 15:05
подсказал некий INS!

Не, ну ни хрена себе! Где это я тебе такое подсказал?!

25-01-2007 11:10 | Комментарий к предыдущим ответам
2 Андрей Токинов
Да нет же, Вы, просто, не понимаете, всё это можно решить через сисечки комбомбимбомкса. Значит, вставляете в одну сисю комбимбома первый запрос, а в другую сисю другой запрос, и всё! Задача решена! ))

25-01-2007 10:43 | Комментарий к предыдущим ответам
Это недостаточно круто - передавать текст комбубамбокса через ini-файл. Я бы посоветовал использовать сообщения Windows.
А еще автор хотел запросы использовать, но так и не решился...

25-01-2007 09:50
: ))))))))))) просто загибаюсь от смеха... "выпадающем сиске датасета" : ))))))))

25-01-2007 04:45 | Сообщение от автора вопроса
Сорри, нарушил авторские права Мур Федор- это гламурный падонок, подсказал некий INS!

25-01-2007 02:34 | Сообщение от автора вопроса
Всем большое спасибо! Voldan'y for best regards,skiff'y:"Способ довольно таки не сложный , я таким образом пробовал AV at address 004baca4 про вызове формы, в моей програмулине не катит", но вот Василию большое благодарственное
, надо будет рекордами забабахать вот так я примерно хотел....Но пока что сделал всё это с помощью создания ini-файла, всё очень просто(подсказал Мур Федор)

в первой форме
...
Interface
...
Uses
... Inifiles ...
// при нажатии на кнопку
Var
Ini: Tinifile;
Begin
If ComboBox1.Text <> 'текст по умолчанию' then
Begin
Ini:=TiniFile.Create(extractfilepath(Application.ExeName)+'temp.ini'); // создаст файл в том же каталоге что и программа
Ini.WriteString('Tip','Tip', ''+ComboBox1.Text+'');// запишет то что будет в комбобоксе
Ini.Free;

во второй форме
...
Interface
...
Uses
... Inifiles ...
Var
Ini: Tinifile;
Tip : string;
Begin

Ini:=TiniFile.Create(extractfilepath(Application.ExeName)+'temp.ini');// чтение из ini файла
Tip:=Ini.ReadString('Tip','Tip',  '');
Ini.Free;
//а дальше пойдет условие
If tip = 'тест' then
Begin
пишем что нам надо отоброзить на форме
End;
//--------вот такие пирожки с котятами, ты их кушаешь, а они пищат---------

25-01-2007 02:28
Как! Неужели он не видит объект "кто-то"
Сорри, затупил я :)

25-01-2007 02:25
Ошибулька, однако...Конечно - TDinForm.Create(кто-то)...
Как! Неужели он не видит объект "кто-то", да это же такой же глобальный объект как Application или Screen :)) Може у Вас дельфи нелицензионная?

24-01-2007 22:06
Ошибулька, однако...Конечно - TDinForm.Create(кто-то)...

24-01-2007 22:04
Коль скоро Вы столкнулись с подобными проблемами - воспользуйтесь, например, таким подходом...


unit DinFofm;
.....
TTypeForm = (Type1,Type2................);
TFormParam = packed record
              TypeForm: TTypeForm;
              FormData: данные в каком-то виде;
              еще что нибудь
            end;
TDinForm = class(TForm)
....
public
  Params: TFormParam;
....
end;

function NewDinForm(Param:TFormParam);
.....
implementation

function NewDinForm(Param:TFormParam);
begin
  with TFormParam.Create(кто-то) do begin
    Params := Param;
    case Param.TypeForm of
    .....короче что угодно и как угодно
    end;
    .....
 
  end;
end;



Дабы сгенерить новое окно - вызов NewDinForm с нужными параметрами. Очень удобно для MDI-чайлдов с однотипной информацией. Например, результаты запроса с различным набором параметров и их значениями.


24-01-2007 20:43 | Комментарий к предыдущим ответам
Voldan,
Вы забыли ещё про такие компоненты, как "собобокс" и "кобобокс".

Автору:
Насчёт того, что вы кличете динамическим перебрасыванием:
Делаете форму, скажем, form2, а на ней такой же комбобокс (combobox2).
На onSelect первого комбобокса:

application.createForm(tForm2,form2);
form2.Show;
form2.combobox2.text:=combobox1.text;

ну или если у них items одинаковые:
form2.combobox2.itemIndex:=combobox1.itemIndex;

или разные:
form2.combobox2.items.add(combobox1.text);
form2.combobox2.itemindex:=form2.combobox2.items.count-1;

24-01-2007 13:25 | Комментарий к предыдущим ответам
Забыл ещё добавить про "сиски датасета" :)
Честно, товарищи, никогда не думал, что у датасета могут быть сиски... )))

24-01-2007 13:23
:):):)
Замечательный топик! Нет, восхитительный!!!
Мне больше всего понравилось с "динамическим перебрасыванием" комбобоксом )))
Ну, и ещё не плохо на счет "туту" и "бабам"! :):) Всё сразу становится на свои места! )
Ну, а душещипательное "Ах" достойно всяком похвалы - сразу видно, как автора замучала это проблема... )))
P.S. Держитесь! "Программистом" быть нелегко! )


Страница избранных вопросов Круглого стола.
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования