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

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


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

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

Выпуск № 830
от 04.06.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 466, Экспертов: 74
В номере:Вопросов: 9, Ответов: 11


Вопрос № 89180: Подскажите плз. как получить список файлов в папке и закинуть их в ListBox&...
Вопрос № 89187: Как в DBGrid сделать окантовку для ячейки во время выполнения программы...
Вопрос № 89214: Можно ли на Delphi реализовать програмку, чтоб удалено можно было следить за температурой проца, винта и т.д. По принцыпу клиент-сервер? Типа на серваке следить за состоянием температуры других компов...
Вопрос № 89226: Здраствуйте эксперты... При работе с tChart я столкнулся со следующей проблемой ... Есть код, представленный в приложении, который строит и выводит на экран график по значениям из кокретного столбца (ACol) таблицы StringGrid (sgCalc)... Самое...
Вопрос № 89259: Добрый день. Возникла необходимость обрабатывать файлы програмно, которые приходят по электронки. Почтовая программа The Bat. Все письма складываются в одну папку. К каждому письму прикреплен текстовый файл. Подскажите как програмно откыть фа...
Вопрос № 89260: Как запретить выполнение события Paint?...
Вопрос № 89266: Уважаемые эксперты у меня такой вопрос: как сделать так чтобы отдельные ветки TreeView были разного цвета? И я понимаю что это второй вопрос но если не трудно подскажите как связать TreeView и PageControl только подоступнее пожалуйста. Заранее спасиб...
Вопрос № 89291: Дайте алгоритм шифрования/дешифрования текста....
Вопрос № 89292: Не подскажите,как сделать так, чтобы при двойном щелчке на строке listbox'a она меняла цвет.пишу музыкальный проигрыватель, нужно,чтобы видеть, какая песня проигрывается в данный момент....

Вопрос № 89.180
Подскажите плз. как получить список файлов в папке и закинуть их в ListBox&
Отправлен: 29.05.2007, 23:13
Вопрос задал: Vovan_32 (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Coupler
Здравствуйте, Vovan_32!
Пример в приложении заносит в ListBox с именем lb все файлы (FFileName := ('*.*'));из корня диска с. Если Вам не нужны скрытые, системные и ReadOnly файлы, то уберите в строке FindResult := FindFirst(APath + FFileName, faAnyFile + faHidden + faSysFile + faReadOnly, FSearchRec);
faHidden, faSysFile, faReadOnly соответственно.

Приложение:

Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 30.05.2007, 05:03

Отвечает: sir henry
Здравствуйте, Vovan_32!
Можно обойтись и более простыми средствами:
кидаете на форму компонент FileListBox со вкладки Win3.1, указываете в свойстве Mask из какой папки хотите получить файлы (Mask:='c:*.*") и любуетесь результатом.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 30.05.2007, 06:29


Вопрос № 89.187
Как в DBGrid сделать окантовку для ячейки во время выполнения программы
Отправлен: 29.05.2007, 23:52
Вопрос задал: Gsa (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Вадим Викторович Витомский
Здравствуйте, Gsa!
Используйте событие OnDrawColumnCell компонента DBGrid.
Если Вам необходимо вывести данные нестандартно (например, добавить картинку к тексту), тогда используйте событие OnDrawDataCell.
---------
Не так страшен черт, как его чертовка!
Ответ отправил: Вадим Викторович Витомский (статус: 9-ый класс)
Ответ отправлен: 30.05.2007, 09:39
Оценка за ответ: 5
Комментарий оценки:
Спасибо это то что надо


Вопрос № 89.214
Можно ли на Delphi реализовать програмку, чтоб удалено можно было следить за температурой проца, винта и т.д. По принцыпу клиент-сервер? Типа на серваке следить за состоянием температуры других компов
Отправлен: 30.05.2007, 08:59
Вопрос задал: [C]RaSh (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Кэр Лаэда
Здравствуйте, [C]RaSh!
Ну во первых для реализации данной программы нужно 2 вещи
1) это создать клиент серверное приложение которое передавала бы данные от клиентов на сервер.
С этим в Delphi проблем нет, для того чтобы вникнуть в суть можете прочитать статью
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1021
2) создать приложение которое будет отслеживать нужную вам информацию и отсылать на сервер, для этого почитайте тут
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=698

Удачи
Ответ отправил: Кэр Лаэда (статус: 6-ой класс)
Ответ отправлен: 30.05.2007, 12:38


Вопрос № 89.226
Здраствуйте эксперты... При работе с tChart я столкнулся со следующей проблемой ...
Есть код, представленный в приложении, который строит и выводит на экран график по значениям из кокретного столбца (ACol) таблицы StringGrid (sgCalc)...
Самое интересное начинается, когда выполняется этот код...
Для некоторых столбцов таблицы график выводится правильно и вообще выводится, а для некоторых - либо висит вся программа, либо выдает ошибку "Access Violetion", либо выдает ошибку "Invalid floating point operation"...
Вообще непонятно почему не работает для одних и тех же столбцов... Может вы подскажите?

Приложение:

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

Отвечает: Чрнавин Е. А.
Здравствуйте, Зверев Макс!
Вероятно вместо типа integer, подставляется дробный тип.
Ответ отправил: Чрнавин Е. А. (статус: 1-ый класс)
Ответ отправлен: 30.05.2007, 11:53


Вопрос № 89.259
Добрый день.
Возникла необходимость обрабатывать файлы програмно, которые приходят по электронки.
Почтовая программа The Bat. Все письма складываются в одну папку. К каждому письму прикреплен текстовый файл. Подскажите как програмно откыть файл и обработать его.
На сколько мне известно что на жестком диске тоже есть отдельная папка под все эти письма. Может попробывать от туда их вытащить, но как это сделать? Может есть еще какие-то еще способы?
Заранее всем спасибо.
Отправлен: 30.05.2007, 13:43
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, AllexZ!
В своё время мне приходилось обрабатывать письма, но я делал немного по-другому. Можно, конечно, открыть файлы *.TBI и прочитать письма оттуда, но, на мой взгляд, проще такой способ. Нужные письма экспортируем средствами самого The Bat! в файлы *.eml (Инструменты - Экспортировать письма). А дальше можно работать с письмами как с обычными файлами - AssignFile, Reset, Readln... Или просто загрузить в Memo: Memo.Lines.LoadFromFile('...') Разделителем между служебными заголовками письма и содержанием (текстом) является пустая строка. Прикреплённые файлы кодируются с помощью MIME (или UU) - всё это легко раскодируется. Думаю, необходимый толчок есть. Дальше - по ситуации.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 30.05.2007, 19:10
Оценка за ответ: 5
Комментарий оценки:
Спасибо за совет. Возможно я не совсем уточнил, мне надо чтобы все приходило автоматически.


Вопрос № 89.260
Как запретить выполнение события Paint?
Отправлен: 30.05.2007, 14:04
Вопрос задал: NNTSeM (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Вадим Викторович Витомский
Здравствуйте, NNTSeM!
Самый логичный вариант - написать собственный обработчик OnPaint, в котором просто ничего не выполнять. Как вариант можно перехватить соответствующее сообщение.
---------
Не так страшен черт, как его чертовка!
Ответ отправил: Вадим Викторович Витомский (статус: 9-ый класс)
Ответ отправлен: 30.05.2007, 14:13


Вопрос № 89.266
Уважаемые эксперты у меня такой вопрос: как сделать так чтобы отдельные ветки TreeView были разного цвета? И я понимаю что это второй вопрос но если не трудно подскажите как связать TreeView и PageControl только подоступнее пожалуйста. Заранее спасибо
Отправлен: 30.05.2007, 14:45
Вопрос задал: Romiros (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сарумян
Здравствуйте, Romiros!

2)
*********************************************************
На форме стоит TreeView, PageControl и кнопка. При смене страницы - меняется текущий узел, а при смене узла меняется страница.
///////////////////////////////////////////////////////////////////////////////////////////
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
PageControl1: TPageControl;
procedure Button1Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure PageControl1Change(Sender: TObject);
private
procedure addItem(t: string);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.addItem(t: string);
var
TabSheet: TTabSheet;
Node: TTreenode;
begin
TabSheet := TTabSheet.Create(Self);
TabSheet.PageControl := PageControl1;
TabSheet.caption := t;
Node := TreeView1.Items.Add(nil, t);
Node.data := TabSheet; //ассоциируем узел с страницей
TabSheet.tag := Integer(Node); // ассоциируем страницу с узлом

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TreeView1.HideSelection := false;
addItem('Item1');
addItem('Item2');
addItem('Item3');
addItem('Item4');
end;

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
PageControl1.ActivePage := TTabSheet(Node.data);
// Доступ к ассоциированной странице через узел
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
TreeView1.Selected := TTreeNode(Pointer(PageControl1.ActivePage.tag));
// Доступ к ассоциированному узлу через страницу
end;

end.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
***********************************************************************
1)

Попробуйте так...

procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if cdsSelected in State then
Sender.Canvas.Font.Style := Sender.Canvas.Font.color(***);
end;


---------
Пришел, увидел, развернулся и ушел...
Ответ отправил: Сарумян (статус: 6-ой класс)
Ответ отправлен: 30.05.2007, 14:58

Отвечает: Архангельский Андрей Германович
Здравствуйте, Romiros!

1) В приложении пример из работающего проекта
2) Непонятно - что значит связать TreeView и PageControl?
Кладешь на форму PageControl, создаешь необходимое количество страниц, на нужную страницу кладешь TreeView

Приложение:

---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО

Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 30.05.2007, 20:42


Вопрос № 89.291
Дайте алгоритм шифрования/дешифрования текста.
Отправлен: 30.05.2007, 17:05
Вопрос задал: Коваленко Дмитро Олександрович (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Коваленко Дмитро Олександрович!

Самый простой на мой взгляд алгоритм шифрование, это просто берем и делаем смещение по таблице символов на определенное число вправо либо влево, тем самым каждый символ текста перейдет в новый символ в зависимости от смещения. Для дешифрования данную операцию нужно произвести с точностью до наоборот (код такого шифрования смотрите в приложении).

Если Вам необходимо что-то более серьезное и крипто устойчивое, то для начала прочитайте ряд статей по такой ссылке пункт "Шифрование".
Список статей:
* 32-битный CRC
* 64-битное кодирование
* 64-битное кодирование 2
* 64-битное кодирование 3
* 64-битное кодирование 4
* Base64 для непродвинутых
* CryptoAPI для шифрования файлов случайными ключами
* HTTP кодирование строки
* PGPSDK - легкий путь к шифрованию
* URL кодирование строки
* UUE кодирование
* Алгоритм 128-битного шифрования (TEA)
* Алгоритм LZ-78
* Алгоритм шифрование XOR
* Алгоритм шифрования DES
* Быстрый алгоритм подсчета CRC32
* Вшивание информации в растровые рисунки
* Генерация 96-битного ключа для шифрования с помощью Encrypt
* Зашифровать и расшифровать строку
* Использование стенографии
* Как вычислить CRC (контрольную сумму) для файла
* Как вычислить CRC-32 для файла
* Как реализовать методы криптографической защиты информации
* Как шифровать файлы при помощи windows NTFS API
* Кодирование и раскодирование паролей
* Кодирование по спирали
* Кодирование русского текста методом сдвига
* Кодирование с помощью решетки
* Кодирование файлов
* Кодировка полиалфавитным шифром Вигeнера - xor кодировка
* Криптоалгоритм DES
* Методы криптографической защиты информации Windows
* Методы криптографической защиты информации Windows 2
* Модуль для IDEA шифрования
* Модуль для RC5 шифрования
* Модуль для RC6 шифрования
* Модуль для подсчета CRC64
* Модуль для подсчета хеш-суммм с помощью MD5
* Повышение криптоустойчивости шифрования текста любым алгоритмом
* Пример вычисления контрольной суммы (CRC32)
* Пример шифрования данных
* Пример шифрования текста
* Простое симметричное шифрование строк
* Простой пример XOR шифрования
* Простой расчет контрольной суммы
* Процедуры кодирования и декодирования Base64
* Расчёт контрольной суммы файла CRC-32 (Доработано)
* Создание банковского ключа
* Способ шифрования и дешифрования пароля
* Шифрование Bitmap
* Шифрование и дешифрование текстов по принципу S-Coder со скрытым ключом
* Шифрование исполняемого файла
* Шифрование строки InString, с возможностью корректного сохранения результата шифрования в TEXT-FILE
* Шифрование текста
* Шифрование текста 2
* Шифрование текста по введенному паролю
* Шифрование текста по ключевым числам
* Шифрование файлов, строк и памяти


Good Luck!!!

Приложение:

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

Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 30.05.2007, 18:21
Оценка за ответ: 5


Вопрос № 89.292
Не подскажите,как сделать так, чтобы при двойном щелчке на строке listbox'a она меняла цвет.пишу музыкальный проигрыватель, нужно,чтобы видеть, какая песня проигрывается в данный момент.
Отправлен: 30.05.2007, 17:06
Вопрос задал: SunnyLab (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Coupler
Здравствуйте, SunnyLab!
Пример в приложении (строка выделяется красным цветом). Установите значение свойства ListBox1.Style равным lbOwnerDrawFixed.

Приложение:

Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 30.05.2007, 17:41
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое за помошь,очень помогло.Уже месяц бьюсь


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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

В избранное