169 похожих чатов

Никто случаем не знает, как по-хорошему делается дозапись текста в

edit на винапи?

25 ответов

13 просмотров

Как это дозапись? Типа автозаполнения?

The Bird of Hermes- Автор вопроса
КТ315
Как это дозапись? Типа автозаполнения?

Ну типа добавляется ещё текст к тому, что уже был

The Bird of Hermes
Ну типа добавляется ещё текст к тому, что уже был

Так просто прочитай (GetDlgItemTextA/GetWindowTextA), и допиши, затем вставь.

The Bird of Hermes- Автор вопроса
КТ315
Так просто прочитай (GetDlgItemTextA/GetWindowText...

Я планирую чтобы в этом edit было прям возможно очень много текста

The Bird of Hermes
Я планирую чтобы в этом edit было прям возможно оч...

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

The Bird of Hermes- Автор вопроса
КТ315
Так получи размер текста, который там вписан, и вы...

Так этот текст ещё надо получить, склеить с полученными данными и установить обратно, че то у меня подозрения есть что весьма затратная операция. В тырнетах предлагали через SETSELECTED и REPLACESELECTED, но я беспокоюсь за сохранность фокуса и уже возможно выделенного текста

The Bird of Hermes
Так этот текст ещё надо получить, склеить с получе...

Это за пару миллисекунд всё сделается. GetWindowTextLength+GetWindowTextA+VirtualAlloc+movaps+SetWindowTextA+VirtualFree

The Bird of Hermes- Автор вопроса
КТ315
Это за пару миллисекунд всё сделается. GetWindowTe...

Даже при условии того, что у меня будет потенциально огромный кусок текста?

The Bird of Hermes
Даже при условии того, что у меня будет потенциаль...

Насколько? 1 гигабайт текста склеит не больше, чем за 2-3 секунды, думаю.

The Bird of Hermes- Автор вопроса
КТ315
Насколько? 1 гигабайт текста склеит не больше, чем...

А вот фиг знает сколько там с порта может налететь

The Bird of Hermes
А вот фиг знает сколько там с порта может налететь

А с чем ты склеивать собрался? Тоже переменными данными, или свои какие-то?

The Bird of Hermes
Переменные, с порта

Склеить данные с порта с другими данными с порта?

The Bird of Hermes- Автор вопроса
КТ315
Склеить данные с порта с другими данными с порта?

Склеить уже имеющиеся данные в эдите с новыми данными. Типа чтоб в реальном времени выводить все, что на порте появляется

The Bird of Hermes
Склеить уже имеющиеся данные в эдите с новыми данн...

Зачем? Это для чего? Почему нельзя просто изменять данные в EDIT, зачем склеивать?

The Bird of Hermes- Автор вопроса
КТ315
Зачем? Это для чего? Почему нельзя просто изменять...

Чтобы отслеживать что было отправлено ранее тоже

The Bird of Hermes
Чтобы отслеживать что было отправлено ранее тоже

Сделай просто лог-файл. А в окно выводи только настоящее, и предыдущее значение.

The Bird of Hermes- Автор вопроса
КТ315
Сделай просто лог-файл. А в окно выводи только нас...

Его нельзя будет отслеживать в реальном времени

КТ315
Так просто прочитай (GetDlgItemTextA/GetWindowText...

Жесть ты весь api знаешь или гуглишь так быстро?

The Bird of Hermes- Автор вопроса
Alexey
Жесть ты весь api знаешь или гуглишь так быстро?

Да эти штуки быстро запоминаются, нужны часто

The Bird of Hermes
Его нельзя будет отслеживать в реальном времени

Сделай как Томаш - просто выдели огромный кусок памяти, и там склеивай сколько хочешь, и проверяй, подходит ли память к концу. Когда подходит - VirtualFree+VirtualAlloc, указатель измени, и снова пиши сколько хочешь.

The Bird of Hermes
А почему не malloc/free?

Фуу, это же Сишные, там куча обёрток. Медлятина.

The Bird of Hermes- Автор вопроса
The Bird of Hermes
Хм, в принципе, аргумент

VirtualAlloc почти сразу прыгает в NtVirtualAlloc, а там в ядро. Кстати, можешь сразу импортировать ntdll.NtVirtualAlloc, будет ещё круче.

Похожие вопросы

Обсуждают сегодня

Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
анрей С какой целью зашёл?
КТ315
42
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Кто нибудь из участников чата пишет на ассемблере под GNU/Linux?
Spiker01
24
Всем привет ребят! Мб кто-то сталкивался? adminСomponents .get("searchСomponents", use: searchComponents) .openAPI( summary: ...
Admin Adminov
2
Насколько моя реализация Exercise 1 плохая? data MessageType = Info | Warning | Error Int deriving (Show, Eq) type TimeStamp = Int data LogMessage = LogMessage ...
= ?
10
Кстати вопрос. Проанализировав свои проекты я понял, что в наиболее ценных из них Асм использовался для организации real-time процессов (внутри DOS). А какие есть способы сего...
Alexander Morozov
18
Я не очень много работал с потоками, тут возник вопрос - если будет одновременный доступ к памяти из двух разных потоков, это само по себе приведет к ошибке?
The Bird of Hermes
25
Карта сайта