Найдено 33 результата

DropSoft
03.06.2025 14:52:21
Форум: Lazarus
Тема: Как узнать командную строку процесса в Windows?
Ответы: 4
Просмотры: 2274

Re: Как узнать командную строку процесса в Windows?

Сорри, в каком модуле NtQueryInformationProcess? Windows и jwatlhelp32 недостаточно.
DropSoft
03.06.2025 10:30:20
Форум: Lazarus
Тема: Как узнать командную строку процесса в Windows?
Ответы: 4
Просмотры: 2274

Как узнать командную строку процесса в Windows?

Как найти командную строку нужного процесса в Windows?
Мне нужно для определенных запущенных процессов найти файлы, с которыми процесс запущен.
Сами процессы ищутся так:


uses ...Windows, jwatlhelp32...

procedure GetProcessParam;
var
Snapshot: THandle;
pe: TProcessEntry32;
begin
Snapshot ...
DropSoft
04.06.2021 09:19:43
Форум: Общее
Тема: СОМ-порт и Windows, как повысить реакцию на прием байт?
Ответы: 8
Просмотры: 21297

Re: СОМ-порт и Windows, как повысить реакцию на прием байт?

Pavia Таймер миллисекунды правильно выдает, без пропусков.

Код: Выделить всё

MemoLog.Add(FormatDateTime('HH:NN:SS.ZZZ  ',Now) + s);

Без overlapped попробую, это надо будет в исходниках модуля Synaser из библиотеки Synapase ковыряться.
DropSoft
01.06.2021 09:42:48
Форум: Общее
Тема: СОМ-порт и Windows, как повысить реакцию на прием байт?
Ответы: 8
Просмотры: 21297

Re: СОМ-порт и Windows, как повысить реакцию на прием байт?

Посылается запрос на скорости вплоть до 3 МБод (переходник с USB на FT232R поддерживает).
На посылку приходит ответ от прибора, практически сразу (задержка - менее пары сотен микросекунд), длина посылок ограничена 256 байт (ограничение прибора), если компьютер не получил ответ на посылку в течении ...
DropSoft
25.05.2021 17:42:11
Форум: Общее
Тема: СОМ-порт и Windows, как повысить реакцию на прием байт?
Ответы: 8
Просмотры: 21297

СОМ-порт и Windows, как повысить реакцию на прием байт?

Работаю с СОМ-портом из Windows, использую модуль Synaser из библиотеки Synapase.
При чтении порта данные приходят частями с интервалом 15-17 мс. Вот пример лога чтения ответа на очередной запрос:
16:54:23.621 _Send> 03 41 00 06 C8 38 8A 34
16:54:23.621 _isRC>
16:54&#58 ...
DropSoft
26.06.2019 13:11:26
Форум: Обучение Free Pascal
Тема: Как обратиться к свойствам владельца?
Ответы: 4
Просмотры: 11819

Re: Как обратиться к свойствам владельца?

serbod Это не совсем то, что надо. У меня MyDevice содержит описание программной модели ресурсов железячных приборов. MyUart - реализация протокола обмена с прибором (порой стандартного, чаще нет), с учетом ограничения ресурсов прибора. То есть MyUart должен быть по сути одним из группы свойств для ...
DropSoft
25.06.2019 15:55:32
Форум: Обучение Free Pascal
Тема: Как обратиться к свойствам владельца?
Ответы: 4
Просмотры: 11819

Как обратиться к свойствам владельца?


// Модуль MyDevice
uses MyUart;

type
TMyDevice = class
private
Freg : array[0..1023] of word;
procedure SetReg(Index: integer; Value:word);
function GetReg(Index: integer) :word;
public
UART: TMyUart;
property Reg[i:integer]:word ...
DropSoft
19.04.2019 17:42:30
Форум: Обучение Free Pascal
Тема: как перевести на Паскаль?
Ответы: 4
Просмотры: 12200

Re: как перевести на Паскаль?

Дож , спасибо! Кое-что прояснилось.
Единственно надо, чтобы FSym был элементом множества TToken, а не строкой.

Потому что я не указал, но есть еще такое определение:
SYMBOLS = { '{': LBRA, '}': RBRA, '=': EQUAL, ';': SEMICOLON, '(': LPAR, ')': RPAR, '+': PLUS, '-': MINUS, '<': LESS }

И еще, как ...
DropSoft
19.04.2019 15:21:23
Форум: Обучение Free Pascal
Тема: как перевести на Паскаль?
Ответы: 4
Просмотры: 12200

как перевести на Паскаль?

Подскажите, как красиво и правильно нижеследующий фрагмент перевести с питона на паскаль?

class Lexer&#58;

NUM, ID, IF, ELSE, WHILE, DO, LBRA, RBRA, LPAR, RPAR, PLUS, MINUS, LESS, \
EQUAL, SEMICOLON, EOF = range(16)

WORDS = { 'if'&#58; IF, 'else'&#58; ELSE, 'do'&#58; DO, 'while'&#58; WHILE ...
DropSoft
19.12.2018 15:56:58
Форум: Обучение Free Pascal
Тема: Статистика времени выполнения процедур
Ответы: 3
Просмотры: 9784

Re: Статистика времени выполнения процедур

zub Огромное спасибо! Вроде то что надо.
DropSoft
19.12.2018 14:42:51
Форум: Обучение Free Pascal
Тема: Статистика времени выполнения процедур
Ответы: 3
Просмотры: 9784

Статистика времени выполнения процедур

Показалось мне, что моя разросшаяся программа на лазарусе под Windows стала медленно работать. Добавил контроль времени исполнения некоторых процедур, нашел и исправил некоторые проблемы, стало работать в несколько раз быстрее. Проверял примерно так:

QueryPerformanceFrequency(iCounterPerSec ...
DropSoft
23.10.2018 09:58:52
Форум: Обучение Free Pascal
Тема: Правила именования переменных и проч.
Ответы: 1
Просмотры: 7313

Правила именования переменных и проч.

Может глупый вопрос, но вот все классы начинаются с буквы "Т", поинтеры с "P"

Переменные в секции private - c буквы "F"
TCustomScrollBar = class(TWinControl)
private
FKind&#58; TScrollBarKind;
FPosition&#58; Integer;
FMin&#58; Integer;
FMax&#58; Integer;
&#46;&#46;&#46;


В событиях ...
DropSoft
18.10.2018 09:48:40
Форум: SynEdit и UniHighlighter
Тема: TSynEdit Как узнать слово под курсором мыши?
Ответы: 4
Просмотры: 37708

Re: TSynEdit Как узнать слово под курсором мыши?

О, похоже GetWordAtRowCol именно то, что надо!

Добавлено спустя 16 часов 10 минут 58 секунд:
Получилось! Может кому пригодится.

procedure TForm1&#46;SynEdit1MouseMove(Sender&#58; TObject; Shift&#58; TShiftState; X, Y&#58; Integer);
var
ln &#58; integer;
wrd &#58; string;
begin
ln &#58;= Y ...
DropSoft
17.10.2018 16:13:43
Форум: SynEdit и UniHighlighter
Тема: TSynEdit Как узнать слово под курсором мыши?
Ответы: 4
Просмотры: 37708

TSynEdit Как узнать слово под курсором мыши?

Собственно сабж.
Мне в событии SynEdit1MouseMove надо вывести хинт, относящийся к текущему слову под курсором мыши.
Есть для этого стандартные средства?
Пока приходит в голову только
procedure TForm1&#46;SynEdit1MouseMove(Sender&#58; TObject; Shift&#58; TShiftState; X, Y&#58; Integer);
var
s &#58 ...
DropSoft
27.08.2018 14:38:46
Форум: Обучение Free Pascal
Тема: как раскрасить изображение цветной маской?
Ответы: 7
Просмотры: 16034

как раскрасить изображение цветной маской?

Имеется на TImage1 ч/б картинка (градации серого)
И такого же размера TImage2, залитый градиентной цветной маской.
Надо получить итоговое изображение, где цвет пикселя равен маске, а яркость пикселя - ч/б картинке.
В цикле по X,Y попиксельно получается дико медленно, у меня прорисовка заняла около ...