Вопрос № 70100: Подскажите пожалуйста как можно реализовать данную процедуру используя другой способ написания текста программы (очень прошу, если вас не затруднит, выслать не только пояснения, но и текст программы), заранее благодарен...
Создайте свой мето...Вопрос № 70129: добрый день! моя задача считывать стринг с COM порта. у меня два вопроса:
1. почему на переменную "d" приходят нули (#0), что не так?
2. как это запустить в отдельном потоке (Thread) чтобы приложение не подвисало?
буду благодар...
Вопрос № 70.100
Подскажите пожалуйста как можно реализовать данную процедуру используя другой способ написания текста программы (очень прошу, если вас не затруднит, выслать не только пояснения, но и текст программы), заранее благодарен...
Создайте свой метод сортировки с помощью процедуры, которая не использует никаких компонент формы, не принадлежит методам формы, и работает только с ячейками памяти, в которых хранится сгенерированный вами массив.
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: Студент)
Ответ отправлен: 09.01.2007, 09:34
Отвечает: Ivanich
Здравствуйте, Волков А.А.!
Для передачи данных можно испльовать не типизированные массивы, а выделененную способом Windows память. алгоритм длиннее, но работает быстрее и стабильнее.
Для выделения памяти: hnd:=GlobalAlloc(GMEM_GHND, "size");
Для получения указателя на память: ptr:=GlobalLock(hnd);
Для освобождения памяти: GlobalFree(hnd);
Приложение:
Ответ отправил: Ivanich (статус: 3-ий класс)
Ответ отправлен: 09.01.2007, 12:20
Отвечает: Gh0stik
Здравствуйте, Волков А.А.!
Поскольку так никто и не дал ответа, который касается других способов сортировки и их реализации, то советую Вам обратиться к таким источникам:
И напоследок такая информация - проблемам сортировок Дональд Кнут посвятил целый том своего «Искусства программирования».
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 10.01.2007, 16:19
Вопрос № 70.129
добрый день! моя задача считывать стринг с COM порта. у меня два вопроса:
1. почему на переменную "d" приходят нули (#0), что не так?
2. как это запустить в отдельном потоке (Thread) чтобы приложение не подвисало?
буду благодарен за любую информацию. пример привожу ниже:
В событии CreateForm вы обнуляете hPort.
попробуйте уберить последнюю строку скажем в FormClose.
добавить поток можно, через new-other-thread object
в событии OnExecute пишите необходимый код
вызываеться
thread.Create(false); // передаваемый параметр - это указатель (запускать немедленно или вручную)
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: Студент)
Ответ отправлен: 09.01.2007, 12:22
Отвечает: Ivanich
Здравствуйте, [CRA5H-OVERRIDE]!
Насколько я помню хелп по функции CreateFile, то для открытия COM порта надо написать
hPort := CreateFile(PChar('\.COM1', GENERIC_READ + GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Плюс ко всему в системе нет 8-ого COM-порта!
Запуск ветви.
File>New>Other>Thread object
Вводишь имя и получаешь модуль со следующим описанием. (см. приложение)
Для запуска
var
TH:Ttthread;
...
TH:=Ttthread.Create(False);
Вот и все. Ветвь работает.
Приложение:
Ответ отправил: Ivanich (статус: 3-ий класс)
Ответ отправлен: 09.01.2007, 12:39