Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.06.2014, 11:13
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию Классы и методы

Подскажите пожалуйста как правильно создать методы класса для управления свойствами объектов:
Код:
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.
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:26.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025