Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4

Модерирует : ShIvADeSt

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
звуковые файлы хранятся в blob-ах (WAV/.MP3/etc). как мне не сохраняя у пользователя на компьютере проиграть файл?

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 08:49 07-07-2008
Granmer



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
neznayka3
Может сохранить звук в поток (SaveToStream)? И в плеер грузить уже из потока (LoadFromStream).

Всего записей: 236 | Зарегистр. 20-08-2003 | Отправлено: 09:06 07-07-2008
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Granmer
стандартный TMediaPlayer не работает с потоками.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 10:27 07-07-2008
antonn2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
зато sndPlaySound() работает...

Всего записей: 96 | Зарегистр. 13-11-2006 | Отправлено: 21:58 09-07-2008
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
antonn2
Тогда уже PlaySound(), sndPlaySound() живет для обратной совместимости, вот только она не умеет ничего кроме WAV играть, а вопросе было .MP3/etc

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 07:54 10-07-2008
LediB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Нужен срочный и правильный ответ. Поправляю программу для заполнения налоговой декларации. Связи с человеком, который ее написал, нет. Написана она в DELPHI, а таблицы создаются в XML. Какие числовые типы есть в XML? И как вообше можно вывести число 54.63 в виде: 54-.63-------------?

Всего записей: 1 | Зарегистр. 10-07-2008 | Отправлено: 10:49 10-07-2008
Kilich



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LediB
А не мог бы ты выложить исходники программы ...
любопытно глянуть

Всего записей: 267 | Зарегистр. 18-09-2006 | Отправлено: 16:10 10-07-2008 | Исправлено: Kilich, 16:11 10-07-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эм, тупой конечно вопрос у меня, но все же... Итак, имеем директорию в котрой находится наш файл и директория Skins. В директории Skins находятся остальные директории - названия папок для скинов. Так вот необходимо получить список этих папок в директории Skins. Код:
 

Код:
 
function ScanSkinDirs(PathDir : String) : Boolean;
var
  FindData : TWin32FindData;
  FindHandle : THandle;
  Directory : String;
begin
  FindHandle := FindFirstFile(PChar(PathDir + '*'), FindData);
  try
  if FindHandle <> INVALID_HANDLE_VALUE then
    repeat
      if Ord(FindData.cFileName[0]) <> 46 then
        begin
          if (FindData.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY) then
            begin
              ScanSkinDirs(PathDir + FindData.cFileName + '\');
              Directory := StringReplace(PChar(PathDir + FindData.cFileName), PathDir, '');
              SendMessage(GetDlgItem(hTab, ID_CMBX_SKIN), CB_ADDSTRING, 0, Integer(PChar(Directory)));
            end;
        end;
    until
      Windows.FindNextFile(FindHandle, FindData) = FALSE;
  finally
    Windows.FindClose(FindHandle);
  end;
  Result := TRUE;
end;
 

 
Ну и begin...

Код:
 
GetAppPath := ExtractFilePath(ParamStr(0));
ScanSkinDirs(GetAppPath + '\' + 'Skins');
 

 
Собственно непонятно почему добавляется только папка Skins, а не ее папки.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 03:07 11-07-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988
а чуть чуть дебагером пройтись
итак :

Код:
  FindHandle := FindFirstFile(PChar(PathDir + '\*.*'), FindData);
  try
  if FindHandle <> INVALID_HANDLE_VALUE then
    repeat
      if Ord(FindData.cFileName[0]) <> 46 then
        begin
          if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=FILE_ATTRIBUTE_DIRECTORY then
            begin
              ScanSkinDirs(PathDir + '\'+ FindData.cFileName);
              Directory := StringReplace(PChar(PathDir + FindData.cFileName), PathDir, '', [rfReplaceAll]);
              SendMessage(GetDlgItem(hTab, ID_CMBX_SKIN), CB_ADDSTRING, 0, Integer(PChar(Directory)));
            end;
        end;
    until
      Windows.FindNextFile(FindHandle, FindData) = FALSE;
  finally
    Windows.FindClose(FindHandle);
  end;
  Result := TRUE;
 
 
и ScanSkinDirs(GetAppPath + 'Skins');

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 08:08 11-07-2008
Dimoniusis



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988 FindData.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY <- вот тут ошибка. FindData.dwFileAttributes имеет в себе несколько флагов, не только FILE_ATTRIBUTE_DIRECTORY. Правильно проверять:
 
(FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=FILE_ATTRIBUTE_DIRECTORY

Всего записей: 4134 | Зарегистр. 18-10-2005 | Отправлено: 10:14 11-07-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dimoniusis
посмотри пост выше.
там не только эта ошибка

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 10:37 11-07-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо вам. Ура.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 11:01 11-07-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ммм... Еще вопросик.
http://webdrive.avtograd.ru/Download/Explorer/Download/BitBtnNonVCL.rar
 
Полазил по инету, нашел примерчик, подизменил для своих нужд. Этот аналог BitBtn VCL только без VCL грузим картинку на кнопку и все со стилем без потери манифеста. Все бы ничего, но память отжирается каждый раз. Связано вероятно с имэйджлистом. Как его корректнее уничтожать я не понял. И ведь прилично память жрет при открытии/закрытии диалога - примерно 100 кб. Там есть ImageList_Destroy. Пытался всунуть еще на всяий случай ДелетеОбъект. Вот этот ньюанс немного непонятен.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 15:38 12-07-2008 | Исправлено: Maks150988, 15:42 12-07-2008
RSoFT1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто подскажет способ ОЧЕНЬ БЫСТРО получить список файлов (с полным путем) в каталоге (и всех его подкаталогах). FindFirstFile и FindNextFile НЕ ПРЕДЛАГАТЬ - их быстродействие недостаточно.

Всего записей: 34 | Зарегистр. 19-05-2007 | Отправлено: 17:31 14-07-2008
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а на сколько "недостаточно"? вообще то эти функции являются просто прослойками к АПИ, так что быстрее можно, но это проценты.
Может проще сразу пробежаться, сделать список. а потом только отлавливать добавленные/удалённые файлы?
 
А в целом, сильно ускорить не получиться - упираемся в то, что скорость доступа к жесткому диску конечна. Да и это всё сильно зависит от того, какая файловая система.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 17:51 14-07-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RSoFT1978
если есть listbox
 var
   D: PChar;
 begin
    D := 'C:\*.*';
    ListBox2.Perform(LB_DIR,
                     DDL_ARCHIVE +
                     DDL_DIRECTORY +
                     DDL_EXCLUSIVE +
                     DDL_HIDDEN +
                     DDL_READONLY +
                     DDL_READWRITE +
                     DDL_SYSTEM,
                     Integer(d));

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 10:33 15-07-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Работаю с текстовым файлом для его разбора на нужные строки. В этом файле строки расположны по нужным позициям. При чтении файла строка за строкой читается. Так какие стили нужно применить к ListView чтобы по мере чтения эти строки заносились каждая в следующую строку, а не разбрасывалась по списку в этом элементе?
Текущие стили: LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_CHILD | WS_VISIBLE | WS_BORDER. Если LVS_SORTASCENDING заменить или убрать, список еще более разбросанный. Чего надо, непонятно вообще... С ListBox все проще, а тут вразнобой как-будто строки добавляются в список.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 19:07 15-07-2008 | Исправлено: Maks150988, 20:19 15-07-2008
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
LVS_SORTASCENDING

Maks150988
прочитай что это за стиль (подсказка - сортировка)

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 00:27 16-07-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да че йпонятно что сортировка. Что LVS_SORTASCENDING или LVS&#8203;_SORTDESCENDING использовал - бестолку чего-то...

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 00:42 16-07-2008
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988
Если не трудно, то дай пример строки которую читаешь и скрин как в ЛистВью пишется (заодно код как пишешь в листвью).

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 06:22 16-07-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru