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

Delphi Sources



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

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

Необходимо из приведенного выше кода сделать на подобии:
Код:
 Type
  //Указатель на процедуру объекта
 //понадобится для организации обратного вызова процедуры, которая будет выводить информацию о нашем объекте
 TP = procedure of object;

 TCD = Class
  protected
   //свойства класса
   m_Name:string; //Кнопка
   m_Track:integer;
   m_memotext:string;
   m_memoadd:string;
   m_timer:boolean;
   m_p:TP;

   function getPlay:string;
   function getMemo:string;
   function getTimer:boolean;
   function getTrackBar:integer;

   public
     constructor Create(TrackBar:TTrackBar;Memo:Tmemo;BitBtn:TBitBtn;timer:Ttimer;pp:TP);
     property name:string Read getPlay; 
     property memotext:string Read getMemo; 
     property timer:boolean Read getTimer; 
     property trackbar:integer Read getTrackBar;
  
   function Play:string;
 end;

 var
   Line: Integer;//Хранится номер строки memo

implementation

constructor TCD.Create(TrackBar:TTrackBar;Memo:Tmemo;BitBtn:TBitBtn;timer:Ttimer;pp:TP);
begin
  m_name:= BitBtn.Caption;
  m_Track:=TrackBar.Position;
  m_memotext:= Memo.Lines.Strings[Line];
  m_timer:= Timer.Enabled;
  m_p:=pp;
end;

function TCD.getPlay:string;
begin
  result := m_name;
end;

function TCD.getMemo:string;
begin
  result := m_memotext;
end;

function TCD.getTimer:boolean;
begin
  result := m_timer;
end;

function TCD.getTrackBar:integer;
begin
  result := m_Track;
end;

function TCD.Play:string;
begin
    // Если на кнопке надпись Play
  if m_name='Play' then
    begin
      //Включаем таймер
      m_timer:=true;
      //Меняем название кнопки
      m_name:='Pause';
      //Выводим строку с индексом line в лайьл
      Result:=m_memotext;
    end
  else
    begin
      //Выключаем таймер
      m_timer:=false;
      //Меняем название кнопки
      m_name:='Play';
      //Выводим строку с индексом line в лайьл
      Result:=m_memotext;
    end;
  m_p;
end;
С кнопкой разобрался, а вот с трек баром почему то не получается.
Код:
function Tcd.SetTrack:string;
begin
  //По срабатыванию таймера прибавляем к позиции тракбара 1
  m_Track:=m_Track+1;
  Result :=m_memotext;
  //Если позиция тракбара достигля максимального значения
  if m_Track=60 then
    begin
      //Переходим на строку вперед
      Line:=Line+1;
      //Устанавливаем позицию тракбара на 0
      m_Track:=0;
      //Выводим строку с индексом line в лайьл
      Result :=m_memotext;
    end;
end;

Последний раз редактировалось MotoArhangel, 14.06.2014 в 20:30.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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