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

Delphi Sources



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

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

Необходимо из приведенного выше кода сделать на подобии:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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;
С кнопкой разобрался, а вот с трек баром почему то не получается.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.
Ответить с цитированием
 


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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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