Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

цыклы   Найти похожие ветки 

 
ant_   (2005-11-06 20:04) [0]

такая вот проблема у меня: пишу следуйщий цыкл,нормално работает.(prosto primer)

Button1;

for i:=1 to 100 do
label1.caption:=FloatToStr(i);
sleep(200);
application.processmessage;

но когда добавляю ешо один цыкл в туже кнопку,вот тогда и проблема появляется.а проблема в том что, при шелчке на эту кнопку,программа делает с перва один цыкл  когда она заканчивается, делает следуйешуйу. как можно зделать так чтоб при шелчке начались оба цыкла?
и вот другой вопрос: пока цыкл не закончевается,не возможно зактыть форму . как эту проблему решить?

P.S.izvenyayus za ruskiy.


 
Anatoly Podgoretsky ©   (2005-11-06 20:08) [1]

Циклы могут работать только поочередно, для паралельного исполнения нужны потоки.
В цикле обрабатывать глобальный флаг и делать break


 
SergP ©   (2005-11-06 22:33) [2]

Удалено модератором
Примечание: Офтопик и автор извинился за свой язык


 
ant_   (2005-11-07 01:47) [3]

Удалено модератором
Примечание: Наездов не надо


 
Toxa_ua ©   (2005-11-07 02:32) [4]

Можно в обеих циклах попробовать поставить метки перехода GoTo. В 1-м цикле после выполнения необходимых операций написать GOTO2. И аналогично во 2-м написать GOTO1. И эти циклы будут эмулировать одновременное выполнение.


 
Brother ©   (2005-11-07 05:50) [5]

что то меня этот цикл напрягает. А не так ли надо?

for i:=1 to 100 do
begin
label1.caption:=FloatToStr(i);
sleep(200);
application.processmessage;
end;


 
Brother ©   (2005-11-07 05:52) [6]

или sleep итд тут не причем? Тогда зачем
sleep(200);
application.processmessage;
вообще писать?


 
SergP.   (2005-11-07 12:53) [7]


> ant_   (07.11.05 01:47) [3]
> esli ti ne zametil,ya izvenilsya, umnik!


Не надо нервничать....

Вот тебе пример (туповатый правды, но работающий, просто что-то нормальное долго писать...):


unit Unit1;

interface

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

type Tcycle1=class(TThread)
   public
   procedure Execute; override;
end;

type Tcycle2=class(TThread)
   public
   procedure Execute; override;
end;

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

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure Tcycle1.Execute;
var
 i:integer;
begin
 for i:=1 to 100 do
 begin
   form1.label1.caption:=FloatToStr(i);
   form1.label1.update;
   sleep(200);
 end;
end;

procedure Tcycle2.Execute;
var
 i:integer;
begin
 for i:=1 to 100 do
 begin
   form1.label2.caption:=FloatToStr(i);
   form1.label2.update;
   sleep(180);
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 with Tcycle1.Create(true) do
 begin
   FreeOnTerminate:=true;
   Suspended:=false;
 end;
 with Tcycle2.Create(true) do
 begin
   FreeOnTerminate:=true;
   Suspended:=false;
 end;
end;

end.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.015 c
4-1127649408
Jolik
2005-09-25 15:56
2005.11.27
PAS обертка для ICMP.DLL


5-1113908678
prodigydancer
2005-04-19 15:04
2005.11.27
Компоненты


4-1127571941
АлЁша
2005-09-24 18:25
2005.11.27
Посылка сообщений


2-1131633888
Витольд
2005-11-10 17:44
2005.11.27
Нить Thread


14-1130944856
-[ HAWK ]-
2005-11-02 18:20
2005.11.27
Использование скинов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский