|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.12.2006, 21:54 | #1 |
Регистрация: 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 ); // уровень сигнала блин а так хочется в этом шарить Что посоветуете умные люди, что читать или делать? |
13.12.2006, 22:11 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
}{@KeRnutyi, вообще ответ прост - много работать программировать.
Приведённый тобою пример не совсем простой, но подсказки должны тебе помочь... |
13.12.2006, 22:44 | #3 |
Армия Рассейская
Форумчанин
Регистрация: 06.12.2006
Сообщений: 175
|
Учиться. Только для начала Паскаль....
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН |
14.12.2006, 19:50 | #4 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Паскаль желателен, но не обязателен... А так - начни с меньшего, практикуйся - все в твоих руках...
Познавая других, мы познаем себя.
С'est la vie... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обсуждение литературы 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 |