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

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


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

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

Выпуск № 694
от 29.12.2006, 13:35

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


Вопрос № 68263: Профессионалы! Выручайте. Как сделать, чтобы я со своего компьютера мог узнать конфигурация компьютеров в сети. Можно типа клиент-сервер. Заранее спасибо....
Вопрос № 68308: Вопросы бывалого чайника: 1)Как вывести в StatusBar значение строки и символа в строке RichEdit? 2)Можно ли в RichEdit`e сделать строки бесконечно длинными? Заранее спасибо!!! ...
Вопрос № 68317: Как называется процедура, которая отбражает все содержимое определенной директории или диска? (Что-то вроди dir в COMMAND.COM или FindFirst В Паскале)....
Вопрос № 68322: Здравствуйте, уважаемые эксперты! Нужно сделать программу, которая переводит текст в звуковой файл (WAV к примеру). И как можно скорее. То есть я так думаю нужно использовать MS Speech? Вроде качать для этого много нужно с сайта, а у меня модем.<...
Вопрос № 68359: Здравствуйте, уважаемые эксперты воос следующего характера. Автоопределение флеш карты в карт ридере, т.е. моей программе необходимо поймать момент когда вставлена карта. Перепробовал кучу всего WM_*** не реагируют на карту. Взяв RegMon видно...

Вопрос № 68.263
Профессионалы! Выручайте.
Как сделать, чтобы я со своего компьютера мог узнать конфигурация компьютеров в сети. Можно типа клиент-сервер. Заранее спасибо.
Отправлен: 23.12.2006, 13:35
Вопрос задал: Костенко Игорь Викторович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: KiberZero
Здравствуйте, Костенко Игорь Викторович!

Почтите гнигу М.Фленова "Delphi глазами хакера" -
http://c-books.info/books/load.php?ty=delphi.

Удачи!
Ответ отправил: KiberZero (статус: 7-ой класс)
Ответ отправлен: 23.12.2006, 20:54

Отвечает: Mo-skin
Здравствуйте, Костенко Игорь Викторович!
Лично я использую CheckCFG (http://checkcfg.narod.ru)
Также советую посмотреть WmiInfo (http://kladovka.net.ru/index.cgi?pid=list&rid=251 ), но работает только на WinNT+ (Служба wmi)
---------
Чем больше женщину мы меньше, тем больше меньше мы ее!
Ответ отправил: Mo-skin (статус: 3-ий класс)
Ответ отправлен: 24.12.2006, 01:52
Оценка за ответ: 4


Вопрос № 68.308
Вопросы бывалого чайника:
1)Как вывести в StatusBar значение строки и символа в строке RichEdit?
2)Можно ли в RichEdit`e сделать строки бесконечно длинными?
Заранее спасибо!!!
Отправлен: 23.12.2006, 21:05
Вопрос задал: Ilyxa09 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: KiberZero
Здравствуйте, Ilyxa09!

Смотрите пример.

самый простой вариант:

procedure TForm1.Button1Click(Sender: TObject);
begin
StatusBar1.Panels[0].Text:=RichEdit1.Lines.Text;
end;

Возможно применение массивов,если вам нужно конкретная строка или символ строки,например,

mas=array of String;
var
Form1: TForm1;
a:mas;
n:Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
n:=RichEdit1.Lines.Count;
SetLength(a,n);
for i:=0 to n-1 do
a[i]:=RichEdit1.Lines[i-1];
StatusBar1.Panels[0].Text:=RichEdit1.Lines.Text[10]; //выводим 10 символ строки
end;

По второй части вопроса:

property SelLength: Integer; (Задает длину в символах выделенной части текста)
Смотрите в Helpe Delphi.

Удачи!

Ответ отправил: KiberZero (статус: 7-ой класс)
Ответ отправлен: 23.12.2006, 23:22

Отвечает: monah
Здравствуйте, Ilyxa09!
Добалю.
StatusBar1.Panel[0].texst:=RichEdit1.SelText;
Предварительно на статус баре необходимо создать хотя бы одну панель.
---------
festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 24.12.2006, 06:24

Отвечает: VaNuk
Здравствуйте, Ilyxa09!
statusbar:=richedit.items.strings[richedit.itemindex]; наверно так
Ответ отправил: VaNuk (статус: 3-ий класс)
Ответ отправлен: 24.12.2006, 16:53


Вопрос № 68.317
Как называется процедура, которая отбражает все содержимое определенной директории или диска? (Что-то вроди dir в COMMAND.COM или FindFirst В Паскале).
Отправлен: 23.12.2006, 21:53
Вопрос задал: Bingo (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: KiberZero
Здравствуйте, Bingo!

Процедуры и функции работы с файлами

Function FExpand(Name : PathStr): PathStr
Name - имя файла Получив имя файла, расширяет его до полностью определенного имени (диск, директория и расширение)

Function FSearch(Name : PathStr; OirList: string): PathStr
Name - имя файла; DirList - список путей для поиска; результат - найденный путь к файлу Ищет файл в заданном списке директорий

Function FSplit(Path: PathStr; var Dir: DirStr; var Name: NameStr; var Ext: ExtStr);
Path – имя файла с полным путем;
Dir – директория; Name – имя файла; Ext - расширение Разделяет полное имя файла на 3 части (директория, имя файла, расширение)

Procedure FindFirst(Path : String; Attr: word; var F: TSearchRec);
Path – путь для поиска с маской; Attr- атрибуты искомых файлов; F- запись типа TsearchRec с результатами поиска Ищет в заданном каталоге первый файл, соответствующий заданной спецификации

Procedure FindNext(var F : TSearchRec);
F – запись типа TsearchRec с результатами поиска Ищет следующие файлы, удовлетворяющиеспецификации, заданной в процедуре FindFirst

Procedure GetFAttr(var F, var Attr: word);
F - переменная файлового типа; Attr - код атрибутов файла Определяет атрибуты файла

Procedure SetFAttr(var R Attr: word);
F - переменная файлового типа; Attr - код атрибутов файла Устанавливает атрибуты файла
Посмотрите ещё некоторые описания и исходники здесь http://kladovka.net.ru/index.cgi?pid=article&rid=1.

Удачи!
Ответ отправил: KiberZero (статус: 7-ой класс)
Ответ отправлен: 24.12.2006, 00:33
Оценка за ответ: 5

Отвечает: Mo-skin
Здравствуйте, Bingo!
В дополнение к вышесказанному хоху добавить пример кода,
выводящего в Memo список файлов выбранной директории.

Приложение:

---------
Чем больше женщину мы меньше, тем больше меньше мы ее!

Ответ отправил: Mo-skin (статус: 3-ий класс)
Ответ отправлен: 24.12.2006, 01:26
Оценка за ответ: 5

Отвечает: Bouffon
Здравствуйте, Bingo!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, CustomizeDlg, Grids, StdCtrls;

type
{TSearchRec = record
Time: Integer; // время создания файла
Size: Integer; // размер
Attr: Integer; // атрибуты файла
Name: TFileName; // имя найденого файла
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end; }
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Searc:TSearchRec;
hfindfile,i:integer;
begin

// ищем файл
//запускаем поиск
hFindFile := FindFirst(edit1.Text,faAnyFile,Searc); //проверяеться коректность найденого файла
i:=1;

if hFindFile <> INVALID_HANDLE_VALUE then
//если коректно то запускаеться цикл repeat - until.
repeat
stringgrid1.Cols[0].Strings[i]:=inttostr(i);
stringgrid1.RowCount:=i+1;
stringgrid1.rows[i].Add(Searc.Name);
stringgrid1.rows[i].Add(inttostr(Searc.Size) + ' байт');
stringgrid1.rows[i].Add(formatdatetime('hh:mm:ss',Searc.Time));
stringgrid1.rows[i].Add(inttostr(Searc.attr));
//здесь вписаны операторы которые нужно выполнить.
i:=1+i;
until (FindNext(Searc) <> 0);
FindClose(Searc);
//закрываем поиск
end;
end.

одной процедуры которая бы выполняла dir я не знаю но вот есть ей замена если;
она выдает имя размер файла в stringrid , если тебе нужны только имена то вутри цикла пропиши только stringgrid1.rows[i].Add(Searc.Name);
если нужно в memo1 то memo1.Lines.Add(Searc.Name) ;
TSearchRec = record запись уже забитая в компилятор ее не нужно писать;

Ответ отправил: Bouffon (статус: 1-ый класс)
Ответ отправлен: 24.12.2006, 13:34

Отвечает: Nick_K
Здравствуйте, Bingo!
в Delphi прекрасно работает тот же FindFirst ... FindNext
Ответ отправил: Nick_K (статус: 2-ой класс)
Ответ отправлен: 27.12.2006, 10:49


Вопрос № 68.322
Здравствуйте, уважаемые эксперты!
Нужно сделать программу, которая переводит текст в звуковой файл (WAV к примеру). И как можно скорее. То есть я так думаю нужно использовать MS Speech? Вроде качать для этого много нужно с сайта, а у меня модем.
Что существует такого рода для Delphi?
И можно ли быстро преобразовывать или возможно только в реальном времени. То есть, читает и нужно захватывать этот голос?
Отправлен: 23.12.2006, 22:28
Вопрос задал: Yadovit (статус: 3-ий класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: KiberZero
Здравствуйте, Yadovit!

Посмотрите тут http://www.victrix.breezeline.ru/hitech/index.php?article=804.

Удачи!
Ответ отправил: KiberZero (статус: 7-ой класс)
Ответ отправлен: 24.12.2006, 00:48

Отвечает: VaNuk
Здравствуйте, Yadovit!
В реальном времени прийдеися делать запись !

Ответ отправил: VaNuk (статус: 3-ий класс)
Ответ отправлен: 25.12.2006, 08:47


Вопрос № 68.359
Здравствуйте, уважаемые эксперты воос следующего характера.
Автоопределение флеш карты в карт ридере, т.е. моей программе необходимо поймать момент когда вставлена карта. Перепробовал кучу всего WM_*** не реагируют на карту.
Взяв RegMon видно, что в тот момент когда вставляю карту идет обращение в реестр. Вижу даже, что появился диск J, когда вставляешь карт ридер то появляется 4 доп usb диска, этот 3й.
По этому пути меняется значение Generation Reg_Dword
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MountPoints2\\CPC\\Volume\\{502584d9-7ad8-11db-b443-0001292519dc} когда вставляю либо вытаскиваю флешку.
Но это все логи для одной кары а карт может быть много и все разные.

нашел программу USB Grab, хорошая почти во всем удовлетворяет требованиям, вот только с карт ридером не работает и исходники не компилируются))
Где решение проблемы))?

Приложение:

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

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, василий1!
WinAPI функция без параметров: GetLogicalDrives возвращает число (32 бита, например, Cardinal)
Отслеживая ее изменения, например, по таймеру, можно поймать появление новой буквы диска.
Правда, этот пример будет реагировать не только на кард-ридер, но и на все usb-флэшки.

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

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 25.12.2006, 12:47
Оценка за ответ: 4
Комментарий оценки:
проблеме то не в карт ридере как поймать сам карт ридер понятно)) проблема в самих карточках, когда
вставляешь карту вроде как ничего и не про ;исходит)) это как -ты суслика видишь)? нет? а он есть))


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

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

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

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

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

В избранное