Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 16:06   #1
_Iren_
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 10
По умолчанию Бегущая строка

Добрый день! Столкнулась с проблемой написания бегущей строки. Суть в том, что необходимо свойство, определяющее направление движения. Я написала что-то, но компонент перестал даже добавляться. Подскажите, пожалуйста, что с этим делать)

Код:
unit RunText;

interface

uses
  Windows, Messages, System.SysUtils, System.Classes, Vcl.Controls, Vcl.StdCtrls, ExtCtrls, StrUtils;

type
  TRunText = class(TCustomLabel)
  private
    { Private declarations }
    FTimer: TTimer;
    procedure MoveText(Sender: TObject);
    function GetSpeed: Integer;
    procedure SetSpeed(MSec: Integer);
    procedure SetSide(Way: Integer);
    function GetSide: Integer;
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor create (AOwner: Tcomponent); override;
  published
    { Published declarations }
    property AutoSize;
    property Alignment;
    property Transparent;
    property Wordwrap;
    property Caption;
    property Font;
    property Color;
    property Speed: Integer read GetSpeed write SetSpeed;
    property Side: Integer read GetSide write SetSide;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TRunText]);
end;

{ TRunText }

constructor TRunText.create(AOwner: Tcomponent);
begin
  inherited Create(AOwner);
  FTimer := TTimer.Create(Self);
  FTimer.OnTimer := MoveText;
  FTimer.Interval :=300;
  FTimer.Enabled := True;
  Caption:='This is run string   ';
  Side:=10;
end;


procedure TRunText.MoveText(Sender: TObject);
begin
  if self.GetSide<0 then
    Caption := Caption[Length(Caption)] + LeftStr(Caption, Length(Caption)-1)
  else
    Caption := RightStr(Caption, Length(Caption)-1) + Caption[1];
end;

function TRunText.GetSpeed: Integer;
begin
  Result := FTimer.Interval;
end ;

procedure TRunText.SetSpeed(MSec: Integer);
begin
  FTimer.Interval := MSec;
end;

procedure TRunText.SetSide(Way: Integer);
begin
  self.Side := Way;
end;

function TRunText.GetSide: Integer;
begin
  Result := self.Side;
end ;

end.

Последний раз редактировалось Stilet; 22.04.2012 в 17:00.
_Iren_ вне форума Ответить с цитированием
Старый 22.04.2012, 16:47   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,453
По умолчанию

вот пример:
Вложения
Тип файла: rar ScrollText.rar (11.8 Кб, 61 просмотров)
beegl вне форума Ответить с цитированием
Старый 22.04.2012, 16:50   #3
_Iren_
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 10
По умолчанию

Спасибо большое)
_Iren_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бегущая строка deadmer Общие вопросы C/C++ 0 29.08.2010 16:39
бегущая строка djes Паскаль, Turbo Pascal, PascalABC.NET 6 22.04.2009 21:11
Бегущая строка. blackstersl Общие вопросы Delphi 3 20.02.2009 09:43
Бегущая строка vitamin.rulez Помощь студентам 8 28.01.2009 21:48
Бегущая строка и about Патрон Общие вопросы Delphi 12 02.06.2008 22:31