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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2011, 13:04   #1
Анастаська
Новичок
Джуниор
 
Регистрация: 15.11.2011
Сообщений: 7
Радость Класс TThread

Один подпроцесс добавляет строки в ListBox1. А другой подпроцесс переносит их из ListBox1 в ListBox2. Помогите пожалуйста
Анастаська вне форума Ответить с цитированием
Старый 15.11.2011, 13:07   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

написать за Вас всю программу или все таки ПОМОЧЬ?
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 15.11.2011, 13:09   #3
Анастаська
Новичок
Джуниор
 
Регистрация: 15.11.2011
Сообщений: 7
По умолчанию

Ну в общем я не знаю как это сделать. а нужно срочно.очень очень
Анастаська вне форума Ответить с цитированием
Старый 15.11.2011, 13:25   #4
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Внизу страницы есть ссылки на похожие темы, в целом в них достаточно информации, чтобы написать нужную программу
От себя добавлю - не забывать использовать Synchronize, в противном случае поток не сможет работать с листбоксами
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 15.11.2011, 13:34   #5
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Помочь ему переносить их? )
Son Of Pain вне форума Ответить с цитированием
Старый 15.11.2011, 13:35   #6
Анастаська
Новичок
Джуниор
 
Регистрация: 15.11.2011
Сообщений: 7
По умолчанию

Ну какие все оригинальные то))))))))
Анастаська вне форума Ответить с цитированием
Старый 15.11.2011, 13:39   #7
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Son Of Pain, боюсь надорваться :D
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 15.11.2011, 13:40   #8
Анастаська
Новичок
Джуниор
 
Регистрация: 15.11.2011
Сообщений: 7
По умолчанию

Да я сегодня первый раз услышала про это. а завтра надо сдать(((((((( а разобраться толком не могу((((((((((((((((((
Анастаська вне форума Ответить с цитированием
Старый 15.11.2011, 13:51   #9
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

набираю по памяти, так что не гарантирую нормальную работу

Код:
....... //тут начало, заголовки, подлключение молдулей итд
type
  TThreadOne = Class(TThread)
   private
   a:integer;
   procedure AddToLB;
   public
   procedure Execute; override;
end;
  TThreadTwo = Class(TThread)
   private
   procedure MoveFromLB;
   public
   procedure Execute; override;
end;

implementation


procedure TThreadOne.execute;
begin
randomize;
while (true) do begin //включаем бесконечный цикл
 a:=random(1000000);
 Synchronize(AddToLB);
end;
end;

procedure TThreadOne.AddToLB;
begin
Form1.ListBox1.Items.Add(IntToStr(a));
end;

procedure TThreadTwo.execute;
begin
while (true) do begin //включаем бесконечный цикл
 sleep(1000); //ждем секунду
 Synchronize(MoveFromLB);
end;
end;

procedure TThreadTwo.MoveFromLB;
var i:integer;
begin
if Form1.ListBox2.Items.Count<Form1.ListBox1.Items.Count then
for i:=Form1.ListBox2.Items.Count to Form1.ListBox1.Items.Count-1 do
Form1.ListBox2.Items.Add(Form1.ListBox1.Items[i]);
end;

.....//тут все остальные процедуры на форме

procedure TForm1.Button1Click(Sender:TObject);//обработчик кнопки, ну или еще как либо вызывать это
var T1:TThreadOne; T2:TThreadTwo;
begin
T1:=TThreadOne.Create(true);
T1.FreeOnTerminate:=true;
T1.Resume;
T2:=TThreadTwo.Create(true);
T2.FreeOnTerminate:=true;
T2.Resume;
end;
только тут не перенос, а копирование, если разберетесь с этим кодом, не составит труда сделать перенос (вместо условия - принудительное добавление во второй и последующее удаление из первого)
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 15.11.2011, 13:56   #10
Анастаська
Новичок
Джуниор
 
Регистрация: 15.11.2011
Сообщений: 7
По умолчанию

Спасибо огроменное))))))))))))))))пошла разбираться)))))))
Анастаська вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с TThread t2skler Общие вопросы Delphi 20 16.02.2011 19:14
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
TThread Vladislav_I Общие вопросы Delphi 0 30.04.2010 19:47
TThread и GUI Freezer Общие вопросы Delphi 8 05.08.2009 11:50
использование TThread amandra Общие вопросы Delphi 6 03.05.2008 03:13