![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
если в тексте находим строку, начинающуюся с нужной буквы- копируем в буфер и вставляем где сейчас курсор. беда в том, вставляется только последняя строка в которой встречалось удовлетворяющее условие, но вставляется она ровно столько, сколько раз встречалось удовлетворяющее условие. например если в файле такие строки: текст ааа прочаяабракадабра текст ббб прочаяабракадабра текст ввв то вставится "ввв ввв ввв" насколько я понял вставка просто не успевает скопироваться и ввестись, как цикл уже пробежал и в буфер попало последнее удовлетворяющее условие. хотя я сам не до конца понимаю. подскажите, как избавиться от такого эфекта? -------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
А потому что надо сначало "собрать" весь текст в переменной, а потом уже скопировать все в буфер за один раз.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
собрать то не проблема. а как выводить нужный текст из буфера?
допустим алгоритм вычленил слова ааа, бббб, вв. в буфер скопировалось аааббббвв. как мне достать бббб? или надо запоминать количество букв в слове? -------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
По-моему это немного не вяжется с
Вот ты привел конкретный пример
твой алгоритм вырывает отсюда "ааабббввв" и нужно это вставить туда. где курсор. При чем тут теперь "как мне достать бббб?" Ну через pos достань. Через регулярки -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
я ж говорю- алгоритм находит строчку - копирует в буфер и вставляет где сейчас курсор. беда в том, что вместо первой строки, второй и третей вставляется во всех случаях третья строка.
например распознание такого кода приведённым выше аглоритмом будет следущее: клик 100 200 //эмулируется клик мышкой в точке с этими координатами. текст Т1 // в буфер копируется "Т1",эмуляция нажатия контрл+V (должен вставляться Т1, а вставляется Т3) клик 200 300 // эмулируется клик мышкой в точке с этими координатами. текст Т2 // в буфер копируется "Т2",эмуляция нажатия контрл+V (должен вставляться Т2, а вставляется Т3) клик 300 400 // эмулируется клик мышкой в точке с этими координатами. текст Т3 // в буфер копируется "Т3",эмуляция нажатия контрл+V (должен вставляться Т3, он и вставляется) Это сообщение отредактировал(а) BLACK_KOT - 23.1.2011, 02:29 -------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Пожалуйста без пошлостей! А где сам алгоритм? Есть код явно "содранный" откуда-то. Нам что нужно его "довести до ума"? -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
если б алгоритм был содран - он хотябы работал.
-------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
BLACK_KOT, ты меня удивляешь. Уже ж не первый год с Дельфи знаком.
Вот твой первый пример, работающий. Проверял на D XE
запихнул в таймер, что бы было время переключится на другое окно и поставить куда-нить курсор. Кстати, чем обусловлено использование "левой" SetClipboardText, если можно все стандартно сделать? -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
спасибо, Poseidon, с VCL действительно работает. беда в том что я пишу на winapi, потому и использую "левые" функции, которые меня и подводят.
-------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |