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

Программирование на Delphi

  Все выпуски  

Программирование на Delphi (выпуск 61)


Программирование на DELPHI
Выпуск #61 (09 января 2007 г.)

Разделы сайта:

Новости сайта
Delphi.int.ru Expert
Файловый архив
Статьи
Компоненты
Plug-in's
Документация
Исходники
Изображения
Игры
Программы
F.A.Q. (ЧаВО)
Рассылки сайта
Дружеств. сайты
Обратная связь
Каталог ссылок

Доброго времени суток, уважаемые читатели!

Поздравляем всех с прошедшими праздниками - Новым Годом и Рождеством! Желаем счастья, успехов, любви и всего самого наилучшего в этому году!

На сайте исправлены небольшие ошибки, появились новые файлы, а раздел "Программы" полностью переработан. В нём добавлено разделение всей информации на страницы (ранее всё было на одной странице, из-за чего она была очень большой), добавлена информация о количестве закачек каждого файла. Например, строка "Закачек: 150 (10)" означает, что всего данный файл был загружен 150 раз, а 10 раз - за сегодняшний день. Также изменения коснулись строки с именем того, кто отправил данный файл - для тех пользователей, которые зарегистрированы на сайте, e-mail адрес убран, а поставлена ссылка на анкетную информацию данного человека. При этом, многие записи остались с адресами. Если Ваш адрес остался, но Вы зарегистрировались на сайте - пишите, всё поправим. Напоследок стоит сказать о том, что добавление комментариев для файлов этого раздела временно отключено. Вскоре всё будет восстановлено.

Пожалуйста, обратите внимание на раздел "Статьи" и примите участие в опросе.


Статистика Delphi.int.ru Expert на 09.01.2007, 10:00:

Зарегистрированных экспертов: 70, из них в активном режиме 53.
Участниками задано вопросов: 247.
Всего отправлено ответов: 447.

У Вас есть идеи как сделать рассылку или сайт лучше? Ждём Ваших мнений!

Приятного чтения и до встречи через неделю!

Разделы рассылки:

Авторское слово
Delphi.int.ru Expert
Статья по Delphi
Файловый архив
Ссылки
Юмор

Количество читателей рассылки (09.01.2007, 10:00):
5380+780+201= 6361.

Delphi.int.ru Expert
(текущая версия системы: 1.66
последнее обновление: 31.12.2006)

Если Вы не являетесь зарегистрированным пользователем сайта, зарегистрируйтесь прямо сейчас! Регистрация »

Delphi.int.ru Expert - это автоматизированная система экспертной помощи, призванная помочь в решении проблем, возникающих как у начинающих, так и опытных программистов, а также способствующая обмену информации между участниками лично и публикации этой информации в массовых рассылках в дальнейшем. Система полностью автоматизирована и постоянно развивается и обновляется. Если у Вас есть какие-то либо вопросы или Вы столкнулись с какой-либо проблемой при программировании на Delphi/WinAPI - задайте свой вопрос и эксперты Вам помогут. Кроме того, Вы сами можете войти в состав экспертов и помогать другим.

Задать вопрос экспертам » | Справочное руководство » | Перейти в состав экспертов » | Эксперты системы »

Здесь публикуются вопросы вместе с ответами, срок действия которых закончился (каждый вопрос действителен в течение одной недели).

* Администраторы сайта не несут ответственности за грамматические ошибки в сообщениях участников.

Delphi.int.ru Expert  – вопросы и ответы (#131 - #140)
Вопрос № 131

Текст вопроса:

Здраствуйте. Необходимо через Delphi открыть существующий xls документ, изменить ширину и высоту ячеек верхнего левого квадрата 14х14 и затем записать в них другие значения.Закрыть этот файл с сохранением изменений.
Использую компоненты TExcelApplication и TExcelWorkBook(ConnectKind = ckAttachToInterface)

Автор вопроса: Князев А.А. (статус: Посетитель)
Дата и время отправки вопроса: 11.10.2006, 16:40
Получено ответов на вопрос: 0
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

К сожалению, ответов на данный вопрос не поступило...



Вопрос № 132

Текст вопроса:

К вопросу 129 не могу отправить сообщение в форуме!!!

Во-первых я что то не слышал что JvxMainMenu является стандартным компонентом Borland.
Во-вторых о безвыходности я не говорил - мне что надо ручками написать и выложить на всеобщее обозрение как это делается? Так простите - это будет мой собственный компонент имеющий право на коммерческое существование.
В-третьих - что значит доступ заблокирован - отсутствует Property Canvas - или оно расположено в разделе private, protected или вообще исходного кода для компонента нет. И насколько я помню событие OnDrawItem определяет событие для Item TMainMenu поэтому и перерисовываем только итемы а не всю строку.

А теперь совет: почитайте о создании компонентов -> возьмите за исходный код определение TMainMenu и добавьте свойства Canvas и методы для его прорисовки и изменения а также Event по которому будет происходить обработка - удачи!!!

Автор вопроса: Alex Van Glukhman (статус: 5-ый класс)
Дата и время отправки вопроса: 12.10.2006, 18:07
Получено ответов на вопрос: 0
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

К сожалению, ответов на данный вопрос не поступило...



Вопрос № 133

Текст вопроса:

Ты бы не мог помочь .
изменить код алгоритма так, чтобы он не потерял свою
работоспособность к программе Delphi.
нужно чтобы код отличался от исходного...сам пытаюсь но пока
ни чего не получается.
miyv@nm.ru

Приложение:

Автор вопроса: Уваровский miYv (статус: Посетитель)
Дата и время отправки вопроса: 14.10.2006, 20:35
Получено ответов на вопрос: 1
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Dron (статус: 10-ый класс), 19.10.2006, 19:08]:

Здравствуйте.
Несколько странное задание, к тому же оно уже было сделано... Я сделал небольшие изменения:
http://expert.delphi.int.ru/download_21
Может быть, это Вам чем-то поможет...
Удачи!



Вопрос № 134

Текст вопроса:

Привет!
Подскажите, пожалуйста, как программно отключить соединение интернета?
Нашел только через Ras, но не нашел где скачать RasUnit.pas
Может есть альтернативные способы???
Поделитесь кодом, пожалуйста.

Автор вопроса: Евгений В (статус: 1-ый класс)
Дата и время отправки вопроса: 15.10.2006, 06:49
Получено ответов на вопрос: 1
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Dron (статус: 10-ый класс), 15.10.2006, 10:07]:

Здравствуйте, Евгений В!
Вот модуль для работы с RasAPI:
http://expert.delphi.int.ru/download_20
Думаю, в нем Вы найдете все, что нужно для поставленной задачи.
А вот небольшая статья:
http://articles.org.ru/cfaq/index.php?qid=420&catid=31
Возможно, пригодится...
Желаю удачи!

Оценка за ответ: 5.



Вопрос № 135

Текст вопроса:

Уважаемые эксперты!
Я хочу сделать такую программу с помощью которой админ сети мог на "экране" своего компа видеть то что делают другие его "подчиненные". Подскажите плиз как можно это организовать.

Автор вопроса: Александр (статус: Посетитель)
Дата и время отправки вопроса: 15.10.2006, 15:04
Получено ответов на вопрос: 4
Сообщений в форуме вопроса: 11
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Dron (статус: 10-ый класс), 15.10.2006, 15:40]:

Здравствуйте, Александр!
Достаточно сложная задача. Попробую рассказать об общих моментах:
1. Программа будет состоять из двух частей: одна - админская, другая - клиентская (шпион).
2. На удалённый компьютер нужно установить программу и поместить её в автозагрузку, а также сделать максимально скрытой - убрать значок из трея, скрыть из диспетчера задач и т.д. Ведь сам пользователь её не запустит...
3. При запуске программа устанавливает с сервером связь по сети (наиболее вероятно, что сеть локальная). Ну а дальше на что хватит фантазии...
Насчёт изображения всего экрана - это слишком трудо- и ресурсоёмко. Программа-шпион должна делать скриншоты с довольной высокой частотой, отправлять их по сети, а программа-сервер - загружать и показывать. Не каждая локальная сеть будет держать такие нагрузки, ла "подчиненный" может заметить, что сеть всё время активна и попытается понять, в чём дело. Лучше делать скриншоты экрана реже - всё равно будет понятно, что происходит. Например, раз в 3 секунды. Будет очень даже неплохо.
Для соединения по сети первое, что приходит в голову - использовать стандартные TClientSocket и TServerSocket. Однако можно поискать что-то получше и поновее.
Создание такой "системы" займёт много времени и всего здесь не описать. Попробуйте начать разработку, а вопросы, которые будут возникать в её процессе, задавайте. Лично я готов помогать (ну если сам знаю, конечно).
Надеюсь, что общая технология ясна. Удачи!

Оценка за ответ: 5.

2. [Отвечает: Geron (статус: 1-ый класс), 15.10.2006, 21:01]:

Здравствуйте, Александр! Для этого нужно использовать сокеты или файлы, чтобы программы на компе жертвы передавала вам файлы(или оставляла у себя файлы, а ваша программа забирала файлы) или посылала вам сообщения через порты(сокеты). Лучше всего использовать файлы. Программа на компе жертвы должна быть не видима. А лучше всего быть драйверам или сервисам. Если нужны подробности пишите мне на Stalker777@tyt.by

Оценка за ответ: 5.

3. [Отвечает: min@y™ (статус: 4-ый класс), 16.10.2006, 09:31]:

Может проще скачать Remote Administrator и не мучиться?

Оценка за ответ: 5.

4. [Отвечает: Виталий Лещенко (статус: 2-ой класс), 17.10.2006, 00:47]:

Здравствуйте, Александр!

Такие программы уже существуют.
Например "Remote Administrator".
Лучше все равно не сделаешь!

Оценка за ответ: 5.



Вопрос № 136

Текст вопроса:

Доброе время господа программисты. Как в Дельфи удалить папку?

Автор вопроса: Geron (статус: 1-ый класс)
Дата и время отправки вопроса: 20.10.2006, 00:29
Получено ответов на вопрос: 4
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Dron (статус: 10-ый класс), 20.10.2006, 06:50]:

Здравствуйте, Stalker!
Очень просто: RmDir('path'). Единственное условие - каталог должен быть пустым, т.е. если он содержит файлы, то сначала нужно удалить их, а только затем сам каталог.

2. [Отвечает: min@y™ (статус: 4-ый класс), 20.10.2006, 08:24]:

Советую почитать хэлпоид по функции SHFileOperation() и по структуре SHFILEOPSTRUCT, с которой она работает. В приложении я привожу реализацию удаления каталога (даже непустого), взятую из модуля dwFiles.pas пакета Delphi Works.

Приложение:

3. [Отвечает: sattar sattar (статус: 2-ой класс), 20.10.2006, 17:51]:

var
SR:TSearchRec;
procedure TForm1.Button1Click(Sender: TObject);
begin
if FindFirst('c:\folder\*.*',faAnyFile,SR)=0 then
repeat
DeleteFile('c:\folder\'+SR.Name)
until FindNext(SR)<>0 ;
FindClose(SR);
RemoveDir('c:\folder\');

4. [Отвечает: Новаковский Юрий Аврамович (статус: 3-ий класс), 20.10.2006, 19:02]:

Привет Stalker

Очень советую поставить пакет JEDI-VCL,
там есть компонент:

TJvSHFileOperation Copies, moves, renames, or deletes files, while showing the standard Windows progress dialog.
И никаких проблем, удачи Вам.



Вопрос № 137

Текст вопроса:

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

Автор вопроса: Александр (статус: Посетитель)
Дата и время отправки вопроса: 21.10.2006, 16:23
Получено ответов на вопрос: 1
Сообщений в форуме вопроса: 3
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Dron (статус: 10-ый класс), 21.10.2006, 18:37]:

Здравствуйте, Александр!
Я реализовал нечто подобное. Код модуля в приложении. А вот скриншот примерного расположения элементов:
http://expert.delphi.int.ru/download_22
Однако метод не совсем доработан - иногда встречаются неправильные "прилипания". Но, думаю, сделав по аналогии, Вы разберётесь и доработаете его так, как Вам требуется.
Общая технология:
1) Для каждого элемента определить его положение относительно "двигаемого" элемента - слева от него, справа, сверху или снизу.
2) Для каждого элемента найти расстояние до нашего компонента.
3) Выбрать из расстояний наименьшее.
4) Прицепить наш компонент к тому элементу, расстояние до которого минимально.
Удачи!

Приложение:

Оценка за ответ: 5.



Вопрос № 138

Текст вопроса:

Доброе время суток, господа программисты. Как
программно открыть ярлык "Far Manager". Заранее благодарен.

Автор вопроса: Geron (статус: 1-ый класс)
Дата и время отправки вопроса: 22.10.2006, 12:02
Получено ответов на вопрос: 1
Сообщений в форуме вопроса: 2
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: min@y™ (статус: 4-ый класс), 23.10.2006, 08:23]:

Ну, если надо запустить Far именно через ярлык, то, например, так:

// см. приложение

Приложение:



Вопрос № 139

Текст вопроса:

Добрый день уважаемые эксперты!
Подскажите пожалуйста как работать с подключаемыми интерфейсами Windows Media Player ActiveX, в частности как получить управление єквалайзером и визуализацией?

Автор вопроса: Ильченко В. Г. (статус: Посетитель)
Дата и время отправки вопроса: 23.10.2006, 17:33
Получено ответов на вопрос: 1
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Dron (статус: 10-ый класс), 25.10.2006, 15:41]:

Здравствуйте, Ильченко В. Г.!
По всей видимости, данный функционал недоступен через ActiveX. Вероятно, это дополнительные расширения WMP. Эквалайзер придётся делать самостоятельно с помощью каких-либо сторонних модулей, а визуализация - это просто красивая графика, отрисовывающаяся по каким-либо формулам и алгоритмам.
А вообще, на мой взгляд, для воспроизведения медиа-файлов лучше использовать специальные пакеты (стандартный TMediaPlayer тоже не очень хорош).
Удачи!



Вопрос № 140

Текст вопроса:

Здарвствуйте, я хочу начать программирование с азов, хотелось бы, узнать, с чего начать? И как можно узнать IP-адрес на компьютере? Заранее благодарю!!!

Автор вопроса: Томина Анна Юрьевна (статус: Посетитель)
Дата и время отправки вопроса: 24.10.2006, 19:14
Получено ответов на вопрос: 4
Сообщений в форуме вопроса: 0
Страница данного вопроса >>


» Ответы на данный вопрос:

1. [Отвечает: Виталий Лещенко (статус: 2-ой класс), 25.10.2006, 00:30]:

Здравствуйте, Томина Анна Юрьевна!

Вот посмотри эл.книжку
"Программирование на языке Delphi"
http://vitaliy.org/book/index.php

Там все по порядку и довольно хорошо изложено.

Приложение:

Оценка за ответ: 5.

2. [Отвечает: Geron (статус: 1-ый класс), 25.10.2006, 00:38]:

Здравствуйте, Томина Анна Юрьевна! В uses добавляем WinSock.
после
implementation
{$R *.dfm}
пишем
function GetLocalIP: String;
const WSVer = $101;
var
wsaData: TWSAData;
P: PHostEnt;
Buf: array [0..127] of Char;
begin
Result := '';
if WSAStartup(WSVer, wsaData) = 0 then begin
if GetHostName(@Buf, 128) = 0 then begin
P := GetHostByName(@Buf);
if P <> nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
end;
WSACleanup;
end;
end;
по нажатию кнопки пишем действие
edit1.Text:=GetLocalIP;

Оценка за ответ: 5.

3. [Отвечает: Новаковский Юрий Аврамович (статус: 3-ий класс), 25.10.2006, 10:57]:

Здравствуйте, Томина Анна Юрьевна!
От себя могу посоветовать любую из книг Фаронова. У него есть книги на любые вкусы,
от новичка до профессионала.
Но если Вы будете набирать приведенные в книге тексты программ, или еще хуже копировать их с CD,то Вы всегда будете чайником.
Нельзя научиться стихосложению переписывая стихи Пушкина.
Развивайте алгоритмическое мышление.
Придумывайте себе задачи и сами их решайте.
Можно взять пример из книги, но текст программы писать не подсматривая, пользуясь только справкой Delphi. И только в крайнем случае, когда совсем непонятно, можно посмотреть как сделано в примере, но только маленький кусочек кода.
Для начала задание:
Откройте в Delphi новый проект, положите на форму кнопку TBitButton, и не написав не единой строчки кода, а только правильно выставив в инспекторе объектов свойства кнопки добейтесь чтоб кнопка завершала работу приложения.
Попробуйте разобраться самостоятельно.
Успехов Вам.

Оценка за ответ: 5.

4. [Отвечает: Denisss (статус: 1-ый класс), 25.10.2006, 21:21]:

Здравствуйте, Анна Юрьевна!

Для начала, если траффик позволяет, то скачайте программу Delphi World (http://www.delphiworld.narod.ru/dw.html) - в ней есть ответы на многие вопросы.

Удачи!

Оценка за ответ: 5.




Статьи  >>

Статьи в данном выпуске нет, но хотелось бы провести опрос среди читателей. Пожалуйста, примите участие:

Нужно ли публиковать статьи по обучению программированию для начинающих?

Да, в разделе "Статьи"

Да, но сделать новый раздел, а здесь публиковать другие статьи

Нет, это не нужно

Чтобы проголосовать, просто щёлкните по ссылке и отправьте письмо. В тексте письма можете высказать своё мнение по данному вопросу.

Вы можете отправить свои статьи по адресу info@delphi.int.ru и они будут опубликованы в ближайших выпусках рассылки и на сайте.


Файловый архив  >>

Разделы: Статьи | Компоненты | Plug-in's | Документация | Исходники | Программы | Игры | Изображения

Отправляйте полезные компоненты/модули, интересные исходники, собственные программы/игры и мы разместим их на сайте. Отправить можно здесь »

Последние поступления
Название
Описание
Раздел
Объём
Ссылки
LCD Line
Индикатор для отображения текста в стиле 5х7 точек. Создан в Delphi 2006. Автор: Терещенко Юрий.
187 Кб
Draw objects
Коллекция из 16 компонент, которые можно использовать для построения орагнизационных диаграмм, блок-схем, и т.п.
581 Кб
Running Balls
В программе создан эффект движущихся фигур, отскакивающих от стен. Источник: programania.com.
16 Кб
Музыкальный автомат
Программа позволяет проигрывать музыкальные фрагменты, состоящие из отдельных нот. Можно также играть самостоятельно, нажимая на цифровые клавиши. Источник: programania.com.
24 Кб
Spy & Capture
Данная программа существенно облегчает работу при создании приложении на основе WinAPI. С её помощью можно получить всю необходимую информацию о любом из окон. Выбор окон осуществляется очень просто - перетаскиванием "мишени" мышью на нужное окно. Кроме того, программа позволяет посылать окнам стандартные API-сообщения. Программа будет полезна любому программисту независимо от языка программирования.
499 Кб
Всего новых файлов: 5  
1.3 Мб
 

Если у Вас есть книги по Delphi (в электронном виде, разумеется) или другая полезная документация - сообщите и её можно будет разместить на сайте.

Отправить файл »   

Ссылки  >>

Дружественные сайты   |   Каталог ссылок

Обмен баннерами приветствуется для сайтов схожей тематики. По поводу размещения текстовых ссылок обращайтесь сюда.

Рассылки Subscribe.Ru
Программирование на Delphi
Visual Basic для новичков и профессионалов
   
 

Юмор

Ведущий раздела: Bruder

Уснули километры проводов,
Погасли мониторы, материнки.
Уснули мыши, шарики мышов,
Цветные гифки и jpeg картинки.

Все биты, гигабайты, все объяты сном,
Системный таймер больше такт не отбивает.
В обнимку с диском замер сиди-ром,
И память с кэшем тихо засыпает.

Отключен интернет, погас модем,
Процессор флаги выставил отбоя.
Не бегают пакеты по сети,
Ещё вчера не ведавши покоя.

Коннект разорван, оборвалась нить,
Связующая близкое с далеким.
Динамик спит, и спящий глаз прикрыт
У спящего винчестера под боком.

Здесь всё объято сном, и в цифровую даль зовёт.
Диоды доступа на блоке не мигают.
И кулер, совершив последний - тихий оборот,
Застыл и тишину немую созерцает.

Как светел час... портал закрыт.
Остался человек наедине с природой.
И в сумраке лишь тишина звенит -
Предпраздничная магия природы...

И лишь в тиши - он вдруг поймёт,
как наступает Новый Год.

Прислал: Feniks

:))

Присылайте компьютерные анекдоты, рассказы и истории по этой ссылке и они обязательно будут опубликованы.
Ведущий рассылки, Ерёмин Андрей.

В избранное