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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 15:12   #21
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

ой, там помоему вышло 2 .exe файла, последний называется Projekt1
Vadja-Son вне форума Ответить с цитированием
Старый 08.02.2011, 15:50   #22
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Конечно не будет работать
Вы зачем сделали
Код:
procedure TForm1.FormCreate(Sender: TObject);
var I : integer;
begin
  // Ваш код
end;
begin
  // Мой код
end;

Надо-то было
Код:
procedure TForm1.FormCreate(Sender: TObject);
var I : integer;
begin
  // Ваш код
  // Мой код
end;
Sibedir вне форума Ответить с цитированием
Старый 08.02.2011, 16:05   #23
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

При много благодарен... вот что значит не внимательность

Но есть 1 интендент, я о нём упоминал ранее... мне нужно, что с каждым нажатием кнопки, предыдущие действие отключалось, тоесть нажал, Label8 красный, нажал есчо, Label9 красный, а Label8 уже серый, нажал, Label10 красный, Label8 и Label9 уже серые...

И сразу второй вопросик, он же и задачка, можно ЛИ на этой же самой кнопке сделать таймер, в чём его задача:

нажал Button1 пошёл таёмер (30сек), в течении этого времене нужно нажать опять на эту кнопку, и таёмер запускается заного (30 сек)!
Есле же проходит 30 сек, и в это время кнопка не нажимается, программа выполняет функцию Application.Terminate; тоесть выход!?!?!?

Реально ли это???

Да, кстати, желательно чтобы этот таймер выводился на форму в виде Label или Edit ....

Последний раз редактировалось Stilet; 11.02.2011 в 17:05.
Vadja-Son вне форума Ответить с цитированием
Старый 08.02.2011, 17:52   #24
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
evg_m
Код:
if label1.color<>clred then label1.color:=clred
else  if label2.color <>clred then label2.color:=clred
else if label3.color <>clred then label3.color:=clred
else showmessage('все уже окрашены');
просто исправь то что красным, ошибся человек
но он закрашивает все поочереди лабелы
а код 856100 можно поставить в таимер и он будет идти по кругу
читаи внимателнее
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 09.02.2011, 09:27   #25
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

Какразтаки внемательно следует читать вам:

Цитата:
Цитата:
evg_m
Код:

if label1.color<>clred then label1.color:=clred
else if label2.color <>clred then label2.color:=clred
else if label3.color <>clred then label3.color:=clred
else showmessage('все уже окрашены');

просто исправь то что красным, ошибся человек
Я ВООБСЧЕ не этот проект делаю....

Цитата:
а код 856100 можно поставить в таимер и он будет идти по кругу
читаи внимателнее
вы вообсче про какой код говорите???
Vadja-Son вне форума Ответить с цитированием
Старый 09.02.2011, 09:37   #26
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Про таймер
Короче, заводите переменную t: integer
По клику устанавливаете t:=30 и запускаете таймер с интервалом 1000 (1 сек.)
В обработчике таймера i := i - 1 и выводите значение i. Далее проверяете, если i=0, то закрываете программу.
Таким образом каждую секунду t будет уменьшаться на 1 (при 0 программа закроется), а при повторном нажатии кнопки t снова станет =30.
Код:
var
  CloseTime: Integer;

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := False; // Что-бы отсчет пошел заново и до закрытия оставалось ровно 30 сек., а не 29 с чем-то.
  CloseTime := 30;
  Label1.Caption := IntToStr (CloseTime);
  Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  CloseTime := CloseTime - 1;
  Label1.Caption := IntToStr (CloseTime);
  if CloseTime = 0 then Close;
end;

Последний раз редактировалось Sibedir; 09.02.2011 в 09:49.
Sibedir вне форума Ответить с цитированием
Старый 09.02.2011, 10:54   #27
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

Огромное спасибо за помощ, всё получилось!!!
Vadja-Son вне форума Ответить с цитированием
Старый 10.02.2011, 10:46   #28
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

Ребята, всё, сдаюсь, 2ой день мучаюсь... хотел прописать массив, совсем всё к чертям полетело, запутался так, что распутать немогу, ну хоть ты программу заного пиши...

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

Вот программа: proga.rar

Только там 2 .exe файла, правельный будет Project1

Заранние благодарен!!!
Vadja-Son вне форума Ответить с цитированием
Старый 10.02.2011, 11:10   #29
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Конечно не будет работать. И зачем вы опять где попало понаставили begin'ов и end'ов?

А вот это что за чудо?
Код:
procedure TForm1.Button1Click( Sender: TObject);
var
 I,J,K, Temp : integer;
 qwest : string;
 label GotoLabel;
  begin
    for l:=1 to Length(mass) do
      mass[l]:=random(13);
      for n:=1 to l do
        if mass[n]=mass[l] then Goto GotoLabel;
    end;

begin
...
а если учесть, что метка больше ни где не используется...
Короче, ,htl полый. это. все. равно. что Кулер к материнке на саморезами прикручивать (видал както фотокарточку) или как писать это придЛАЖенье.
Sibedir вне форума Ответить с цитированием
Старый 10.02.2011, 11:21   #30
Vadja-Son
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 40
По умолчанию

я теперь уже и сам не понемаю где я понаставил лишних begin'ов и end'ов!!!

Цитата:
А вот это что за чудо?
Код:

procedure TForm1.Button1Click( Sender: TObject);
var
I,J,K, Temp : integer;
qwest : string;
label GotoLabel;
begin
for l:=1 to Length(mass) do
mass[l]:=random(13);
for n:=1 to l do
if mass[n]=mass[l] then Goto GotoLabel;
end;

begin
...
это я пытался прописать массив, который сохроняет всё что уже было (тоесть вопросы на клике Botton1), видимо из-за этого всё и полетело... я с массивами на вы, поэтому всё так и недолуго.

Вы мне может что-нибудь посоветуете?? У меня мозг кипит
Vadja-Son вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34