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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 650
от 14.11.2006, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 406, Экспертов: 68
В номере:Вопросов: 7, Ответов: 12


Вопрос № 61792: Уважаемые эксперты, подскажите плизз (можно ссылки, но лучше код). НУжно сделать программулину, в которой можно пропинговать сеть или интервал ip-шников с выводом результата пинга!...
Вопрос № 61804: Помогите разобраться! Пытаюсь написать простенький визуальный компонент Наследуюсь от TCustomControl Задал параметр Side -размер стороны (Published) Теперь хочу нарисовать круг по canvas'у В конструкторе пишу Canvas.Elli...
Вопрос № 61813: Здраствуйте, при работе с графикой возникла проблема: Не могу нарисовать на канве формы или картинки точку: рисую ее MoveTo(x,y); LineTo(x,y); Но она не отображается - слишком маленькая. И точку могу написовать только прямоугольником Re...
Вопрос № 61873: Здравствуйте уважаемые эксперты! Подскажите как сохранить и загружать sql-запрос из файла. Использую ADOQuery. Стандартные методы не проходят, т.к. свойство ADOQuery.SQL типа WideString (и в данном случае работать с ним как с обычным string'ом не пол...
Вопрос № 61902: Ещё вопрос по написанию компонента. В новом компоненте, наследнике TCustomControl, введено published свойство Side (оно назначает размер компонента -см. прилагаемый код) Как сделать, чтобы унаследованные свойства Width и Height<b...
Вопрос № 61906: Уважаемые эксперты, помогите пожалуйста получить название выделеного элемента из ShellListView. Пытался сделать так (см. приложение) Менял ItemFocused на Selected. Всеравно в "S" пустая строка....
Вопрос № 61922: Здравствуйте, уважаемые эксперты! Помогите начинающему решить задачу. Обеспечить двойным нажатием левой клавиши мыши вычитание из первого целого числа второго целого числа. Нажатием клавиши «Esc» восстановите исходное первое число. И е...

Вопрос № 61.792
Уважаемые эксперты, подскажите плизз (можно ссылки, но лучше код). НУжно сделать программулину, в которой можно пропинговать сеть или интервал ip-шников с выводом результата пинга!
Отправлен: 08.11.2006, 15:02
Вопрос задал: Сапожников Владимир (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Gh0stik
Здравствуйте, Сапожников Владимир!

Все необходимое, что должно быть Вас интересует находиться на Старом Добром Delphi World.

Вот более конкретные статьи:
Маааленькое PING-приложеньице
Как найти все комьютеры в сети
Как найти все комьютеры в сети 2
Как найти все компьютеры в рабочей группе

Удачи!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 08.11.2006, 15:54

Отвечает: Олекса aka SoW
Здравствуйте, Сапожников Владимир!
Вот ссылка на исходный код моей курсовой роботы: http://depositfiles.com/files/363354

Там рассмотрено вопрос пингования интервала ip-шников, сканирования портов и поиска открытых ресурсов. Для роботы программы нужен компонент Ping. Если у вас его нет, напишите мне в личку, я вам его отправлю.
---------
Вiк живи - вiк учись.
Ответ отправил: Олекса aka SoW (статус: 2-ой класс)
Ответ отправлен: 09.11.2006, 08:15


Вопрос № 61.804

Помогите разобраться!
Пытаюсь написать простенький визуальный компонент
Наследуюсь от TCustomControl
Задал параметр Side -размер стороны (Published)
Теперь хочу нарисовать круг по canvas'у
В конструкторе пишу
Canvas.Ellipse(0,0,Width,Height);
Компонент ставится в палитру.
Но при постановке его на форму возникает ошибка
Control '' has no parent window
Что я делаю не так?

Приложение:

Отправлен: 08.11.2006, 16:16
Вопрос задал: Gwa (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mexes
Здравствуйте, Gwa!
Перекрывать рисование следует в методе Draw. При создании компонента в тот момент, когда вызывается Create, ему (компоненту) еще на назначен родитель, поэтому операции с канвой не корректны. Когда родитель будет назначен, автоматически будет вызван Draw для перерисовки компонента, ну и там выполнится Ваш код, ответственный за визуализацию.
Ответ отправил: Mexes (статус: 5-ый класс)
Ответ отправлен: 08.11.2006, 16:38
Оценка за ответ: 5


Вопрос № 61.813
Здраствуйте, при работе с графикой возникла проблема:
Не могу нарисовать на канве формы или картинки точку: рисую ее
MoveTo(x,y); LineTo(x,y); Но она не отображается - слишком маленькая.
И точку могу написовать только прямоугольником Restrangle(x,y,x+1,y+1), но она большая, а надо маленькую в один пиксель. Что делать
Отправлен: 08.11.2006, 17:20
Вопрос задал: Yujin (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Маренич Владимир
Здравствуйте, Yujin!
Попробуйте через свойство-массив TCanvas.Pixels[x,y]: TColor

например,
Form1.Canvas.Pixels[x,y]:=clYellow;
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 08.11.2006, 17:35

Отвечает: Gh0stik
Здравствуйте, Yujin!

Вот предлагаю Вам воспользоваться таким методом:

Canvas.Pixels[10, 10] := clRed;

Выводим точку красного цвета с координатами (10,10).

Удачи!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 08.11.2006, 17:36

Отвечает: Юрий Викторович
Здравствуйте, Yujin!
задайте толщину линии
canvas.pen.width

Правда точку размером в один пиксель можно и не разглядеть.

Приложение:

Ответ отправил: Юрий Викторович (статус: 1-ый класс)
Ответ отправлен: 08.11.2006, 19:27


Вопрос № 61.873
Здравствуйте уважаемые эксперты! Подскажите как сохранить и загружать sql-запрос из файла. Использую ADOQuery. Стандартные методы не проходят, т.к. свойство ADOQuery.SQL типа WideString (и в данном случае работать с ним как с обычным string'ом не получается).

Приложение:

Отправлен: 09.11.2006, 01:03
Вопрос задал: Koven (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PaVeL_Ekt
Здравствуйте, Koven!

??? Повторюсь ???

либо ADOQUERY.SQL.Text:=s;
либо ADOQUERY.SQL.Add(s);
либо ADOQUERY.SQL.LoadFromFile(FileName);
либо ADOQUERY.SQL.LoadFromStream(TStream); (TFileStream в частности);

---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 3-ий класс)
Ответ отправлен: 09.11.2006, 06:41


Вопрос № 61.902

Ещё вопрос по написанию компонента.
В новом компоненте, наследнике TCustomControl,
введено published свойство Side
(оно назначает размер компонента -см. прилагаемый код)
Как сделать, чтобы унаследованные свойства Width и Height
перестали быть published?
Возможно ли это?

Приложение:

Отправлен: 09.11.2006, 09:12
Вопрос задал: Gwa (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Monah
Здравствуйте, Gwa!
Поля и методы из любой секции можно перенести в другую, просто прописав их в нужной секции в наследнике. При этом действует основное правило - нельзя уменьшать область видимости. Т.е. Из Public перенести в Private нельзя. А наоборот можно.
---------
festina lente
Ответ отправил: Monah (статус: 8-ой класс)
Ответ отправлен: 09.11.2006, 09:31

Отвечает: Mexes
Здравствуйте, Gwa!
Да, в Delphi уменьшить область видимости нельзя. Но можно хотя бы скрыть эти поля из Object Inspector. Нужно в процедуру регистрации добавить

RegisterPropertyEditor(TypeInfo(integer), TVisTimer, 'Height', nil);
RegisterPropertyEditor(TypeInfo(integer), TVisTimer, 'Width', nil);
Ответ отправил: Mexes (статус: 5-ый класс)
Ответ отправлен: 09.11.2006, 13:15
Оценка за ответ: 5


Вопрос № 61.906
Уважаемые эксперты, помогите пожалуйста получить название выделеного элемента из ShellListView. Пытался сделать так (см. приложение) Менял ItemFocused на Selected. Всеравно в "S" пустая строка.

Приложение:

Отправлен: 09.11.2006, 09:40
Вопрос задал: Monah (статус: 8-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PaVeL_Ekt
Здравствуйте, Monah!

очень долго ковырялся,вот функция которую нашел:

showmessage(shelllistview1.Folders[shelllistview1.itemindex].DisplayName);

она и показывает название причем как файла, так и директрории (два в одном) !!!
---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 3-ий класс)
Ответ отправлен: 09.11.2006, 10:33
Оценка за ответ: 5
Комментарий оценки:
Болшое спасибо, помогло.

Отвечает: Sattar
procedure TForm1.ShellTreeView1Click(Sender: TObject);
begin
if Memo1.Lines.Strings[Memo1.Lines.Count-1]<>ShellTreeView1.SelectedFolder.DisplayName then
Memo1.Lines.Add(ShellTreeView1.SelectedFolder.DisplayName);
end;
Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 10.11.2006, 23:20


Вопрос № 61.922
Здравствуйте, уважаемые эксперты! Помогите начинающему решить задачу.
Обеспечить двойным нажатием левой клавиши мыши вычитание из первого целого числа второго целого числа. Нажатием клавиши «Esc» восстановите исходное первое число.

И ещё, объясните подробнее, что представляют собой события формы
OnActivate и OnCreate и какие действия с помощью них можно выполнять? Именно эти события требуется применить для решения этой задачи по условию.
За ранее благодарен!!!
Отправлен: 09.11.2006, 11:31
Вопрос задал: KiberZero (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: PaVeL_Ekt
Здравствуйте, IskanderD!

OnCreate - событие генерируеться при создании формы, т.е. после кода Form1.Create;

OnActivate - событие генерируется при активации формы, активация происходит каждай раз, при установке форме фокуса (доступно: есть запущенное приложение и другая программа, OnActivate генерируется когда мы находясь в окне другой программы нажимаем мышкой на нашем приложении)

OnShow - событие генерируеться при изменении статуса окна в видимое
(генерируется при появлении окна нашего приложения)

Приложение:

---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL

Ответ отправил: PaVeL_Ekt (статус: 3-ий класс)
Ответ отправлен: 09.11.2006, 11:45


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное