Как да се създаде нишка в Делфи 7
Пример създаде многонишков приложение в Delphi
Аз ще се опитам да се изчисли числото "пи" с максимална точност след десетичната запетая. Разбира се, вградената в Делфи
константа Пи има достатъчна точност, по-добре да се каже - максимално допустимия от най-добрите 10-байтов формат за реални числа удължен. Така че, за да я бие, няма да успее. Но този пример от потоци може да служи като пролог за решаване на реални проблеми.
Първият пример ще съдържа два потока: главен (обработка потребителски вход) и компютър; ние можем да променят свойствата си и да видим реакцията. Така че, направете следните стъпки:
1. Отворете менюто File и изберете New Application в Делфи.
2. Позиция под формата на пет марки и един превключвател, както е показано на фиг. 1.
Преименуване на основната форма fmMain.
3. Отворете менюто File и изберете Save Project As. Запазване на модула като uMain, а проектът - като нишките.
Фигура 1. вид на форми за приложение за Threads
4. Отворете менюто File и изберете New. След това кликнете два пъти върху даден обект, като поток (икона Тема Object) а. Отваря Нови артикули диалоговия прозорец, както е показано на фиг. 2.
Фигура диалогов прозорец 2. Нови артикули с избрания тип обект "поток"
Фигура 3. В диалоговия прозорец New Тема Object
5. Когато бъдете подканени да назове диалоговия поток обект, въведете TPiThread и натиснете (фиг. 3). Освен това, ако желаете, можете да зададете име за да се създаде поток чрез задаване на Кръстен квадратчето Тема и за вписване на название в името поле Тема А. От името на потока се използва само да се позова на удобство, няма да се използва тази възможност.
Delphi ще създаде нов модул и поставете шаблона за новия конец.
6. код въведен в метода на Execute, изчислява броя на I, с помощта на сближаването на безкрайна поредица от Лайбниц:
Pi = 4 - 4/3 + 4.5-4.7 + 4/9 -.
Разбира се, за да се покаже новата стойност след всяка итерация - е същото като това стреля от топ върху колелото. На системата за информационен дисплей ще прекарат десет пъти повече време, отколкото на действителното компютри. Ето защо, ние се запознахме с постоянен updatePeriod, който регулира честотата на текущата стойност.
Изпълнение метод код е показано по-долу:
// По-добре използвайте нечетен брой, за да се избегне ефекта на трептене // UpdatePeriod = 1000001;
7. Отворете менюто File и изберете Save As. Запазване на модула по течението като uPiThread.pas.
8. Редактиране на основната документация и добавяне на модул uMain.pas uPiThread модул към списъка с модули, използвани в раздела за интерфейс. Тя трябва да изглежда така:
9. В формата на публично раздел TfmMain добави линк към нишка създаден от: PiThread. TPiThread;
10. Добавяне на модул uMain две глобални променливи
Този метод, ако сте били да се обръща внимание, се нарича от потока от процедура Синхронизиране. Тя показва текущата стойност по-близо до номер "пи" и броя на повторенията.
Ако основния прозорец е сведена до минимум, на дисплея не се извършва; така, че след като е бил разположени, може да се наложи да изчакате известно време, за актуализация.
11. Кликнете два пъти върху празно място на формуляра за работно място е създаден с FormCreate на метод шаблон. Тук се показва стойността на системата постоянно р ±:
12. Кликнете върху формата на ключа (името cbcalcuiate) и възлага събитие OnClick кода, който създава и унищожава изчислителни нишката, в зависимост от състоянието на ключа:
По този начин, приложение за многонишковите е готов да се изпълнява. Ако всичко върви добре, ще видите една картина, подобна на показаната на фиг. 4.
Фигура 4. стартирате приложения Конци
- Никола "Благодаря ви. Long търси нещо подобно. Само този код излезе за скрипт магазин безплатно ver2
Почивам си в свободното си време
Multi-сайт на WordPress
- Марина "Здравейте! Podsk azhite, моля, ако съм начинаещ не е трудно. Наскоро стартира сайт с проблемите на жените на WordPress (там, докато двойката.
- TruLander »Марина е моят съвет към вас, ако вие не разбирате същността на преработка, по-добре да направи две отделни сайт, тя ще бъде по-лесно, дори и повече.
- Марина "Благодаря ви много!