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

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


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

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

Выпуск № 821
от 26.05.2007, 16:05

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


Вопрос № 87785: Здравствуйте Уважаемые Эксперты!!! Вопрос навернека Уже задавался Но найти его в архиве трудоемко!!! Подскажите как сделать следующее 1. программму нужно свернуть в трей(как это сделать). 2. По определенному событию должно всплыв...
Вопрос № 87806: Не подскажете как удалить последнюю введенный фрагмент строки из простейшего текстового редактора. ...
Вопрос № 87838: Здравствуйте, уважаемые эксперты. Очередной вопрос. В базе данных в одном из столбцов необходимо отобразить стипендию, получаемую студентами. Для этого столбца надо надо сделать фильтр, причем такой, чтоб в нем выводились только студенты, получающие ...
Вопрос № 87848: Здравствуйте, уважаемые эксперты. Есть цикл. Нужно, чтобы польз-ль сам выбирал на каждом шаге, продолжать или нет. Т.е. нужно либо сделать кнопку "далее", после нажатия которой будет проделан след. шаг; либо на каждом шаге окошко с кнопочка...
Вопрос № 87854: Здравствуйте Стоит ли изучать делфи по книге Михаила фленова "Библия Делфи"? Я где-то читал, что там местами есть откровенная дезинформация, правда ли это? P.S. И где ее можно скачать в формате Pdf? У меня только 18 глав...
Вопрос № 87898: Добрый день! Помогите решить один вопрос. Есть страничка в интернете. Надо прочитать html-код документа и после обработки сохранить его на компьютере. Как сохранить это все понятно, встает вопрос как обратиться к документу и увидеть его h...
Вопрос № 87911: Здравствуйте. Есть такая проблема. Приложение под dos, на текущий момент сохранился только exe. Как запустить его из под Delphi 7, я знаю. Как реализовать введение 2 параметров а именно входного файла,и выходного файла. В рамках указанной версии Delp...

Вопрос № 87.785
Здравствуйте Уважаемые Эксперты!!!
Вопрос навернека Уже задавался Но найти его в архиве трудоемко!!!
Подскажите как сделать следующее

1. программму нужно свернуть в трей(как это сделать).
2. По определенному событию должно всплывать окошко из трея c сообщением.
в том виде как всплывает оно у Windows .(например при подключении локальной сети.....)

Заранее благодарен!!!
Отправлен: 20.05.2007, 19:10
Вопрос задал: ~mr_Profit~ (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

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

Если Вы хотите это все проделать вручную то советую Вам просмотреть статьи с этой страницы, на ней Вы найдете такие тематики:
* Shell своими руками - System Tray
* Издевательства над System Tray
* Иконка на TrayBar
* Иконка на TrayBar - пример
* Иконка на TrayBar - пример 2
* Использование подсказки в Tray в виде шара
* Как закрыть всплывающее меню в System Tray когда оно теряет фокус
* Как поместить иконку в Tray
* Как поместить иконку в TrayBar
* Компонент SystemTray
* Компонент TrayComp
* Отображаем текст в System Tray
* Приложение не убирает всплывающее меню после потери фокуса
* Приложение с иконкой в Tray
* Скрыть статус соединения с Интернетом с TrayBar
* Создать, изменить и удалить TrayIcon
* Спрятать часы в Tray


Но чтобы не изобретать велосипед можно воспользоваться соответствующим компонентом. Есть ряд компонентов , которые позволяют сворачивать в трей программу или делать всплывающие сообщения в нем. Рекомендую Вам воспользоваться Raize Components - в данном наборе Вы найдете именно то что Вам нужно и Вам не прийдется создавать все самому. В частности компонент RzTrayIcon - отвечает за отображение иконки в трее, а RzBalloonHints - за всплывающие подсказки.

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 20.05.2007, 19:27
Оценка за ответ: 5


Вопрос № 87.806
Не подскажете как удалить последнюю введенный фрагмент строки из простейшего текстового редактора.
Отправлен: 20.05.2007, 21:11
Вопрос задал: Mantis (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Denisss

Здравствуйте, Mantis!

Последнее действие пользователя (в том числе и последний введенный фрагмент строки) в простейшем текстовом редакторе отменяется функцией Undo.

Пример

Memo1.Undo;

или

Richedit1.Undo;


Удачи!
Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 20.05.2007, 21:23
Оценка за ответ: 5
Комментарий оценки:
Очень лаконичный и простой метод :) Спасибо ^____^


Вопрос № 87.838
Здравствуйте, уважаемые эксперты. Очередной вопрос. В базе данных в одном из столбцов необходимо отобразить стипендию, получаемую студентами. Для этого столбца надо надо сделать фильтр, причем такой, чтоб в нем выводились только студенты, получающие стипендию больше заданного числа. Надо взять Элемент Edit для введения данного числа(может, есть варианты получше?) и кнопку собственно на которую и будет запрограммирован фильтр. Вот дальше у меня возникают проблемы с осознанием того, как это сделать. Я так понял, что нужно сначала
Отменить фильтр (вдруг он установлен?), затем
RGSort.ItemIndex := 0; //Отобразить режим сортировки
RGFiltr.ItemIndex := 0; //Отобразить режим фильтра
TStud.IndexName := 'Index_Money'; //Индекс по искомому полю
далее надо задать некоторые переменные, в которых будет храниться размер стипендии(одна для поиска, а другая для запоминания наиб значения).. А вот дальше я не могу разобраться. Подскажите пожалуйста, если не трудно...
Понимаю, что алгоритм не оптимален. Заранее спасибо за помощь.
Отправлен: 21.05.2007, 01:42
Вопрос задал: SunnyKiller (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: LEXASOFT
Здравствуйте, SunnyKiller!

В обработчик нажатия кнопки напишите

Table1.filtered:=false;
Table1.filter:='stepend>'+Edit1.text;
Table1.filtered:=true;

Удачи!
---------
Нет безвыходных положений...
Ответ отправил: LEXASOFT (статус: 5-ый класс)
Ответ отправлен: 21.05.2007, 05:09
Оценка за ответ: 5

Отвечает: Jadd
Здравствуйте, SunnyKiller!
Или другой вариант - использовать всю мощь языка запросов SQL в компоненте TQuery.

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from database where stipend > ' + Edit1.Text);
Query1.Open;

Где database - имя таблицы.

Успеов.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Профессионал)
Адрес: Санкт-Петербург
WWW: http://www.sport-diary.ru
----
Ответ отправлен: 21.05.2007, 15:06
Оценка за ответ: 5


Вопрос № 87.848
Здравствуйте, уважаемые эксперты. Есть цикл. Нужно, чтобы польз-ль сам выбирал на каждом шаге, продолжать или нет. Т.е. нужно либо сделать кнопку "далее", после нажатия которой будет проделан след. шаг; либо на каждом шаге окошко с кнопочками "да/нет". Подскажите, пожалуйста, как такое реализовать(любой из двух)? Заранее очень благодарен!
Отправлен: 21.05.2007, 04:28
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: LEXASOFT
Здравствуйте, Андрющенко Вячеслав Васильевич!

То есть если у Вас цикл проходит 1000 раз то это окно будет 1000 раз запрашивать? :)
Вставте в тело цикла:

if MessageDlg('Продолжать?',mtConfirmation,mbOKCancel,0)=mrCancel then Break;

Можно сделать кнопку стоп и при нажатии на нее остановить цикл:

var StopFlag: boolean // нажимали кнопку?

// обработчик кнопки стоп
procedure TForm1.StopButtonClick(Sender: TObject);
begin
StopFlag:=True;
end;

а перед циклом написать:
StopFlag:=False;

в цикле напишите:
Application.ProcessMessages;
if StopFlag then Break;

---------
Нет безвыходных положений...
Ответ отправил: LEXASOFT (статус: 5-ый класс)
Ответ отправлен: 21.05.2007, 04:50
Оценка за ответ: 3

Отвечает: Ерёмин Андрей
Здравствуйте, Андрющенко Вячеслав Васильевич!
Страницы с кнопкой "Далее" - это обыкновенный wizard. О том, как создать такого мастера рассказано в статье Диалог в стиле wizard'а. Используется TPageControl.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286837644
----
Ответ отправлен: 21.05.2007, 07:59

Отвечает: Примак Руслан Николаевич
Здравствуйте, Андрющенко Вячеслав Васильевич!

while 1 = 1 do
begin
if MessageDlg('Продолжить? Да/Нет', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
continue
else
break;
end;
Ответ отправил: Примак Руслан Николаевич (статус: 1-ый класс)
Ответ отправлен: 21.05.2007, 12:05


Вопрос № 87.854
Здравствуйте
Стоит ли изучать делфи по книге Михаила фленова "Библия Делфи"?
Я где-то читал, что там местами есть откровенная дезинформация, правда ли это?
P.S. И где ее можно скачать в формате Pdf? У меня только 18 глав
Отправлен: 21.05.2007, 06:24
Вопрос задал: Исаак Моисеевич (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: sir henry
Здравствуйте, Исаак Моисеевич!
Можно и по этой книге. В любом случае, будет это Фленов или другой автор, изучать нужно крайне вдумчиво и понимать, что Вы делаете.
На счет дезинформации - это кто-то Вас дезинформировал. :) В любой книге встречаются ошибки и опечатки, т.к. здесь многое зависит от редактора. Но откровенная дезинформация, это уже слишком. Все таки технические книги покупают люди логически мыслящие и могущие проверить те или иные сведения изложенные в книге. А книгу с технической дезинформацией просто не будут покупать, слухи распространяются быстро. :)
Скачать книгу попробуйте здесь:
http://www.nightcity.70mb.ru/delphi.html
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 21.05.2007, 06:56
Оценка за ответ: 5

Отвечает: Архангельский Андрей Германович
Здравствуйте, Исаак Моисеевич!
Я бы не стал.
ЕСть более уважаемые руководства и специалисты, например,
Марко Кэнту "Дельфи для профессионалов" (по версиям)
Ксавье Пачеко, Стив Тексейра "Дельфи - руководство разработчика"

Эта пара дает 95% всей необходимой информации
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 21.05.2007, 09:52
Оценка за ответ: 5

Отвечает: Const
Здравствуйте, Исаак Моисеевич!

Посмотрите здесь: librus.ru. Тут есть ссылки. Просто огромнейшая база книг. Сам я скачал почти всё из раздела "Программирование".
НО: Требуется регистрация. Хотя, думаю, для Вас это не проблема.
Ответ отправил: Const (статус: 1-ый класс)
Ответ отправлен: 21.05.2007, 14:02
Оценка за ответ: 4


Вопрос № 87.898
Добрый день!
Помогите решить один вопрос.
Есть страничка в интернете. Надо прочитать html-код документа и после обработки сохранить его на компьютере.
Как сохранить это все понятно, встает вопрос как обратиться к документу и увидеть его html - код. Какие компаненты для этого надо использывать?
Для примера надо узнать, прочитать код документа по адресу: www.allrx.ru/123.html
Заренее спасибо всем кто ответит.
Отправлен: 21.05.2007, 12:28
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Чрнавин Е. А.
Здравствуйте, AllexZ!
Компонент NMHTTP инкапсулирует в себе методы и свойства, которые обеспечивают клиент-серверное взаимодействие с использованием протокола HTTP. Данный компонент может применяться, когда нужно получать данные с сервера, минуя браузер. Кроме того, он поддерживает расширенные механизмы обмена информацией, позволяющие сохранять файлы на сервере без использования FTP-протокола.
Существует два основных режима работы компонента: когда получаемая информация автоматически записывается в указанные файлы, или содержится в соответствующих полях.

Свойство Body -> Содержит получаемый документ. Если параметр inputFileMode этого свойства установлен в true, то вместо тела сообщения в нем должно находиться имя файла, в котором сохраняются получаемые данные

Свойство InputFileMode -> Определяет режим работы компонента при получении данных. Если установлено значение true, то получаемая информация помещается в файлы, имена которых указаны в свойствах Body и Header. В противном случае, указанные свойства содержат сами полученные данные
Host -> Содержит IP-адрес или DNS имя сервера
Port -> Указывает номер порта, на котором работает Web-сервер
Методы:
Connect -> Устанавливает соединение с сервером
Get -> Отправляет на сервер запрос на получение документа

Чтобы запросить у сервера данные, необходимо прежде всего заполнить параметры используемого сервера — IP-адрес или DNS имя и порт, а затем вызвать метод connect. Как правило, Web-службы работают на порту с номером 80. Если требуется сразу сохранить в файле полученные данные, минуя непосредственно этап их анализа и обработки, то следует установить поле inputFiieMode в значение true. Кроме того, до запроса документа в поле Body задается имя файла, в который этим компонентом будет помешаться полученная информация. В случае, когда сообщение будет использовано сразу, поле inputFiieMode устанавливается в значение false. Тогда после выполнения запроса в свойстве Body будет находиться полученный документ.
Для получения документа необходимо послать на сервер команду его отправки. Простейшим вариантом реализации этого, является обращение к методу Get. Его вызов требует указание единственного параметра — URL документа. Если запрашивается динамическое содержимое, генерируемое серверным модулем, то может потребоваться указание параметров. Разумеется, при этом серверный модуль должен использовать Get-метод получения клиентских данных.


Ответ отправил: Чрнавин Е. А. (статус: 1-ый класс)
Ответ отправлен: 21.05.2007, 13:02
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо за такой подробный ответ. Я узнал все что мне нужно.

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

При активном соединении с Internet, Вам достаточно будет использовать компоненте TWebBrowser (вкладка Internet), чтобы загрузить нужную страницу по адресу, для этого вполне достаточно проделать такую операцию:

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('www.ya.ru');//загружаем инрернет-страницу по адресу.
end;


И далее использовать функции которые описаны в приложении, например можно это организовать так:

procedure TForm1.Button2Click(Sender: TObject);
begin
WB_GetHTMLCode(Webbrowser1, Memo1.Lines);
WB_SaveHTMLCode(Webbrowser1, 'html.txt');
end;


Данный код выводит html-код в объект Memo1, а также сохраняет html-код в файл html.txt.

Также рекомендую Вам прочитать статьи по теме (смотрите тему "Браузер") расположенные на DelphiWorld.

Good Luck!!!

Приложение:

---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.

Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 21.05.2007, 15:59
Оценка за ответ: 5
Комментарий оценки:
Спасибо за совет. За примеры. Поэкспереминтируем попробуем. Это то что мне надо.

Отвечает: Elpher2006
Здравствуйте, AllexZ! Открывайте HTML - документ как обычный текст, например в Memo, и увидите его HTML - код.

---------
Не делай другим того, чего сам не хочешь испытать!
Ответ отправил: Elpher2006 (статус: 1-ый класс)
Ответ отправлен: 25.05.2007, 06:25


Вопрос № 87.911
Здравствуйте. Есть такая проблема. Приложение под dos, на текущий момент сохранился только exe. Как запустить его из под Delphi 7, я знаю. Как реализовать введение 2 параметров а именно входного файла,и выходного файла. В рамках указанной версии Delphi для данного консольного приложения.
Отправлен: 21.05.2007, 14:16
Вопрос задал: Зыков Михаил Евгеньевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: PGM
Здравствуйте, Зыков Михаил Евгеньевич!

Полагаю также, как это делается и под DOS: appdos.exe <input.txt >output.txt

Т.е. к примеру, если пользуетесь ShellExecute то так:
ShellExecute(0, 'open', 'appdos.exe', '<input.txt >output.txt', nil, SW_SHOW);
Ответ отправил: PGM (статус: 7-ой класс)
Ответ отправлен: 21.05.2007, 14:40
Оценка за ответ: 3
Комментарий оценки:
К сожалению там именно вводить входной и выходной файл нужно. И указание их параметрами не помогает.

Отвечает: Виктор Пырлик
Здравствуйте, Зыков Михаил Евгеньевич!
Не думаю, что то, что вы хотите получить удасться сделать. По крайней мере, уж не средствами Delphi это точно - это фактически, надо изменить скомпилированный код программы - а это очень не тривиальная задача. Delphi это среда разработки а не рэинжениринга.

---------
Надо пребывать господа, пребывать! Иначе ничего не получится!
Ответ отправил: Виктор Пырлик (статус: 3-ий класс)
Ответ отправлен: 21.05.2007, 21:25


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное