Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2006, 21:54   #1
}{@KeRnutyi
 
Регистрация: 01.12.2006
Сообщений: 7
Хорошо Обсуждение programming... (кому не лень ответь те plize)

я тут новенький хотелось бы узнать вот я занимаюсь программированием не часто так любитель, а вот здесь на форуме есть люди которые с ходу писали мне ответы в виде кода

А что вообще реально так же знать делфи?
чтобы знать делфи надо все учить или просто знать
Вот допустим код :
procedure TForm1.PlayList(Path: string);
var
lpBuf: PChar; // указатель на nul-terminated строку
sWinDir: string[128]; // обычная Паскаль строка

SearchRec: TSearchRec; // структура SearchRec содержит информацию
// о файле, удовлетворяющем условию поиска
begin
ListBox1.Clear;
// сформировать список mp3 файлов
if FindFirst(Path + '*.mp3', faAnyFile, SearchRec) =0 then
begin
// в каталоге есть файл с расширением WAV
// добавим имя этого файла в список
ListBox1.Items.Add(SearchRec.Name);
// пока в каталоге есть другие файлы с расширением WAV
while (FindNext(SearchRec) = 0) do
ListBox1.Items.Add(SearchRec.Name);
end;
ListBox1.ItemIndex := 0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
PlayList('');
ListBox1.ItemIndex := 0;
Label1.Caption:=ListBox1.Items[ListBox1.itemIndex];

TrackBar1.Position := 7;

// старшее слово переменной volume - правый канал,
// младшее - левый
volume := (TrackBar1.Position - TrackBar1.Max+1)* 6500;
volume := volume + (volume shl 16);
waveOutSetVolume(WAVE_MAPPER,volume ); // уровень сигнала
end;

// щелчок на названии произведения
procedure TForm1.ListBox1Click(Sender: TObject);
begin
// вывести в поле метки Label1 имя выбранного файла
if not SpeedButton2.Down
then SpeedButton2.Down := True;
Label1.Caption:=ListBox1.Items[ListBox1.itemIndex];
Play;
end;

// щелчок на кнопке Воспроизведение
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if SpeedButton2.Down then
// пользователь нажал кнопку
// начать воспроизведение
Play
else
// если кнопка Воспроизведение нажата,
// то повторное нажатие останавливает
// воспроизведение
begin
MediaPlayer1.Stop;
Timer1.Enabled := False;
SpeedButton2.Down := False;
SPeedButton2.Hint := 'Play';
end;
end;

// кнопка К предыдущей
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if ListBox1.ItemIndex > 0 then
ListBox1.ItemIndex := ListBox1.ItemIndex - 1;
Play;
end;

// кнопка К следующей
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
if ListBox1.ItemIndex < ListBox1.Count then
ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
Play;
end;

// пользователь изменил положение
// регулятора громкости
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
volume := 6500* (TrackBar1.Max - TrackBar1.Position);
volume := volume + (volume shl 16);
waveOutSetVolume(WAVE_MAPPER,volume );
end;
// сигнал от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// изменить счетчик времени
if sec < 59
then inc(sec)
else begin
sec :=0;
inc(min);
end;

// вывести время воспроизведения
Label2.Caption := IntToStr(min)+':';
if sec < 10
then Label2.Caption :=
Label2.Caption +'0'+ IntToStr(sec)
else Label2.Caption :=
Label2.Caption + IntToStr(sec);

// если воспроизведение текущей композиции
// не завершено
if MediaPlayer1.Position < MediaPlayer1.Length
then exit;

// воспроизведение текущей композиции
// закончено
Timer1.Enabled := False; // остановить таймер
MediaPlayer1.Stop; // остановить плеер

if ListBox1.ItemIndex < ListBox1.Count // список не исчерпан
then begin
ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
Play;
end
end;

// Щелчок на кнопке Папка
// Выбрать папку, в которой находятся MP3 файлы
procedure TForm1.SpeedButton4Click(Sender: TObject);
var
Root: string; // корневой каталог
pwRoot : PWideChar;
Dir: string;
begin
Root := ''; // корневой каталог - папка Рабочий стол
GetMem(pwRoot, (Length(Root)+1) * 2);
pwRoot := StringToWideChar(Root,pwRoot,MAX_PA TH*2);
if not SelectDirectory('Выберите папку', pwRoot, Dir)
then Dir :=''
else Dir := Dir+'\';

// каталог, в котором находятся MP3 файлы выбран
SoundPath := Dir;
PlayList(SoundPath);
end;

сколько книжек не читал нигде не описано вот такого

pwRoot := StringToWideChar(Root,pwRoot,MAX_PA TH*2);

или вот такого

volume := (TrackBar1.Position - TrackBar1.Max+1)* 6500;
volume := volume + (volume shl 16);
waveOutSetVolume(WAVE_MAPPER,volume ); // уровень сигнала

блин а так хочется в этом шарить
Что посоветуете умные люди, что читать или делать?
}{@KeRnutyi вне форума Ответить с цитированием
Старый 13.12.2006, 22:11   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

}{@KeRnutyi, вообще ответ прост - много работать программировать.
Приведённый тобою пример не совсем простой, но подсказки должны тебе помочь...
Alar вне форума Ответить с цитированием
Старый 13.12.2006, 22:44   #3
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

Учиться. Только для начала Паскаль....
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 14.12.2006, 19:50   #4
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Паскаль желателен, но не обязателен... А так - начни с меньшего, практикуйся - все в твоих руках...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждение литературы Delphi. PowerAA Общие вопросы Delphi 88 06.03.2017 06:59
Runtime programming JoanM Общие вопросы Delphi 4 09.01.2008 11:00
Обсуждение DelphiX mager Gamedev - cоздание игр: Unity, OpenGL, DirectX 19 13.07.2007 02:57