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

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

  Мир Delphi  Подписчиков: 3180 
   
.::::: СообЧа - Программирование на Delphi :::::.
  ї 2000 - 2001COOLer  Дизайн: Yoghurt 
   

 

Оглавление
  В выпуске  Рассылка СообЧА 
    
 
Рассылки Subscribe.Ru
СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.

 Назад к оглавлению  
  
  Конкурс 
 
  
  • Участвуйте в конкурсе "Статья месяца" и вы выиграете книгу по Delphi от магазина ОЗОН. В конце каждого месяца Вами будет выбран лучший автор, который и получит книгу. Присылайте ваши статьи на  pixel@novgorod.net .

 

  • Хотите поучаствовать в нашем проекте, вы умеете работать с OpenGL или DX? Присоединяйтесь вместе мы напишем классную RPG ... подробности по адресу  pixel@novgorod.net или http://pixelsoft.narod.ru раздел Проект... Желательны(Хотя не обязательны , по ходу сами все поймете) знания Borland C++ Builder или Delpi в сфере графики.
 Назад к оглавлению  
  
  Выбор лучшего 
 
  
ув. Подписчики. пожалуйста оцените труд данных авторов отдав свой голос за того, кого вы считаете достойным. 31 июля по итогам голосования лучшему автору будет подарена книга от магазина "ОЗОН". Если вы хотите увидить своё имя среди авторов - то прочитайте условия конкурса Выбери лучшего
Pixel
PILOT
Art
 Назад к оглавлению  
  
 И ты реестр?! 
 
  

Учитывая потребность работать с настройками в программах и потом их сохранять, я решил что данные знания будут полезны... С помощью стандартных функций дельфи можно получить доступ в ЛЮБУЮ часть реестра...

Для начала в ваш проект надо дописать uses:Registry , сразу оговорюсь, что пишу по памяти и если что не заработает пишите.

Теперь создадим объект для работы с реестром

Var: reg:Tregistry

.....

  reg:=TRegistry.Create; 
  reg.RootKey:=hkey_local_machine; тут пишите то что вам надо открыть
  reg.OpenKey('ваш ключ',true); 
  reg.WriteString('Test string','Test'); Чтение производится reg.ReadString(KeyName:Tstring,KeyValue:Tstring'), первый параметр название раздела, а второй (если не ошибаюсь) , значение возвращаемое , если такого нет...
  reg.CloseKey; Вот это не забудьте !

Можно, также хранить все в ini файле, но об этом в другой раз...

Автор:Pixel( pixel@novgorod.net http://pixelsoft.narod.ru )
ї COOLer

 

 Назад к оглавлению  
  
 Для размышления... 
 
  

С поиощью следующего кода, можно спретать форму, но ее содержимое будет видно. Предполагается, что у вас есть форма form1 и кнопка button1, на кнопку повесьте функцию close, а в Form1.Oncreate запишите :

 setwindowlong(form1.handle,gwl_exstyle,(getwindowlong(form1.handle,gwl_exstyle)
                or ws_ex_transparent));

 

А этим кодом можно выдвигать\задвигать  Сидюк.

 

uses MMsystem;

 

procedure TForm1.Button1Click(Sender: TObject); 

begin

 mciSendString('Set cdaudio door open wait', nil, 0, handle);

 end

 

procedure TForm1.Button2Click(Sender: TObject); 

begin 

mciSendString('Set cdaudio door closed wait', nil, 0, handle);

 end;

Вот еще одна "фича", к программированию она не относится, но все же... Для тех, кто не знает : в опциях компилятора есть такая настройка "Генерировать с++ код" (это radiobutton и его выбрать можно), так вот она и правду компилирует ЕХЕ файл и пишет в середине Borland C++ Builder v(непомню)

Автор:Pixel( pixel@novgorod.net http://pixelsoft.narod.ru )
ї COOLer

 Назад к оглавлению  
  
 Mp3, откройте... 
 
  

Некоторые возможно уже читали, но это стоит повторить, ведь с того момента наша аудитория расширилась на 2000 человек.

Звучит , дико, но в интернете есть место, где бесплатно раздают MP3 vcl/api с весьма хорошим качеством звучания, и массой функций. http://www.x-audio.com

 

Зайдя на сайт , войдите в меню for Developers и прочитайте лицензию (в ее конце пароль и логин для скачивания ).Для установки просто запустите xaudioplayer.pas и установите его в новый пакет (package).Если все прошло нормально , среди компонентов появится нечто ,вроде черного круга с красной буквой "х". 

 

Работать с ним просто как для новичков, так и для экспертов (хотя последним лучше писать подобное самим).В комплекте с вашей программой обязательно должен идти xaudio.dll ,иначе ничего не будет работать. 

Для проигрывания Mp3 файла  достаточно ввести следующий код:

 

xaudioplayer1.inputopen('путь к файлу');

xaudioplayer1.play;

 

Стоит сразу сказать, что если вы пишете mp3 плеер ,или часто используете звук на событие формы tform1.onclose надо поставить другой код:

 

xaudioplayer.stop;

xaudioplayer.inputclose;

 

Иначе, после закрытия приложение будет играть остаток файла в буфере, получится эффект "зависания".

Помимо этого, компонент позволяет снимать ID3Tag , для этого в свойстве  PlayerNotifyStreamProperties надо набрать :

 

 

это добавьте в описательную часть процедуры

type
PropertyArray = array[0..1024] of XA_Property;
PPropertyArray = ^PropertyArray;
var
PropertyList: PPropertyArray;

 

а это в процедуру

PropertyList := PPropertyArray(Properties) ;
"Индикатор строкового типа":=(PropertyList[8].string_value ); это название песни
"Индикатор строкового типа":=(PropertyList[7].string_value); а это исполнитель

Также, можно снимать состояние плеера, например если вы хотите узнать когда кончился файл то в PlayerNotifyPlayerState надо сделать так:  
if state=3 then ..........(тут можно заставить файл играться снова).

Ну вот, поигравшись с этими знаниями можно склепать неплохой MP3 плеер или конвертер в Wav, к программе поставляется также пример и вариант для C++.

Надеюсь вам понравилось. В следующий раз поведаю о чем-нибудь графическом , а также научу прятать программу в трэй

(где часики).

Если возникнут вопросы или проблемы пишите...

 

 

 

Автор:Pixel( pixel@novgorod.net http://pixelsoft.narod.ru )
ї COOLer


Zaluskiy Anton(COOLer)    - ведущий проекта    "Мир Delphi"



о3он TopList


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное