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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.02.2009, 13:21   #1
IVANSour
Пользователь
 
Аватар для IVANSour
 
Регистрация: 26.12.2008
Сообщений: 55
По умолчанию Выполнить действие один раз.

Кто мне подскажет как выполнить действие один раз.
if Edit1.Text>='01.02.2009'then
begin
Form3.ShowModal;
Имеется в виду открыть форму.
SOUR
IVANSour вне форума
Старый 01.02.2009, 13:24   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

строки сравнивать посимвольно или как дату?
если как дату вод код
Функция StrToDate преобразует только числа, поэтому, если у Вас месяцы в виде имён, то прийдётся использовать VarToDateTime.



Код:
var
  D1, D2, D3 : TDateTime;
begin
  D1 := VarToDateTime('December 6, 1969');
  D2 := VarToDateTime('6-Apr-1998');
  D3 := VarToDateTime('1998-Apr-6');
  ShowMessage(DateToStr(D1)+' '+DateToStr(D2)+' '+DateToStr(D3));
end;
Проект Delphi World © Выпуск 2002 - 2004
вступлю в команду разработчиков ПО на Delphi

Последний раз редактировалось maladoy; 01.02.2009 в 13:29.
maladoy вне форума
Старый 01.02.2009, 13:28   #3
IVANSour
Пользователь
 
Аватар для IVANSour
 
Регистрация: 26.12.2008
Сообщений: 55
По умолчанию

Цитата:
Сообщение от maladoy Посмотреть сообщение
строки сравнивать посимвольно или как дату?
После того как пройдет эта дата или наступит форма должна открыться.
Это происходит но действие постоянно повторяется но мне необходимо
сделать один раз.
SOUR
IVANSour вне форума
Старый 01.02.2009, 13:33   #4
Devoto
Пользователь
 
Регистрация: 05.07.2008
Сообщений: 17
По умолчанию

Это действие и так выполнится один раз. Или участок кода находится в цикле или таймере??
Могу предложить как вариант решения для цыкла или таймера такой:
Код:
// переменную обьявить тут  
  private
    { Private declarations }
  run : Boolean = True;

//Этот код в процедуру запуска формы

begin
  if (Edit1.Text >= '01.02.2009') and (run = True) then
  begin
  Form3.ShowModal;
  run := False;
  end;
end;
Учиться, учиться и ... ВЫИГРЫВАТЬ!!!

Последний раз редактировалось Devoto; 01.02.2009 в 13:56. Причина: Все исправил - все работает))
Devoto вне форума
Старый 01.02.2009, 13:35   #5
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

что то типа так
Код:
var d1,d2:TDateTime;
begin
d1:=StrToDate(edit1.text);
d2:=now;
if d2>d1 then form.show
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума
Старый 01.02.2009, 15:53   #6
QunneD
C++ & PHP & Asm
Форумчанин
 
Аватар для QunneD
 
Регистрация: 06.12.2008
Сообщений: 300
По умолчанию

Я могу в этом помочь, для своего приват софта создавал такое.
Его покупали заранее а потом после 12 декабря можно было им пользоваться.
QunneD вне форума
Старый 01.02.2009, 17:15   #7
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Можно добиться выполнения куска кода один раз за сессию Windows, используя атомарную таблицу ОС.


Код:
var atom : integer;
begin
if GlobalFindAtom(’yahoo!!!’) = 0 then
  begin
    atom := GlobalAddAtom(’yahoo!!!’);
    if Edit1.Text>='01.02.2009' then
       begin
         Form3.ShowModal;
       end
  else
    begin
      exit;
    end;
end;
r9m вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выполнить действие. IVANSour Общие вопросы Delphi 6 01.02.2009 22:53
Событие один раз Михаил Юрьевич Общие вопросы Delphi 4 01.04.2008 20:40
как выполнить один и тот же код для двух разных событий puz Общие вопросы Delphi 5 11.05.2007 19:03
Как высчитывать ячейку только один раз? Человек Microsoft Office Excel 2 20.12.2006 20:57