Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перехват инфы из консольки


MTsv DN ©   (2008-04-07 21:53:00) 

Всем привет...

Вопрос скорей всего надо было в раздел API написать, просто семпл на KOL...да и эта ветка роднее как-то ;)

Вот проект wav2flac: http://ifolder.ru/6060462
Загвоздка в следующем. Не могу во время конвертации считывать инфу из StdOut консольки flac.exe. Вот заканчивается конвертация и весь StdOut доступен, а во время работы нет... Проект простой, от Вас требуется только добавить WAV-файл (44.1kHz х 16bits х 2ch. Лучше больше 30 сек, чтобы StdOut несколько раз обновлялся)...

Помогите, у кого есть какие идеи... Как считывать StdOut во время работы консольки?..
Спасибо...


Дмитрий К   (2008-04-08 13:51:00) [1]

Возможное решение:
http://www.codeproject.com/KB/threads/RTconsole.aspx


MTsv DN   (2008-04-08 10:12:00) [2]

Я та понимаю, что у меня каких-то прав не хватает... Но вот каких?


MTsv DN   (2008-04-08 10:05:00) [3]

> А если считывать по 1 символу?
А разница-то по 1024 или по 1??? Смысл в том, что пока процесс конвертации не закончится:
   PeekNamedPipe(read_stdout, @buf[0], SizeOf(buf), @bread, @avail, nil);
   //Проверяем, есть ли данные для чтения в stdout
   if bread <> 0 then

bread - равен 0. И только потом я получаю доступ к StdOut.

P.S. Попробовал и по 1 байту. Без разницы.


Дмитрий К   (2008-04-08 09:38:00) [4]

А если считывать по 1 символу?


MTsv DN   (2008-04-08 09:15:00) [5]

> wav2flac в отдельном потоке
Разнес в 2 потока. 1ый - CreateProcess; 2ой - считывание из StdOut. Разницы нет. Сначала происходит конвертация, потом заполняется Memo. Могу выложить и этот вариант...


MTsv DN   (2008-04-08 09:03:00) [6]

> wav2flac в отдельном потоке
Нет в одном. Просто Гугл мне пример нашел на С, а я его перегнал в паскаль... Кстати, проект я приложил, можно было и посмотреть. Весит он всего 99 кило (вместе с flac.exe)


mdw   (2008-04-07 23:32:00) [7]

Упс. Не догнал сперва, тебе же наоборот в flac нужно. Предыдущий пост отменяется.


mdw   (2008-04-07 23:30:00) [8]

Кстати, могу ошибаться, но на вскидку для BASS вроде есть поддержка flac, и там же есть и запись в wav, а по качеству BASS очень даже (по крайней мере лучше пресловутого винампа)... Посмотри, может подойдет? Я с полгода назад под КОЛ даже оболочку наваял, по мелочам не доделал слегка правда (типа поддержка плагинов винампа). Если нужно кину.


mdw   (2008-04-07 23:13:00) [9]

Хорошая реализация есть в JVCL (Пример: при установке ловится то что компилятор выдает и преобразуется в аналог окна компиляции делфи). Могу кинуть пример оболочки для делфиского компилятора (я так новые версии KOL+все библиотеки собираю), оно на кол написано. Если нужно свистни завтра в аску после 11, раньше не буду на работе (детеныш заболел, с утра занимаюсь обеспечением лекарствами и другими необходимыми  вещами;) ).


Дмитрий К   (2008-04-07 22:52:00) [10]

wav2flac в отдельном потоке


Наверх

Титульная страница Поиск, карта сайта Написать письмо