Копилка MaxLim.

Если Вам понравилась наша программа, Вы можете купить нам кофе (или кофемашину) или пивка для поднятия настроения и ускорения написания новых программ и обновлений :), Пополните копилку и разработка программ ускорится :)...
Пополнить копилку можно несколькими способами:

1. Переводом через мобильный банк Сбербанка - Отправить на номер 900 смс содержания "ПЕРЕВОД 9284741288 100" - где последняя цифра это сумма перевода.
2. Кошелек WebMoney - R809881130844
3. Кошелек Яндекс Деньги - 41001737394948

Контакты для связи:
Skype - go_ramalex
mail - maxlim_soft@mail.ru

Многопоточность в Delphi

                                                                                                                Motorcode, 2009
Uraniumcode@gmail.com

                                          Многопоточность в Delphi.

Многопоточность в приложениях, является одной из основной в программировании. Если бы не было многопоточности, то программа могла бы выполнять только одно действие или один цикл. Все, я думаю, представляют обычный проигрыватель. В самом простом проигрывателе уже есть 3 потока. Само проигрывание, время которое отсчитывается от начала записи и ползунок, который движется синхронно времени. И так во многих приложениях. Без многопоточности — никуда. Поэтому сегодня будем создавать многопоточность в приложениях Delphi, благо что это совсем не сложно.
Для начала создадим новый проект. Если вы открываете Delphi не в первый раз, то с этим проблем не должно возникнуть. Пример сделем простым, но понятным. Поместим на форму компонент TTrackBar и сверху кнопку(TButton). На кнопке напишем «Запустить».  TrackBar удлиним до 15 пунктов для этого в свойстве компонента в параметре  Max, поставим 15.      Теперь открываем Файл->New->Other->delphi files и находем файл Thread object. Он то нам и нужен. Присваиваем имя файла(любое) и сохраняем его. Чтобы не забыть осразу подключаем его к главной форме для этого в uses, пишем то имя, под которым сохраняли файл. И теперь в разделе Var объявляем его как имя класса

var
ban:one;
Где one – имя потока. Теперь переходим в файл с потоком, где будем писать наш код. Находим такой код:

procedure one.Execute;
begin

end;

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

procedure one.Execute;
var
i:Integer;
begin
for i := 0 to 15 do
begin
Sleep(1000);
Form44.TrackBar1.Position:= i;
end;

end;

end.

Согласитесь, всё очень просто: При каждом проходе, засыпаем т двигаем ползунок на главной форме на один пункт. Теперь как раз самое время перейти к этой самой главной форме. Напишем обработчик событий для кнопки OnClick.

bin:= one.Create(true);
bin.Priority:= tplower;
bin.Resume;

Где bin – имя файла, one – имя потока. Сначала создаём поток, потом присваиваем ему приоритет. Остановимся на низком - tpLower. И непосредственно запускаем его. Смотрм что получилось. Нажимаем кнопку и видем что ползунок, каждую секунду перемещается на одно деление вперёд. Развернём, свернём программу, все остётся без изменений. Всё работает. Возможно кое — кто спросит: «А зачем так извращаться, можно же просто на форму цикл поместить?». Давайте попробуем так сделать. Заомментируем инициализацию потока и добавим цикл из файла с потоком. Работает — работает! Только кнопка как — то не естественно вдавилась и форму даже двигать нельзя. Мда... мы зависли! Придётся ждать 15 секунд, чтобы закрыть приложение. Это наглядно продемонстрировало почему надо использовать потоки, тем более это так легко! Удачи вам, во всех начинаниях!



Автор: Uranium | Добавлено: 11.8.2009, 12:36 | Просмотров: 7282
Добавить комментарий


Лучшие программы
Будильник
Lim BurnDisc
Радио плеер
Lim BackUp
Календарь праздников
Телефонный справочник
Аудио конвертер
LimNote
Стикеры
Таймер выключения
Женский календарь
Клавиатурный тренажер
Lim Block Folder
Lim Screenshot
Lim Tree Note
Lim Soft Catalog
Lim Quick Panel
Lim Frame Photo
Photo Text Pro
Lim Flash Security
Lim Launcher
... ... ...

Программы
Блог
Комментарии
Добрый день! В прогр...
Пробуйте запуститься...
Добрый день! Начну с...
Добрый день Максим! ...
...
На номер телефона мо...
а где ваше киви хоте...
Проблема решилась от...
Ребята, вы прост...
Зраствуйте. Кто реши...
Группа VK
Поделиться






Яндекс.Метрика PR-CY.ru Яндекс цитирования

MaxLim.org - Сайт Компании MaxLim http://vsofte.biz MaxLim.org - Сайт Компании MaxLim MaxLim.org - Сайт programs.lv SoftOut.ru - Сайт SoftOut.ru  

Copyright MaxLim © 2007-2017