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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2007, 11:36   #11
alikk
Пользователь
 
Регистрация: 11.09.2007
Сообщений: 10
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
можно так
var a:boolean;
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=false;
repeat
application.ProcessMessages;
until a;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
a:=true;
end;
Попробую ваш пример тоже. Пасибааааааааааааааааааа......
alikk вне форума Ответить с цитированием
Старый 11.09.2007, 11:49   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ring0Sn: Сам то понял что написал?

Вообще то так не делают, но можно :


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var b:boolean;
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
b:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
while b do begin
caption:=TimeToStr(time);
Application.ProcessMessages;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=true;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.09.2007, 13:21   #13
alikk
Пользователь
 
Регистрация: 11.09.2007
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ring0Sn: Сам то понял что написал?

Вообще то так не делают, но можно :


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var b:boolean;
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
b:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
while b do begin
caption:=TimeToStr(time);
Application.ProcessMessages;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=true;
end;

end.

Перепробовал все 3 примочки, ни одна не пошла. Видимо, при работе цикла, при нажатии "кнопки" выхода из цикла, булева переменная не меняет своего значения, т.е. "кнопки" на форме не активны в момент работы цикла, запущенного другой "кнопкой". Чё делать? Видимо, остаются только потоки.....
alikk вне форума Ответить с цитированием
Старый 11.09.2007, 13:29   #14
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

у меня работает вот так

var
b:boolean;

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
b:=false;
for i:=0 to 100000 do begin
if b then break;
label1.caption:=inttostr(i);
Application.ProcessMessages;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
b:=true;
end;
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 11.09.2007, 13:33   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Alikk, все зависит от цикла и что у тебя там происходит, вообще конечно такие вещи потоками рулят. Но если цикл маленький и не тягомутный то мона и таким путем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.09.2007, 13:49   #16
alikk
Пользователь
 
Регистрация: 11.09.2007
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Alikk, все зависит от цикла и что у тебя там происходит, вообще конечно такие вещи потоками рулят. Но если цикл маленький и не тягомутный то мона и таким путем.
Спасибо. Нажав " Пуск" вызывается процедура1, проиходят начальные настройки, инициализация кое каких переменных, затем вызывается процедура2, в не запускается бесконечный цикл. В цикле происходит считывание данных и вывод их в "мемо". При нажатии на "Стоп" должен происходить выход из этого цикла и возврат в форму.
alikk вне форума Ответить с цитированием
Старый 11.09.2007, 13:52   #17
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ring0Sn: Сам то понял что написал?

Вообще то так не делают, но можно :


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var b:boolean;
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
b:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
while b do begin
caption:=TimeToStr(time);
Application.ProcessMessages;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=true;
end;

end.
Слушай давай негоняй, я заню что я писал и пасил я правильно, ну если ты неможеш в 2 строчках кода разобраться то извивни на полный листинг:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  check: boolean = false;
  i: dword = 0;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  while true do
  begin
    inc(i);
    Caption:= inttostr(i);
    if check then break;
    Application.ProcessMessages;
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  check:= true;
end;
alikk Перепробовал все 3 примочки, ни одна не пошла.
А что именно пробуешь, вот точто выше оно работатает например )

Последний раз редактировалось Ring0Sn; 11.09.2007 в 13:55.
Ring0Sn вне форума Ответить с цитированием
Старый 11.09.2007, 14:00   #18
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ring0Sn:
Вообще то так не делают, но можно :
[/I]
Как же тогда делают просвети нас незнающих ?
В отдельные потоки суют все подряд?
Ring0Sn вне форума Ответить с цитированием
Старый 11.09.2007, 14:00   #19
alikk
Пользователь
 
Регистрация: 11.09.2007
Сообщений: 10
По умолчанию

МУЖИКИИИ, ВСЕМ БОЛЬШУЩЕЕЕЕЕЕЕ СПАСИБО. ЗАРАБОТАЛА ШТУКА !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!
alikk вне форума Ответить с цитированием
Старый 11.09.2007, 14:03   #20
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от alikk Посмотреть сообщение
МУЖИКИИИ, ВСЕМ БОЛЬШУЩЕЕЕЕЕЕЕ СПАСИБО. ЗАРАБОТАЛА ШТУКА !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!
Да невопрос...
Ring0Sn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выход из цикла RIO Помощь студентам 1 21.04.2008 22:55
Выход из программы relav_ Общие вопросы Delphi 18 15.03.2008 01:36
Итерационные циклы Андрюха из ПХТТ Паскаль, Turbo Pascal, PascalABC.NET 3 14.02.2008 15:49
Корректный выход Constellation БД в Delphi 3 07.12.2007 15:47
Выход из программы Slash Общие вопросы Delphi 8 24.03.2007 07:53