![]() |
|
#1
|
|||
|
|||
![]() Подскажите пожалуйста как правильно создать методы класса для управления свойствами объектов:
Код:
unit CD; interface Uses ComCtrls, StdCtrls, FileCtrl, SysUtils, Classes, forms,ExtCtrls,Buttons; Type TSDirectory = class procedure getDir(Memo:Tmemo); end; TCD = Class end; function SetTrackBar(TrackBar:TTrackBar;Memo:Tmemo):string; function PreTrack(TrackBar:TTrackBar;Memo:Tmemo):string; function NextTrack(TrackBar:TTrackBar;Memo:Tmemo):string; function Play(TrackBar:TTrackBar;Memo:Tmemo;BitBtn:TBitBtn;timer:Ttimer):string; function Stop(TrackBar:TTrackBar;Memo:Tmemo;BitBtn:TBitBtn;timer:Ttimer):string; var Line: Integer;//Хранится номер строки memo implementation procedure TSDirectory.getDir(Memo:Tmemo); var //Путь к файлам sDir: String; //Путь найденного файла sr: TSearchRec; begin //Выводим диалог выбора папки в итоге возвращает sDir SelectDirectory('Выберите каталог', '', sDir); // FindFirst ищем все файлы mp3. if FindFirst(sDir + '*.mp3', faAnyFile, sr) = 0 then begin repeat //Записываем в мемо имя найденого mp3 файла Memo.Lines.Add(sr.Name); //По завершению обнуляем sr until FindNext(sr) <> 0; FindClose(sr); end; end; //Управление таймером function SetTrackBar(TrackBar:TTrackBar;Memo:Tmemo):string; begin //По срабатыванию таймера прибавляем к позиции тракбара 1 TrackBar.Position:=TrackBar.Position+1; Result :=Memo.Lines.Strings[Line]; //Если позиция тракбара достигля максимального значения if TrackBar.Position=TrackBar.Max then begin //Переходим на строку вперед Line:=Line+1; //Устанавливаем позицию тракбара на 0 TrackBar.Position:=0; //Выводим строку с индексом line в лайьл Result :=Memo.Lines.Strings[Line]; end; end; function Play(TrackBar:TTrackBar;Memo:Tmemo;BitBtn:TBitBtn;timer:Ttimer):string; begin // Если на кнопке надпись Play if BitBtn.Caption='Play' then begin //Включаем таймер Timer.Enabled:=true; //Меняем название кнопки BitBtn.Caption:='Pause'; //Выводим строку с индексом line в лайьл Result:=Memo.Lines.Strings[Line]; end else begin //Выключаем таймер Timer.Enabled:=false; //Меняем название кнопки BitBtn.Caption:='Play'; end end; function Stop(TrackBar:TTrackBar;Memo:Tmemo;BitBtn:TBitBtn;timer:Ttimer):string; begin //Выключаем таймер Timer.Enabled:=false; //Устанавливаем позицию тракбара на 0 TrackBar.Position:=0; //Меняем название кнопки BitBtn.Caption:='Play'; end; function NextTrack(TrackBar:TTrackBar;Memo:Tmemo):string; begin //Устанавливаем позицию тракбара на 0 TrackBar.Position:=0; //Переходим на строку назад line:=line+1; //Выводим строку с индексом line в лайьл Result:=Memo.Lines.Strings[Line]; end; function PreTrack(TrackBar:TTrackBar;Memo:Tmemo):string; begin //Устанавливаем позицию тракбара на 0 TrackBar.Position:=0; //Переходим на строку назад line:=line-1; //Выводим строку с индексом line в лайьл Result:=Memo.Lines.Strings[Line]; end; end. Последний раз редактировалось MotoArhangel, 14.06.2014 в 12:21. |