Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2014.03.02;
Скачать: [xml.tar.bz2];

Вниз

Исходники...   Найти похожие ветки 

 
MTsv DN   (2008-10-13 13:33) [0]

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

Вот решил создать топик по обмену наработками. Перефразирую Глеба Жеглова: "Неслыханных кодов не бывает, что-то, где-то, кем-то уже написано..."

Первым, чем хочу поделиться - расширенное использование диалога OpenFiles - выбор не только файлов, но и папок. На паскале в сети ничего не нашел, поэтому пришлось портировать и править код Hojjat Bohlooli...и вот что из этого вышло:
http://ru.uus4u.com/downloads/sources/extended_opendialog.7z
P.S. Делал для Unicode, т.ч. не забудьте подключить UNICODE_CTRLS.
P.P.S. Позже у себя на сайте открою раздел...


 
vampir_infernal   (2008-10-13 13:35) [1]

спасибо за наработки


 
MTsv DN   (2008-10-13 13:45) [2]

На здоровье. Будут еще, просто времени оформлять не хватает...


 
AnarchyMob ©   (2008-10-14 03:36) [3]

А для Win CE этот диалог пойдет (а то я уже собирался сам писать) , сейчас просто времени нет это проверить. Если хотите я свои наработки, в области "системы", выложу. Только я незнаю как здесь файлы прикреплять к сообщениям.


 
Danger ©   (2008-10-14 08:52) [4]


> AnarchyMob ©   (14.10.08 03:36) [3]
> я незнаю как здесь файлы прикреплять к сообщениям.


А никак, файлы здесь не прикрепляются. Просто ссылку выкладывать.


 
MTsv DN   (2008-10-14 14:55) [5]

2 AnarchyMob
Работает ли код в WinCE я не знаю...


 
MTsv DN   (2008-10-14 15:05) [6]

Предлагаю еще одну наработку - конвертер WAV2FLAC.

Файл FLAC.PAS был взят из NewAC. Кодировщик был портирован из "родных" примеров FLAC v.1.2.1b.
http://ru.uus4u.com/downloads/sources/wav2flac.7z

P.S. К сожалению, в примерах умалчивалось как кодировать файлы отличные от 16бит. Как смог, добавил поддержку 8бит, хотя файлы исходными не получаются... WAV файлы 16 бит кодируются норамльно.
P.P.S. Если кто знает как добавить поддержку 8, 24, 32 бит прошу сообщить...


 
MTsv DN   (2008-10-16 17:37) [7]

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

Итак. Все-таки "добил" я этот конвертер. Обновление WAV2FLAC.
http://ru.uus4u.com/downloads/sources/wav2flac.7z

Поддержка:
SampleRate: 22.5/32/44.1/48 kHz
BitRate:       8/16/24
Channels:     1/2


 
MTsv DN   (2008-10-16 19:39) [8]

Ну, и логическим завершением вышесказанного: конвертер FLAC2WAV.
Много кода позаимствовано из NewAC. Исправлен код для 8-битных файлов. Также использован портированный пример из FLAC v.1.2.1b.
http://ru.uus4u.com/downloads/sources/flac2wav.7z

Поддержка:
SampleRate: 22.5/32/44.1/48 kHz
BitRate:       8/16/24
Channels:     1/2


 
MTsv DN   (2008-10-21 11:32) [9]

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

Очередной исходник - WAV Normelizer.

Проект основан на коде Manuel Kasper.
http://ru.uus4u.com/downloads/sources/wav_normalizer.7z

P.S. Поддерживаются 8 и 16 битные WAV файлы...


 
AnarchyMob ©   (2008-10-22 14:08) [10]

Обращаюсь к тебе как к профи в области цифрового звука, не мог бы ты где-нибудь найти исходники ogg декодера (желательно конечно на паскале). Просто хочу написать плейер для КПК, а использовать библиотеки типа fmod не хочу.

P.S.
mp3 декодер у меня есть, и оболочка для плейера тоже уже готова.


 
AnarchyMob ©   (2008-10-22 14:09) [11]

Обращаюсь к тебе как к профи в области цифрового звука, не мог бы ты где-нибудь найти исходники ogg декодера (желательно конечно на паскале). Просто хочу написать плейер для КПК, а использовать библиотеки типа fmod не хочу.

P.S.
mp3 декодер у меня есть, и оболочка для плейера тоже уже готова.


 
MTsv DN   (2008-10-22 14:24) [12]

Есть. Готовлю в эту тему... Через пару дней будут...


 
MTsv DN   (2008-10-22 14:25) [13]

...и wav2ogg, и ogg2wav... Также есть в wav2mp3, на основе "родного" исходника...


 
MTsv DN   (2008-10-22 19:38) [14]

Пожалуйста, конвертер OGG2WAV... Давным-давно нарыл в сети исходник...вот адаптировал для KOL.

http://ru.uus4u.com/downloads/sources/ogg2wav.7z

P.S. Там переменной bits присваивается 16. Для моих нужд этого достаточно, однако можно сделать, чтоб из заголовка OGG файла получала...


 
AnarchyMob ©   (2008-10-22 20:40) [15]

ОГРОМНОЕ СПАСИБО буду разбиратся, я что-то искал в сети что-нибудь по этой теме, но ничего как помню не нашел, неужели я так плохо веду поиск?


 
AnarchyMob ©   (2008-10-22 20:53) [16]

Облом, там библиотеки используются, и об использовании модулей в Win CE я могу забыть, а есть, интересно, эти библиотеки (ogg.dll, vorbis.dll, vorbisenc.dll, vorbisfile.dll) для Win CE, или целый кодек ogg написанный на паскале т.е. с таблицами и прочим и без использования DLL.


 
MTsv DN   (2008-10-23 10:00) [17]


> Облом, там библиотеки используются, и об использовании модулей
> в Win CE я могу забыть, а есть, интересно, эти библиотеки
> (ogg.dll, vorbis.dll, vorbisenc.dll, vorbisfile.dll) для
> Win CE, или целый кодек ogg написанный на паскале т.е. с
> таблицами и прочим и без использования DLL.

http://www.cyanwerks.com/pocketogg/


 
AnarchyMob ©   (2008-10-24 20:01) [18]

Незнаю даже как благодарить, наконец-то я получил что хотел, что ж теперь самое главное, мне предстоит портировать тексты ogglib на Free Pascal, задача конечно нелегкая, но когда-то надо начинать.


 
MTsv DN   (2009-03-27 19:47) [19]

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

Вот решил старую тему поднять. И не только потому что есть, что предложить, а потому что уперся лбом в стену...и нужен свежий взгляд.
Итак:
http://www.sendspace.com/file/ru9zdo

Работа с библиотеками иконок (мультииконки).
Код простой, т.ч. разобраться сложности не составить. Работа из файла отлажена и проверена.

...А теперь проблема... Попытка работы с ресурсом обламалась. Где косячу не вижу в упор. Доступ к IconGroup и счтывание в поток успешно. Заголовок первой иконки вроде верный, однако, на этом все. Думаю, не так обрабатываю ресурс... Но ничего путного придумать не смог... Кто-нить ткните носом в ошибку...


 
SPeller ©   (2009-03-28 02:47) [20]

А я разбирал IconGroup в ресурсах :) В чем именно проблема?


 
MTsv DN   (2009-03-28 09:48) [21]

У меня MAINICON содержит 12 иконок (4 размера для 3 разных битностей).
Мне надо вытащить в PIcon любую по параметрам или индексу.
Это исходное задание было.

А в моем последнем посте здесь, грабли вот какие. Размер MAINICON в ICON_GROUP всего 118 байт, хотя сама иконка около 160 кБ. Как правильно до иконки добраться?


 
SPeller ©   (2009-03-28 20:04) [22]

Есть у меня такой старый исходник:

procedure TPageRes.LoadIconGroup(ANode: PResNode; IsIcon: Boolean);

 function SearchNode( ID: Word; iType: Cardinal; Root: PResNode ): PResNode;
 var
   I: Integer;
 begin
   Result := nil;
   if not Root.IsDirectory then
   begin
     if (Root.ID = ID) and (Root.DataType = iType) then
       Result := Root
     else
       Result := nil;
     Exit;
   end;

   for I := 0 to Root.SubDirs.Count - 1 do
   begin
     Result := SearchNode( ID, iType, Root.SubDirs.Items[ I ] );
     if Result <> nil then
       Break;
   end;
 end;

var
 St: PStream;
 GID: PGrpIconDir;
 IDE: TGrpIconDirEntry;
 Buf: Pointer;
 I, N: Integer;
 ItemNode: PResNode;
begin
 St := NewReadFileStream(MainWindow.FileName);

 FFrm.lstImgGroup.Clear;

 GetMem( Buf, ANode.DataSize );
 St.Seek( ANode.DataRaw, spBegin );
 St.Read( Buf^, ANode.DataSize );
 St.Free;

 GID := Buf;

 for I := 0 to GID.Count - 1 do
 begin
   IDE := GID.Entries[ I ];
   if IsIcon then
     N := FFrm.lstImgGroup.Add(ImageCaption(IDE.Width, IDE.Height, IDE.BitCount, IDE.ID))
   else
     N := FFrm.lstImgGroup.Add(ImageCaption(IDE.Width, IDE.Width, IDE.BitCount, IDE.ID));
   if IsIcon then begin
     ItemNode := SearchNode(IDE.ID, Cardinal(RT_ICON), ResTreeRoot);
     FFrm.lstImgGroup.ItemData[N] := Cardinal(ItemNode);
   end
   else begin
     ItemNode := SearchNode(IDE.ID, Cardinal(RT_CURSOR), ResTreeRoot);
     FFrm.lstImgGroup.ItemData[N] := Cardinal(ItemNode);
   end;
   ItemNode.ImgX := IDE.Width;
   ItemNode.ImgY := IDE.Height;
   ItemNode.ImgColorDepth := IDE.BitCount;
 end;
 //FFrm.lstImgGroup.CurIndex := 0;
 SearchMaxDepthAndSize;
 FFrm.lblImgInfo.Visible := not IsIcon;
 FFrm.lstImgGroupSelChange(nil);

 FreeMem( Buf );
end;


Писалось всё по msdn. Работает :) Мож кто знает, писал я плагин для ТС, PEViewer называется. Было дело ковырял ресурсы, но так и не дошло это дело до релизов плагина.

Тип ResNode выглядит так:

 TResNode = object( TObj )
 private
...
 public
   constructor Create;
   destructor Destroy; virtual;
   property Parent: PResNode read fParent write fParent;
   property IsRoot: Boolean read fIsRoot;
   property IsDirectory: Boolean read fIsDirectory write fIsDirectory;
   property SubDirs: PList read fSubDirs;
   property DataRaw: Cardinal read fDataRaw write fDataRaw;
   property DataSize: Cardinal read fDataSize write fDataSize;
   property DataType: Cardinal read fDataType write fDataType;
   property DisplayName: string read FDisplayName write FDisplayName;
   property Name: string read fName write fName;
   property Lang: Cardinal read fLang write flang;
   property CodePage: Cardinal read fCodePage write fCodePage;
   property ID: Word read fID write fID;
   property ImgX: Integer read FImgX write FImgX;
   property ImgY: Integer read FImgY write FImgY;
   property ImgColorDepth: Byte read FImgColorDepth write FImgColorDepth;
 end;

Объект носит информационный характер, акромя конструктора и деструктора методов нет. Пока еще не ковырялся до тех мест, где это всё задаётся значениями. ВОбщем, структуру кода выемки ресурсов из потока, думаю, поймешь. Если что не ясно спрашивай.


 
SPeller ©   (2009-03-28 20:15) [23]

Видимо, ты не учел то, что icongroup - это лишь ссылки на тип ресурса single icon.
На всякий вот еще подсказка:
 PGrpIconDirEntry = ^TGrpIconDirEntry;
 TGrpIconDirEntry = packed record
   Width: Byte;
   Height: Byte;
   ColorCount: Byte;
   Reserved: Byte;
   Planes: Word;
   BitCount: Word;
   BytesInRes: DWord;
   ID: Word;
 end;

 PGrpIconDir = ^TGrpIconDir;
 TGrpIconDir = packed record
   Reserved: Word;
   iType: Word; // 1 for icons, 2 for cursors
   Count: Word;
   Entries: array[ 0..0 ] of TGrpIconDirEntry;
 end;


 
MTsv DN   (2009-03-28 20:51) [24]

Твой исходник, ща гляну...спасибо.

А про твой последний пост. Эти 2е записи я знаю, по ним я работаю с иконками с диска... А вот "Видимо, ты не учел то, что icongroup - это лишь ссылки на тип ресурса single icon." это да, тока так и не понял где. Щас буду разбираться...


 
MTsv DN   (2009-03-28 21:57) [25]

Все... Разобрался... Огромный респект...

Все упиралось в то, что при работе с файлом используется:
Offset : DWORD;
а при использовании ресурса:
ID: Word;


 
MTsv DN   (2009-03-28 22:16) [26]

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

Благодаря помощи SPeller...закончил проект по работе с мультииконками.

Работает как с файлами на диске, так и с ресурсами RT_GROUP_ICON.
http://ru.uus4u.com/downloads/sources/multiicons.7z


 
mdw   (2009-03-29 14:18) [27]


> http://ru.uus4u.com/downloads/sources/multiicons.7z

Миша, а ты бы на сайт выкладывал сразу, в "графику". А то когда подтебуется, и не вспомнишь что лежит на uus4u... Да и предыдущие WAV, FLAC и т.д тоже в раздел ММ можно....


 
MTsv DN   (2009-03-29 15:07) [28]

Это ж больше демки... Хорошо, займусь как-нибудь...


 
MTsv DN   (2009-03-29 15:10) [29]

Кстати, обновил (пока у себя) проект MultiIcon.

Изменения:
Функции возвращают сразу требуемую иконку, а не поток. Просто автоматизация некоторые действий.

Ссылка та же:
http://ru.uus4u.com/downloads/sources/multiicons.7z


 
имя   (2009-04-08 01:57) [30]

Удалено модератором


 
имя   (2009-04-16 13:58) [31]

Удалено модератором


 
Игорь ©   (2009-04-21 19:43) [32]

Некоторые товарищи замучили вопросом "Как запустить процесс от имени системы"

Вот хочу поделиться исходником, довел вроде до ума http://www.onlinedisk.ru/file/125336/ 2000 -XP


 
имя   (2009-08-14 05:04) [33]

Удалено модератором



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2014.03.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.003 c
15-1378149274
[ВладОшин]
2013-09-02 23:14
2014.03.02
Не оскудеет земля ..


2-1368046956
adjeda
2013-05-09 01:02
2014.03.02
ошибка в программе


15-1379298403
Я кирпичнул тлвр1043нд
2013-09-16 06:26
2014.03.02
UART и кобели


15-1379104202
Юрий
2013-09-14 00:30
2014.03.02
С днем рождения ! 14 сентября 2013 суббота


15-1379363402
Юрий
2013-09-17 00:30
2014.03.02
С днем рождения ! 17 сентября 2013 вторник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский