Galkov писал(а):
Про фикс добавления пустой строки в Memo - чего молчишь ???Добавил я его
------------ Дoбавленo в 19.47:
Aziz писал(а):
У меня вот что выдает:Да, точно, есть такое. Чссзать -- черт его знает почему так выдает

Разработчик
Ответов: 26268
Рейтинг: 2141
|
|||
Galkov писал(а): Про фикс добавления пустой строки в Memo - чего молчишь ???Добавил я его ------------ Дoбавленo в 19.47: Aziz писал(а): У меня вот что выдает:Да, точно, есть такое. Чссзать -- черт его знает почему так выдает ![]() |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
А про точку Array у RichEdit.
У меня какое-то де-жа-вю, что так (кодовое слово - "кракозябры") было с незапамятных времен. И мы не фига не знали, как это забороть. У тебя они же, или я чего-то не обновил ![]() ------------ Дoбавленo в 19.48: Понял, будем считать, что ответил ![]() |
|||
карма: 9 |
|
Ответов: 1297
Рейтинг: 47
|
|||
nesco писал(а): Да, точно, есть такое. Чссзать -- черт его знает почему так выдает Без понятия. Я даже не понял, что это за кодировкаХиасм, вообще программирование - неисчерпаемы на загадки - получше шахмат - за что я их и люблю.. Есть над чем голову ломать)) В этом мире все просто - есть Бог, есть я, есть другие. (кстати, я смотрю на мир с т.зр. объектного прогр-я - все вокруг, даже красивые девушки - являются всего лишь объектами, с внешними и внутренними свойствами ![]() ------------ Дoбавленo в 10.25: Вот еще задачка всплыла - как заставить Replace заменять точное вхождение строки "строка", а не все подряд?
Чего-то стормозил - достаточно выполнить поиск строки с пробелом для решения данной задачи. Но все равно, неплохо добавить в компонент данный функционал поиска и замены точного вхождения подстроки в виде булевого свойства Точнаянеточная замена. Включаю в to do list, если никто раньше не сделает.
|
|||
карма: 3 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Aziz писал(а): неплохо добавить в компонент данный функционал поиска и замены точного вхожденияЭто другая задача. Название у нее - лексический анализ. Несколько более сложная, чем просто добавить булеву переменную. Народ отдельные программы на эту тему ваяет. Скажем, гнутый вариант - flex называется. Вот Вы думаете, что <слово> в кавычках заменять не надо, а кто-то другой будет думать, что - надо. И чего, холивары что ли устраивать будем. Да нет наверное. Закладывать в элементы функционал надо только абсолютно надежный, а не пришедший в голову в первые пять минут. Чтобы не икалось потом, когда тебя будет вспоминать тот, кто борется с твоим "интеллектом". Незлым тихим словом. |
|||
карма: 9 |
|
Ответов: 1297
Рейтинг: 47
|
|||
Ясно.. Но первое что мне пришло в голову как это реализовать - сравнивать длину искомой строки с длиной паттерна - если больше - не заменять. Хотя и там придется проводить анализ что считать частью искомой строки, пробелы и тп.
|
|||
карма: 3 |
|
Ответов: 4658
Рейтинг: 762
|
|||
nesco писал(а): черт его знает почему так выдает?Похоже, RichEdit как-то иначе обрабатывает EM_GETLINE в процедуре TControl.GetItems (которое пришло из RichEditActions.aGetItemText). Тогда как EM_GETTEXTRANGE работает нормально. |
|||
карма: 26 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Это-то понятно...
Надо посмотреть, чего там в новых KOL-ах на эту тему сделано. Не исключено, что народ таки разобрался, чего вместо EM_GETLINE надо клеить. Руки пока не доходят ![]() |
|||
карма: 9 |
|
Ответов: 4658
Рейтинг: 762
|
|||
В новом KOL та же самая лажа. Судя по результатам EM_GETLINE в отладчике, для кириллических символов он тупо возвращает младший байт из двухбайтной кодировки. В обычном Delphi 7 - та же проблема. У нас можно попробовать переделать на использование EM_GETTEXTRANGE с ручным вычислением начала и конца строки.
|
|||
карма: 26 |
| ||
файлы: 1 | em_getline.jpg [195.8KB] [451] |
Ответов: 1297
Рейтинг: 47
|
|||
Вот еще, странное поведение StrMask - мне нужно чтобы он учитывал пробелы в маске, а он ни в какую. Необходимо отфильтровать названия функций из кода. Чтобы любое изменение ключевого слова int (например, dint, dintf), вызывало его исчезновение из списка функций. Странно, что это работает только для последних функций в строке (int function3 () и int function4 ())
code_31093.txt |
|||
карма: 3 |
| ||
файлы: 1 | code_31093.txt [2KB] [397] |
Ответов: 9906
Рейтинг: 351
|
|||
Aziz писал(а): Чтобы любое изменение ключевого слова int (например, dint, dintf), вызывало его исчезновение из списка функций. Странно, что это работает только для последних функций в строке (int function3 () и int function4 ())Не подтверждается ![]() Aziz, мы были бы Вам благодарны за предварительную, все-таки - подготовку схемы. Например, как на рисунке. А не так, как у Вас. Настолько благодарны, что даже продолжили БЫ работу с Вами |
|||
карма: 9 |
| ||
файлы: 1 | 4aziz1.png [19.3KB] [516] |
Ответов: 1297
Рейтинг: 47
|
|||
Спасибо за совет, простите, но таков мой стиль, ничего не в силах с этим поделать. И в школе был троечником..
![]() Схема примитивна и тестовая, поэтому я не счел нужным ее причесывать и вылизывать. Galkov, а Вы попробуйте сделать точно как я посоветовал - изменить ключ. слово не в середине, а по краям. Тогда удастся воспроизвести баг-эффект. Так и у меня все работает. Мне кажется, общественная польза от выявленных мной потенциальных багов в компонентах перевешивает всю сложность работы со мной и изучения моих корявых схем.. ![]() ![]() ![]() Payment options You can pay via any 6 services provided below: 1. www.skrill.com: azizazizovГАВyandex.ru 2. www.liqpay.com: +79096382240 3. www.libertyreserve.com: U1531832 4. www.money.yandex.ru: 410011175743598 5. www.webmoney.ru: Z275478423152 or E422857176038 or R324079827144 6. www.paypal.com: azizazizovГАВyandex.ru К тому же, благодаря этой теме, думаю многие новички научатся работать со строками и не наступать на мои грабли. |
|||
карма: 3 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Aziz писал(а): Простите, но таков мой стиль, ничего не в силах с этим поделатьНе простим. И Вы не у нас бета-тестер. Мы, во-первых: не делаем продукт, во-вторых: не на продажу. Взрослый человек сделал свой выбор. Следовательно, он должен быть готов к тому, что его пошлют в нужное место. Таков наш стиль: посылать людей, которым в лом ударить палец об палец, чтобы им же и помогли И мы тоже ничего не можем с этим поделать. Последний раз
------------ Дoбавленo в 13.19: nesco, закрывай тему к чертовой матери Ну не хочет народ мыться - пусть ходит грязный ![]() |
|||
карма: 9 |
|
Ответов: 1297
Рейтинг: 47
|
|||
[flood]А это уже эмоции.. Узнаю классический юмор от Galkov'a.)) A тема-то в чем виновата?
Прощайте и прощено будет (с).. Я никого не заставляю открывать мои схемы и помогать мне в чем-либо. Кому плохо при виде моей схемы - можно спокойно покинуть этот топик. Кто в силах как-то помочь - тому спасибо.[/flood] Спасибо за правку, правда, все равно не полностью фильтрует: code_31095.txt [flood]Насчет омовения раз уж заговорили, - я кришнаит и вообще должен мыться 3 раза в день. Но моюсь 1 раз по утрам. Так что с этим все ок. ![]() |
|||
карма: 3 |
| ||
файлы: 1 | code_31095.txt [1.8KB] [409] |
Ответов: 16884
Рейтинг: 1239
|
|||
карма: 25 |
| ||
файлы: 1 | code_31096.txt [764B] [301] |
Ответов: 9906
Рейтинг: 351
|
|||
Aziz писал(а): А это уже эмоции.. Тема-то в чем виновата?Это не эмоции, а руководство к практическому действию. Например: закрыть тему, продолжать беседу с человеком, или - нет. Еще например: если мне программист на работе расскажет аналогичным образом про свой стиль - он получит предупреждение о неполном служебном соответствии. Абсолютно практические действия, и никаких эмоций: предприятию требуются сотрудники, результаты работы которых, предназначены не только для компа, но и для коллег. Даже - прежде всего для коллег. Aziz писал(а): правда, все равно не полностью фильтруетНе разобрались, но выводы про StrMask уже сделали Лишнее пропускал не StrMask (тем более, что сейчас один - уже лишний), а BlockFind. И сейчас он пропускает. Добавьте пробел в конец BlockFind.StartBlock - перестанет. И вообще, проще все делается
|
|||
карма: 9 |
|