Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 351
от 01.07.2004, 08:20

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1645
Отправлено ответов: 3809
Активность: 231.5 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

CrackLab
Статус: Опытный
Общий рейтинг: 134.02
[Подробней >>]
CJ
Статус: Опытный
Общий рейтинг: 121.18
URL: Персональный сайт Каратецкого Кирилла.
Телефон: +375297353706
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 162.24
URL: Программирование на Паскале
[Подробней >>]
 
sir henry
Статус: Профессиональный
Общий рейтинг: 164.63
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1638. Доброго времени суток, господа. Вот уже несколько дней тревожит вопрос, Каким образом можно програмн... (ответов: 4)
Вопрос № 1639. Здравствуйте Уважаемые Эксперты, извините за мой прошлый вопрос про LookUp. Не продумал вопрос. Каюс... (ответов: 1)

Вопросов: 2, ответов: 5


 Вопрос № 1638

Доброго времени суток, господа.
Вот уже несколько дней тревожит вопрос, Каким образом можно програмно создавать объекты VCL. В смысле не размещая их на форме


Приложение:


Вопрос отправлен: 27.06.2004, 11:15
Отправитель: georg

[Следующий вопрос >>] [Список вопросов]

Отвечает CrackLab

Добрый день, 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 персональное спасибо и извините.



Вопрос отправлен: 28.06.2004, 06:39
Отправитель: Nik

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Добрый день, Nik!
Персональное Вам пожалуйста :))). А за что извините?
Первое, что приходит в голову, вставлять значения в таблицу 1 только из имеющихся в справочнике (таблица 2). У Вас, по всей видимости, неправильно спроектирована база данных.
Предлагаю, для примера, такую штуку. См. приложение.
Согласитесь, это намного меньше текстов, чем Вы накалякали :)). Впрочем, может быть я не понял Ваш замысел :), но все равно, советую взять на вооружение и пересмотреть структуру базы и методы обработки данных. Потому как сложное и непонятное больше глючит, чем простое и понятное :)

Приложение:

Ответ отправлен: 28.06.2004, 11:30
Отправитель: sir henry



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (23)
C / C++ (14)
Perl (3)
Builder / Delphi (20)
Pascal (28)
Basic / VBA (7)
Java / JavaScript (4)
PHP (13)
Криптография (8)
WinAPI (13)
Радиоэлектроника (12)
Пользователю
Windows 95/98/Me (36)
Windows NT/2000/XP (52)
"Железо" (37)
Поиск информации (15)
Администратору
Windows NT/2000/XP (30)
Linux / Unix (14)
Юристу
Гражданское право (9)
Семейное право (7)
Трудовое право (8)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться

В избранное