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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2009, 15:11   #1
EugeneIsmatulin
Пользователь
 
Аватар для EugeneIsmatulin
 
Регистрация: 24.05.2009
Сообщений: 64
По умолчанию Проверка на праздничные дни....

Есть расписание на нем даты в Lablel их всего 6
15.06.2009
16.06.2009
....
20.06.2009
есть также фаил txt в нем забиты праздничные дни к примеру 16.06.2009 кам можно сделать проверку чтобы если в фаиле txt встречается праздничный день то Lablel становиться неактивной.
EugeneIsmatulin вне форума Ответить с цитированием
Старый 16.06.2009, 15:28   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Вот функция:
Код:
function CheckHoliday(Lb: TLabel; Path: string): boolean;
var
 Holidays: TextFile;
 hdate: string;
begin
 Result := false;

 AssignFile(Holidays, Path);
 try
  Reset(Holidays);
  Readln(Holidays, hdate);
  if Pos(hdate, Lb.Caption) <> 0 then
   Result := true;
 finally
  CloseFile(Holidays);
 end;
end;
Вот пример использования:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if CheckHoliday(Label1, 'D:\dates.txt') then Label1.Enabled := false
 else Label1.Enabled := true;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 16.06.2009, 15:49   #3
EugeneIsmatulin
Пользователь
 
Аватар для EugeneIsmatulin
 
Регистрация: 24.05.2009
Сообщений: 64
По умолчанию

она работает если у меня в файле txt одна дата а у меня их несколько
Вложения
Тип файла: txt DateHolid.txt (96 байт, 136 просмотров)

Последний раз редактировалось EugeneIsmatulin; 16.06.2009 в 15:56.
EugeneIsmatulin вне форума Ответить с цитированием
Старый 16.06.2009, 15:53   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
function Holiday(dat,BDPath:string):boolean;
 var sl:TStringlist;
 begin
  result:=false;
  sl:=TStringList.Create;
  try
   sl.LoadFromFile(BDPath);
  except
   messagebox(0,'Ошибка открытия файла','Ошибка',MB_ICONERROR+MB_OK+MB_SYSTEMMODAL);
   exit;
  end;
  result:=sl.IndexOf(dat)<>-1;
  sl.free;
end;


label1.enable:=Holiday(Label1.Caption,'d:\1.txt')

Последний раз редактировалось SERG1980; 16.06.2009 в 15:55.
SERG1980 вне форума Ответить с цитированием
Старый 16.06.2009, 16:01   #5
EugeneIsmatulin
Пользователь
 
Аватар для EugeneIsmatulin
 
Регистрация: 24.05.2009
Сообщений: 64
По умолчанию

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.enable:= Holiday(Label1.Caption,'d:\1.txt');
end;
пишет [Error] Unit1.pas(43): Undeclared identifier: 'enable'
EugeneIsmatulin вне форума Ответить с цитированием
Старый 16.06.2009, 16:02   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

label1.Enabled
label1.Enabled:= not HoliDay(Label1.Caption,'d:\1.txt')

Последний раз редактировалось SERG1980; 16.06.2009 в 16:12.
SERG1980 вне форума Ответить с цитированием
Старый 16.06.2009, 17:17   #7
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Да, точно, забыл поставить цикл, могли бы и сами внятней посмотреть, что я написал и исправить:
Код:
function CheckHoliday(Lb: TLabel; Path: string): boolean;
var
 Holidays: TextFile;
 hdate: string;
begin
 Result := false;

 AssignFile(Holidays, Path);
 try
  Reset(Holidays);
  While not EOF(Holidays) do
  begin
   Readln(Holidays, hdate);
   if Pos(hdate, Lb.Caption) <> 0 then
   begin
    Result := true;
    Break;
   end;
  end;
 finally
  CloseFile(Holidays);
 end;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 16.06.2009, 18:13   #8
EugeneIsmatulin
Пользователь
 
Аватар для EugeneIsmatulin
 
Регистрация: 24.05.2009
Сообщений: 64
По умолчанию

Спасибо все работает
EugeneIsmatulin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как посчитать дни? Sergius X SQL, базы данных 6 26.05.2009 18:15
Проверка задачи lena-nonamed Microsoft Office Excel 2 17.02.2009 23:01
Проверка орфографии Claster Помощь студентам 1 29.11.2008 23:42
Проверка Манжосов Денис :) Общие вопросы Delphi 4 17.10.2008 16:27