Доброго времени суток, господа. Вот уже несколько дней тревожит вопрос, Каким образом можно програмно создавать объекты VCL. В смысле не размещая их на форме
Добрый день, georg! Например так в C++ Builder: TButton *MyButton = new TButton(Owner); MyButton->Parent = Form1; Ответ отправлен: 27.06.2004, 23:16 Отправитель: CrackLab Отвечает CJ
Здравствуйте, georg! Например progressbar можно создать так: var pb: TProgressBar; begin .... pb:= TProgressBar.Create(self); with pb do begin Position:= 30; Top:= 2; Left:= 0; Height:= 111 Width:= 222 end; //with; pb.Visible:= True; .... end;
Ответ отправлен: 27.06.2004, 13:39 Отправитель: CJ Отвечает Boriss
Доброе время суток, georg! То есть? Дело в том, что система кому-то должна передавать сообщения (спрятать, закрыть, ... ). Как я понимаю, Вы хотите создать, например, окно редактора, НИКОМУ НЕ ПРИНАДЛЕЖАЩЕГО. Так? Но оно не может самостоятельно принимать сообщения ... :(( Так сделайте форму без меню, без заголовка - и разместите на нем один компонент. Ответ отправлен: 28.06.2004, 11:17 Отправитель: Boriss Отвечает sir henry
Здравствуйте, georg! Пусть сей вопрос Вас больше не тревожит... :))) Допустим, Вам нужно создать програмно кнопку. За кнопку у нас отвечает TButton. Создается следующим образом: var MyButton: TButton; ..... Procedure CreateMyButton; Begin MyButton.Create(TButton); MyButton.Parent:=MyForm;{Родительская форма, где должна лежать кнопка} {Размеры, расположение} MyButton.Top:= MyButton.Left:= MyButton.Heihgt:= MyButton.Width:= {Показываем кнопку} MyButton.Visible:=True; {Можно присваивать любые свойства, которые есть у TButton, для этого надо заглянуть в HELP :)} End; Остальные компоненты создаются по тому же принципу. Можно создавать не только отдельный компонент, но и массив однотипных компонентов, например: var arMyButton: array[0..100] of TButton; :)
Ответ отправлен: 28.06.2004, 05:51 Отправитель: sir henry
Вопрос № 1639
Здравствуйте Уважаемые Эксперты, извините за мой прошлый вопрос про LookUp. Не продумал вопрос. Каюсь. Проблема такая. Имеются две таблицы (базы). Во второй таблице имеются два поля «Порядковый номер» и «Имя» В первой таблице есть строковое поле, в котором содержаться ссылки на записи второй таблицы (типа индекса, только в записи первой таблицы должны содержаться ссылки на записи (n-ное количество) другой таблицы). Примерно так. Если поле первой таблицы содержит ‘1,3,5,10’. То во второй таблице через LookUp по полю «n» ищется сначала 1 потом 3 затем 5 и т.д. Таблица 1 ispolniteli 1,2,3,5 2,3,4 (здесь ошибка) 5,9 Таблица 2 n name 1 2 3 5 9
Проблема в том если во второй таблице ни одна запись поля «n» ни содержит, например «4»
вот тогда и возникает у меня «Invalid variant type conversion» function TEditF.findispolnstr(s:string):string; var i,nisp:integer; begin result:=''; while s'' do begin i:=pos(',',s); if i>0 then begin nisp:=strtoint(copy(s,1,pred(i))); if result='' then result:=TIspoln.Lookup('n',nisp,'name') else result:=result+','+TIspoln.Lookup('n',nisp,'name'); s:=copy(s,succ(i),length(s)); end else begin nisp:=strtoint(s); if result='' then result:=TIspoln.Lookup('n',nisp,'name') else result:=result+','+TIspoln.Lookup('n',nisp,'name'); s:=''; end; end; end; С уважением, Voronin N. vornik(закорючка)mail.kz Sir henry персональное спасибо и извините.
Добрый день, Nik! Персональное Вам пожалуйста :))). А за что извините? Первое, что приходит в голову, вставлять значения в таблицу 1 только из имеющихся в справочнике (таблица 2). У Вас, по всей видимости, неправильно спроектирована база данных. Предлагаю, для примера, такую штуку. См. приложение. Согласитесь, это намного меньше текстов, чем Вы накалякали :)). Впрочем, может быть я не понял Ваш замысел :), но все равно, советую взять на вооружение и пересмотреть структуру базы и методы обработки данных. Потому как сложное и непонятное больше глючит, чем простое и понятное :)
Приложение: Ответ отправлен: 28.06.2004, 11:30 Отправитель: sir henry
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.