Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Помогите вставить Exit в нужное место


Автор: Bigreddog 27.5.2009, 13:55
Скажите пожалуйста как мне сделать чтобы при 
Код

f ConnectedToInternet=ctNone then  Form1.Caption:='Нет соединения'; 


не включалась функция ProgressBar1??????????????? Буду очень благодарен!!!

Код

procedure TForm1.Button1Click(Sender: TObject);

var
  I: Integer;
begin

  ShowMessage(IntToStr(RasConnectionCount));
  if ConnectedToInternet=ctNone then
    Form1.Caption:='Нет соединения';
  if ConnectedToInternet=ctProxy then
    Form1.Caption:='Proxy соединение';
  if ConnectedToInternet=ctDialup then
    Form1.Caption:='Dialup соединение';

  Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
  for I := 0 to 222222 do
  begin
    ProgressBar1.Position := I;
  end;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True;
    end;


M
Rrader
Ознакомьтесь с правилами форума.

Автор: Frees 27.5.2009, 14:20
Цитата(Bigreddog @  27.5.2009,  15:55 Найти цитируемый пост)
не включалась функция ProgressBar1??????????????? Буду очень благодарен!!!

что за функция такая ProgressBar1


так чтоли?
Код

procedure TForm1.Button1Click(Sender: TObject);

var
  I: Integer;
begin

  ShowMessage(IntToStr(RasConnectionCount));
  if ConnectedToInternet=ctNone then
  begin
    Form1.Caption:='Нет соединения';
    exit; 
  end;
  if ConnectedToInternet=ctProxy then
    Form1.Caption:='Proxy соединение';
  if ConnectedToInternet=ctDialup then
    Form1.Caption:='Dialup соединение';

  Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
  for I := 0 to 222222 do
  begin
    ProgressBar1.Position := I;
  end;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True;
    end;

Автор: Bigreddog 27.5.2009, 14:24
Я хочу чтобы при функции "нет соединения"  не включалась функция с progressbar1

Автор: Frees 27.5.2009, 14:27
Цитата(Bigreddog @  27.5.2009,  16:24 Найти цитируемый пост)
не включалась функция с progressbar1


что ты называен функция с progressbar1
Код

 ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
  for I := 0 to 222222 do
  begin
    ProgressBar1.Position := I;
  end;

или
Код

  Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
  for I := 0 to 222222 do
  begin
    ProgressBar1.Position := I;
  end;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True;

Автор: Bigreddog 27.5.2009, 14:29
Код

Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
  for I := 0 to 222222 do
  begin
    ProgressBar1.Position := I;
  end;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True;

Автор: Frees 27.5.2009, 14:30
тогда смотри первый ответ

Автор: Bigreddog 27.5.2009, 14:34
Спасибо!!! smile  smile  smile  smile 

Автор: Bigreddog 27.5.2009, 15:25
Нет не помогло! Тоесть помогло что не идет progressbar1 при
 
 if ConnectedToInternet=ctNone then
    Form1.Caption:='111 - Нет соединения';

Но при значениях

  if ConnectedToInternet=ctProxy then
    Form1.Caption:='111 - Proxy соединение';
  if ConnectedToInternet=ctDialup then
    Form1.Caption:='111 - Dialup соединение';

должен работать progressbar1.... Что мне делать!???


Автор: kami 27.5.2009, 17:41
Цитата(Bigreddog @  27.5.2009,  15:25 Найти цитируемый пост)
Что мне делать

Подключиться к интернету.
Код Frees верный.
А у тебя видимо неправильно отрабатывает ConnectedToInternet.

Автор: Palladin 28.5.2009, 03:27
Код

procedure TForm1.Button1Click(Sender: TObject);

var
  I: Integer;
  stop:integer;
begin
  ShowMessage(IntToStr(RasConnectionCount));
  if ConnectedToInternet=ctNone then
   begin 
    Form1.Caption:='Нет соединения';
    stop:=1;
   end;  
if ConnectedToInternet=ctProxy then
    Form1.Caption:='Proxy соединение';
  if ConnectedToInternet=ctDialup then
    Form1.Caption:='Dialup соединение';

  Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
 if stop=0 then
  for I := 0 to 222222 do
    ProgressBar1.Position := I;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True;
    end;

если правильно понял...

Автор: Frees 28.5.2009, 06:33
Цитата(Palladin @  28.5.2009,  05:27 Найти цитируемый пост)
если правильно понял...

наши люди не ищат простых путей smile 

Автор: kami 28.5.2009, 07:37
Цитата(Palladin @  28.5.2009,  03:27 Найти цитируемый пост)
если правильно понял...

А предупреждения компилятора уже побоку?
ДЛЯ КОГО он говорит, что переменная stop может оказаться не-инициализированной?
И зачем 2 раза 
Цитата(Palladin @  28.5.2009,  03:27 Найти цитируемый пост)
Button1.Enabled := True;
?
Тем более - в обработчике этой же кнопки?

ПОЧЕМУ нельзя просто скопировать код Frees ?

Упс...
прошу прощения, не увидел, что сообщение не от автора вопроса.
Но это не отменяет всего вышесказанного.

Автор: Palladin 28.5.2009, 10:13
Да я код и не читал сосбтно по большей части, прочитал первый вопрос, потом прочитал отзывы топикстартера, ну и решил вернуться к старинному методу, написал, запостил.

Унаблед два раза, ну может у него таймер весит и если прогрессбар "погнал" он снова кнопку enabled:=false;...

А про то что у него функция прогрессбара эт:
Код

Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;
  for I := 0 to 222222 do
  begin
    ProgressBar1.Position := I;
  end;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True; 

Как-то не догодался smile , тогда так:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  stop:integer;
begin
  ShowMessage(IntToStr(RasConnectionCount));
  if ConnectedToInternet=ctNone then
   begin 
    Form1.Caption:='Нет соединения';
    stop:=1;
   end;  
if ConnectedToInternet=ctProxy then
    Form1.Caption:='Proxy соединение';
  if ConnectedToInternet=ctDialup then
    Form1.Caption:='Dialup соединение';

if stop=0 then
 begin
  Button1.Enabled := True;
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 10000000;

  for I := 0 to 222222 do
    ProgressBar1.Position := I;
  Beep;
  ShowMessage ('Программа не зарегистрирована');
  Button1.Enabled := True;
    end;
 end;




Автор: kami 28.5.2009, 12:21
Цитата(Palladin @  28.5.2009,  10:13 Найти цитируемый пост)
тогда так

Опять нет инициализации переменной stop.
При первом вызове процедуры она будет проинициализирована нулем (вроде бы).
А что будет в ней при последующих вызовах - никто не знает.
Поэтому первой строчкой кода должна идти
Код

stop:=0;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)