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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.12.2010, 15:44
4ebyrda 4ebyrda вне форума
Прохожий
 
Регистрация: 01.12.2010
Сообщения: 3
Репутация: 10
По умолчанию Бегущая строка

нужна помощь, хотел сделать бегущую строку, но что бы программа учитывала дату и выводила на экран определенное сообщение связонное с этой датой, помогите пажалуйста.
Ответить с цитированием
  #2  
Старый 01.12.2010, 15:52
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Не знаю, подойдет или нет, но все же:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  label1.Caption:=TimeToStr(Now)+'; Date: '+DateToStr(Now);
  if(label1.Left<=-label1.Width) then
    label1.Left := 152;

  label1.Left:=label1.Left-3;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Left:=152;
  Timer1.Interval:=100;
end;
Поставь на форму таймер и текстовую метку, и вставь код что я дал.
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 01.12.2010, 16:38
4ebyrda 4ebyrda вне форума
Прохожий
 
Регистрация: 01.12.2010
Сообщения: 3
Репутация: 10
По умолчанию

ну что то вроде этого только например
если дата 21.04.95 то сообщение1
если дата 14.05.97 то сообщение2
и еще реально сделать ну вот сому оболучку программы и txt файл где написаны даты и сообщения к ним типа:
23.11.04 помыть посуду
25.11.04 выкинуть мусор
и т.д.
и это все в бегущей строке.?
Ответить с цитированием
  #4  
Старый 01.12.2010, 17:57
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Не идеально конечно, но работает:
Код:
uses
  IniFiles;

var
  MsgStr: String;
  CurrentDate: TDateTime;

function GetMessage(D: TDateTime): String;
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'messages.txt');
  Result := Ini.ReadString('messages', DateToStr(D), 'на сегодняшний день нет сообщений');
  Ini.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  CurrentStr: String;
begin
  if CurrentDate <> Date then  // проверяется дата и если она изменилась
    MsgStr := GetMessage(Date); // из файла читается соответствующее ей сообщение (смотри функцию выше)
  // далее реализация бегущей строки:
  CurrentStr := Label1.Caption; 
  if Length(CurrentStr) > 0 then
    Delete(CurrentStr, 1, 1)
  else
    CurrentStr := MsgStr;
  Label1.Caption := CurrentStr;
end;
файл с сообщениями - обычный INI:
Код:
[messages]
23.11.04=помыть посуду
25.11.04=выкинуть мусор

Последний раз редактировалось ryderx34, 01.12.2010 в 18:02.
Ответить с цитированием
  #5  
Старый 01.12.2010, 19:12
4ebyrda 4ebyrda вне форума
Прохожий
 
Регистрация: 01.12.2010
Сообщения: 3
Репутация: 10
По умолчанию

вот это ваще очень то что надо только не пишет сообщение из файла создал test.ini и поместил его в одну папку с exe открываю и что на сегодня нет сообщений
Ответить с цитированием
  #6  
Старый 01.12.2010, 19:33
Аватар для deltas
deltas deltas вне форума
Новичок
 
Регистрация: 22.11.2010
Сообщения: 99
Репутация: 47
По умолчанию

Так надо messages.txt а не test.ini

З.Ы. А если на одну дату два и больше сообщений?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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