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

Delphi - проблемы и решения

  Все выпуски  

Проблемы и решения в Delphi #41


Служба Рассылок Subscribe.Ru

Проблемы и решения в Delphi - выпуск 41 от 27.12.2001.


Счастья всем,
радости и удачи!


ВСЕ ВОПРОСЫ СПРОСИТЬ ПРЕДЛОЖИТЬ АРХИВЫ СКОЛЬКО НАС


Доброго Вам времени суток уважаемый читатель.

Поздравляю весь наш(уже почти 6000-й) коллектив с НОВЫМ ГОДОМ.

Сегодня в выпуске :
~~~~~~~~~~~~~~~~~~~
1. Очередные вопросы.
2. Отвеченные вопросы.
~~~~~~~~~~~~~~~~~~~


1. Очередные вопросы.
---------------------


Вопрос 616: 

От: Vilgelm Sergey

Значит у меня есть несколько канв на которых я рисую,
а так же я создал объект, который рисует на этих канвах. Так вот, как
мне запомнить в свойстве объекта на какой канве он рисовал в
последний раз, а потом при обращении к этому объекту, например
перерисовать с другими координатами, он автоматически обращался
именно к той канве, где он последний раз рисовал. Объект создан от
TObject. Пока что я выхожу из положения передавая в качестве
параметров в объект всю канву и принимаю назад уже изменённую канву.
А мне нужно прямой доступ к канве.


Ответить.

Ответ 1:


Вопрос 617: 

От: Эдуард Филимонов

Подскажите, как сделать Dragamp&Drop строки из DBGrid на
другой компонент (например в другой DBGrid). Если можно сразу
несколько строк - еще лучше.
Проблема в том, что если в свойстве DragMode поставить Automatic,
то тогда невозможно с помощью мыши получить фокус в сетке
для редактирования записи. А если стоит Manual,
то при событии onMouseDown реагирует все только не сетка.
Внутри сетки появляется фокус ввода. Как быть?


Ответить.

Ответ 1:


Вопрос 618: 

От: vas

Как мне узнать имя, под которым зарегистрировался пользователь а
системе Win98 ?



Ответить.

Ответ 1:


Вопрос 619: 

От: Alexander Baronin


От: Santa

Подскажите пожалуйста,
- как набрать номер модемом (можно несколько вариантов) из программы?
- как поймать Busy
- как ...
- как положить трубку


Ответить.

Ответ 1:


Вопрос 620: 

От: Денис

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


Ответить.

Ответ 1:


Вопрос 621: 

От: Andy


Господа! Подскажите пожалуйста где можно взять ADO компоненты
под Delphi3? В cети их много, но сплошные "Demo" или "Shareware"


Ответить.

Ответ 1:


Вопрос 622: 

От: Alexey Shubin

:Не подскажет ли кто, где найти исправление багов в FIB Plus 4.42.
Может кто сам исправлял.

Например, при попытке FIBDataSet.Refresh возникает exception если
DataSet пустой.
Пустой DataSet освежать воще отказывается, а ведь другой пользователь
мог добавить строки.
Есть и другие баги.



Ответить.

Ответ 1:


Вопрос 623: 

От: Tsatur

У меня имеются картинки. Мне надо их сжать в один файл и затем из своей
программы вытаскивать определенную картику из созданного файла.


Ответить.

Ответ 1:


Вопрос 624: 

От: Andriy

win1251
Hello Dimitriy!
Хоть это и не совсем по делфях, но все-же!
Подскажите, пожалуйста, где найти инфу по созданию драйвуров *.VxD и др.
для Windows95/98/NT, а также- как писать *.inf файлы и желательно
поподробнее.

Ответить.

Ответ 1:


2. Отвеченные вопросы.
----------------------


Вопрос 609: 

От: Prof

Подскажите пожалуйста, как определить во время выполнения программы,
есть ли у компонента свойство (например Caption):
for a:=0 to ComponentCount-1 do
if(Components[a].НаличиеСвойства('Caption')=true)then
begin
...
end;

(Components[a] as TButton).Caption
~~~~~~~~~~
и как обойти непосредственное указание типа компонента.
Может есть возможность макроподстановки, как в FoxPro:
aaa:=Components[b].ClassType;
(Components[a] as amp&aaa).Caption:='Это Caption';
~~~~~~~


Ответить.

Ответ 1:
uses typinfo;

<...>

if getpropinfo(components[a],'caption') <> nil then <...>
Ответ 2:
Свойство Caption есть у всех наследников TControl.
Приведенный ниже код - обработчик события OnClick кнопки, помещенной на форму.
"Пробегает" в цикле по всем компонентам, унаследованным о TControl и отображает в диалоговом окне
Caption каждого.
Объявлять свой класс (TMyControl) нужно для того, чтобы получить доступ к свойству Caption, объявленному в классе
TControl в секции protected.

Удачи.

С уважением,
Владислав.

type
TMyControl = class(TControl)
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:= 0 to ControlCount-1 do
ShowMessage(TMyControl(Controls[i]).Caption)
end;


Вопрос 610: 

От: Delphin


проблема по Delphi 5.
я создал Remote Data Module со стандартными параметрами, то есть,
Multiple Instance и Apartment.
поместил туда элементарную таблицу и провайдер, зарегистрировал
приложение.
в клиенте в режиме дизайна после подключения SocketConnection
сервер-приложение запускается нормально,
то есть Clientdataset через DataSource полностью отображается в DBGrid.
Но после отключения сервер вырубается с ошибкой
некорректной операции. Кто сталкивался с такой проблемой подскажите плиз
в чем может быть дело.
в C++Builder все нормально



Ответить.

Ответ 1:


Вопрос 611: 

От: Vampir

Я делаю почтовый клиент. Например, снимаю почту. Как привязать
ProgressBar к количеству принятых байтов из общего числа байтов (с
почтового сервера), как это, наверное, делается в OutLooke, а не к
принятым сообщениям из общего числа сообщений, как это сделал я? Кол-во
общего числа байтов я узнаю (NMPOP31.BytesTotal), но как мне фиксировать
количество принятых байтов? Можно пример, но согласен на совет.


Ответить.

Ответ 1:
У NMPOP3 есть так же свойство BytesRecvd. :)

Вопрос 612: 

От: Прытков В.А.

Использую dbf под Delphi 5. Имеется таблица, на ней стоит
фильтр.
Перед добавлением записи выполняется SQL запрос с агрегатной функцией.
После этого - Insert, устанавливаются значения полей, потом Post.
И вот при Post происходит сбой при обращении к Kernel32.dll.
Первый раз я это вылечил, отказавшись от SQL запроса. Теперь выплыло
на другой таблице, и этот способ не сработал. Возможно, кто-то знает,
в чем дело?


Ответить.

Ответ 1:
Надо текст смотреть. Скорее всего бде что-то блокирует и забывает вернуть на
место. А SQL закрывается перед вставкой?


Вопрос 613: 

От: Aimetdinov Vladimir

Хотелось бы узнать про описание объектов(классов) в файлах DLL
и последующего их экспорта. А также про подключаемые файлы .inc,
которые, возможно, могут участвовать в этом процессе.
В архиве Вашей рассылки об этом быстро найти не удалось.
Возможно Вы,что-то подскажете, либо сошлетесь на какие-то источники?


Ответить.

Ответ 1:
Если имеется ввиду COM сервера и ActiveX компоненты то
попробуйте в меню Дельфи: project/Import type library
и там загрузите DLL чтоб сгенерить интерфейсный файл,
а если это что-то другое, типа борландовских BPL или
классах зашитых в DLL как какие-то функции или еще
что-нибудь, то думаю что никак.


Вопрос 614: 

От: Gavrilenko

Подскажите, пожалуйста, как поместить Gauge или ProgressBar в
StastusBar.Panels.


Ответить.

Ответ 1:
Создай его в любом месте
а потом

ProgressBar.Parent := StatusBar;
Ответ 2:
Я слышал что кто-то создавал компонент в Run-time
указывая родителем StatusBar, но у самого такой фокус
не вышел (наверное факир был пьян), впрочем проблема
решается весьма просто с другой стороны - для одной из
панелей задаешь style OwnerDraw - и рисуешь канву
руками
Ответ 3:
здесь нужно создать свой клас от TStatusBar и поместить туда нужный вам компонент
Ответ 4:
Необходимо установить родителем прогресс бара статус бар и установить ему необходимые координаты, например:

procedure TForm1.Button1Click(Sender: TObject);
begin
ProgressBar1.Parent := StatusBar1;
ProgressBar1.Align := alClient;
//чтоб увидеть ProgressBar1
ProgressBar1.Position := 50;
end;


Вопрос 615: 

От: - = H u n t e r = -

Господа, поможите!!! Как сделать так, чтобы в компонентике MaskEdit-
отоброжались звездочки(*) принажатии на клавишы, и откуда мне брать,
то что я на вводил?


Ответить.

Ответ 1:
Если нужно обеспечить ввод пароля, достаточно воспользоваться обычным
TEdit, установив ему свойство PasswordChar в "*"






Если Вы хотите как можно скорее получить ответ на свой вопрос, то
укажите в теме письма - delphiV,иначе письмо будет прочитано значительно
позже, если же у вас есть предложения то в теме письма укажите delphiP.

Для интересующихся - немного о себе. Работаю на
железнодорожном транспорте ведущим программистом.
Основные мои разработки - это сбор и доставка клиентам
информации о вагонах и поездах: где находится(по России),
куда едет. В связи с этим программировал для e-mail,Socket,БД,ISAPI.

За сим прощаюсь - скорых Вам и качественных программ.

Автор рассылки - Дмитрий.
ICQ - 89533941.

ВСЕ ВОПРОСЫ СПРОСИТЬ ПРЕДЛОЖИТЬ АРХИВЫ СКОЛЬКО НАС



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное