Привет, Гость! Регистрация RSS
Пятница, 22.11.2024
Главная » Статьи » Уроки

Бегущая строка в Delphi
Бегущая строка широко используется программистами для привлечение внимания пользователей, а также для экономия места на форме. 
Создание подобного текста не так уж и сложное. Главное понять принцип. Покажу вам два способа вывода бегущей строки.
1 способ
Этот способ довольно прост по своему содержанию. По сути происходит "перетаскивание" первого символа текста в конец строки. Эта функция конечно пишется в обработчике событий OnTimer.

procedure TForm1.Timer1Timer(Sender: TObject); 
var
stroka: string;
begin
stroka:= label1.Caption;  
 label1.Caption:= copy (stroka, 2, length (stroka) - 1)+ copy(stroka,1,1); 
//значению в label1 присваиваем копирование записи в label1 и прибавляем 1-ый символ. 
end;

Минус этого способа в том, что он не рассчитан на большие тексты, длина которых может выходить за рамки формы. Но эта проблема решается во втором способе.

2 способ
implementation

const 
  tape=10;
var
  msg:string;
  s:string;
  x:integer;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
msg:=InputBox('Введите сообщение', 'Нажмите Enter для вывода строки', ' ');
msg:=stringofchar(' ',tape)+msg+stringofchar(' ',tape);
x:=1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);                                                     
begin
inc(x);
if (x>(length(msg)-tape+1)) then begin
x:=1;
end;
s:=copy(msg,x,tape);
label1.Caption:=s;
label1.Refresh;
end;

Здесь выводимый текст вы набираете в глобальную переменную msg.  
Константа tape хранит в себе длину показываемой части нашей строки. 
Значение х увеличивается по таймеру, и тем самым сдвигает вправо позицию нашего курсора, с которого начинается показ строки msg.
Функция Copy(msg: String; x, tape: Integer) - возвращает часть строки msg, начиная с символа длиной tape. Ограничений на tape нет — если оно превышает количество символов от до конца строки, то строка будет скопирована до конца.
Также рекомендуем вам почитать о том, что такое объекты и классы в программировании: http://java-study.ru/java-uchebnik/102-obklass
Нравится
Категория: Уроки | Добавил: Dark_Green (17.01.2013)
Просмотров: 7828 | Теги: бегущая строка | Рейтинг: 0.0/0

Другие статьи
»
Загрузка изображения из графического файла с использованием стандартного диалога открытия графически... (0)
»
Строка состояния (0)
»
Рисование при выполнении программы (0)
»
Использование фрейма в delphi (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]