|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 11.10.2010
Сообщений: 979
|
gomer, а сам-то как думаешь? Замена символов в строке, что ж еще...
Не нравится - не пользуйся. Как-то желание продолжать решать твои проблемы с отношением "очередной вирус написали, за***ли уже!" пропало напрочь.
__________________
(/= RegDate StartReadDate) |
|||
![]() |
|
||||
Регистрация: 25.11.2010
Киев
Сообщений: 29
|
Цитата:
И я не говорил что ты написал вирус, у меня просто на работе гуляет такая вирусня и не знаю что с ней делать. Так что если можешь помоги пожалуйста. |
|||
![]() |
|
||||
Регистрация: 25.11.2010
Киев
Сообщений: 29
|
Так стояночка. Не хотел никого обидеть, и не надо меня не правильно понимать. Повторюсь есть на работе проблема с автокадовскими так называемыми "вирусами", подменяют функции автокада(проблема с сохранением файлов, внезапное закрытие чертежей и т.д.). В кодах не разбираюсь (надеюсь пока), так что отвечал как мог и как знал, надеясь помочь, направить решение проблемы в правильное русло, отсечь при этом ненужные вопросы.
Я не сразу понял что это код с присланного файла Лиспером, думал что это с чертежа образца который выслал я, сообщение идёт сразу за ним. Помогите плиз... Последний раз редактировалось dpmoucpi, 13.12.2010 в 11:15. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Так мальчидевочки только не подеритесь...
Я так понимаю, функция fun_replace должна выглядеть как-то так: Код:
dpmoucpi, Лиспер так спешил вам помочь, что наваял лажу, а вы его еще и ругаете за доброту душевную, гы |
|||
![]() |
|
||||
Цитата:
Я бы сделал по следующему алгоритму: В цикле перебрать все объекты базы данных чертежа. Если очередной объект - однострочный или многострочный текст, и при этом содержит в себе русские буквы (это легко проверить, получив числовое значение каждого символа в анализируемой строке и проверив, входит ли этот символ в диапазон числовых значений, определённых для русских символов), то выполняю его анализ, суть которого состоит в том, чтобы обратиться ко внешнему xml-файлу, в котором прописано соответствие букв в формате например таком (для примера даю три записи в теле файла): Соответствие по внешнему виду: Код:
Код:
Т.о., как видим - настройки замены не зашиты в коде, а отделены от него (имхо - это правильный подход). В результате работы программы, должен сформироваться отчёт, представленный в графическом виде (например, в виде таблички из двух столбцов). В этом отчёте, в первом столбце пользователю должны быть показаны слова, в которых найдены русские буквы. При этом русская буква должна быть выделена др. цветом (например красным). Во втором столбце должна быть показана альтернатива, предлагаемая на основе XML-файла, при этом, содержимое второго столбца, юзер должен иметь возможность редактировать - вбивать свой вариант замены, если его не устраивает предлагаемый по умолчанию. Кроме того, в каждой строке, перед первым столбцом должен стоять CheckBox - проверив запись и выбрав/задав нужный вариант замены, юзер ставит в чекбоксе галочку (мол проверено). Если юзер не поставил галочку - это слово не должно изменяться после того, как он нажмёт кнопку применения изменений. Когда будет проверено всё - пользователь жмёт кнопку "Выполнить замену". Вот и всё. Код, с помощью которого можно выбрать нужные объекты из базы чертежа я взял отсюда, дабы не искать там его вот он: Код:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 14.12.2010 в 08:52. |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
В случае лиспа это не так - т.к. код не обязательно (и в большинстве случаев не комплируется), а где его "геморойней" редактировать в лиспе или xml еще вопрос. Или вы хотите еще "оболочку" по замене букв создать, тогда уж там надо и правила прописывать (с применением ваших любымых регов, учета где написанно и пр.) и программа разрастается до безобразия (и здесь пожалуй уже xml будет актуальным). А так как русские буквы могут встетится черт знает где, а не только в текстах (в описаниях блоков(динамических), внешних ссылках, доп. данных) - то выход здесь "правильный" только один - заплатить тому-же, например, Ривилису денег - т.к. "по быстрому" не съедешь, а если нет - то и вариант от VVA вполне приемлим.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Конечно, все это правильно, то что hwd предлагает, но реализовать это довольно трудоемко и "выходит за рамки бесплатного"
![]() Мне кажется, будет достаточно модифицировать программу таким образом, чтобы она не производила замены, а лишь выдавала отчет где именно обнаружены русские буквы, дабы пользователь уже самостоятельно исправлял. |
||||
![]() |
|
||||
Регистрация: 25.11.2010
Киев
Сообщений: 29
|
Цитата:
|
|||
![]() |
|
||||
Цитата:
Пользователя следует ограждать от вмешательства в исходный код (имхо). Если настройки замены вынесены во внешний файл, то таких файлов можно создать сколько угодно - в каждом своя логика замены. Код при этом переписывать не придётся - нужно будет только указать, какой xml-файл (из имеющихся) использовать в данном сеансе работы. Цитата:
Думаю тема закрыта, поскольку решение, предложенное VVA подошло пользователю.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Если заставлять юзера менять буквы текстовым редактором - то он что код, что xml может запороть - в обоих случаях программа функционировать перестает. Если делать "красиво" (с чего вы изначально и начали - гуишки с галочками и пр.), то надо и "редактор данных" писать - покажите мне хоть одну платную программу где внесение изменения настроек (штатно) подразумевает редактирование xml - я таких не знаю, а если вы ее и найдете - то это только показатель исключения (пробегитесь поиском по своему комьютеру по маске xml и еще не забываем что есть куча форматов "на основе" - много из них "вручную" правили). Знаю я что такое регексы - просто применяю я свои знания из расчета, что под данную задачу актуальней, а не гребу все под тот-же xml (это не Вам в укор - это просто разные "стили" программирования) - зачем я их упомянул - а при помощи них как раз и удобней всего сделать анализ - опечатка это или русское название (по соседним буквам в случае p c и пр.) . Есть еще много прекрасных решений с помощью которых "на ура" решаются задачи быстро и красиво, надо только уметь ими пользоватся, а не "замыкаться" на одной технологии.
p.s. разрастается она "до безобразия" не из-за гуишек и пр. - это стандартные элементы не отнимающие много времени - а из-за огромного количества мест которые нужно проверить - и далеко не всегда для корректной обработки достаточно "простой замены".
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 14.12.2010 в 12:00. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищу СНиП на Английском языке | aibek | Поиск литературы, чертежей, моделей и прочих материалов | 2 | 09.05.2013 04:51 |
Журналы на английском языке по проектированию зданий и металлических конструкций | nex2hex | Поиск литературы, чертежей, моделей и прочих материалов | 0 | 22.09.2010 11:43 |
Ищу литературу по деревянным конструкциям на английском языке | Foksolic | Поиск литературы, чертежей, моделей и прочих материалов | 9 | 25.02.2009 17:31 |
Ищу статью на английском языке 10-12 тысяч слов. | Sherry | Поиск литературы, чертежей, моделей и прочих материалов | 2 | 10.09.2008 10:41 |
Надписи на чертежах на Украинском языке | sash1222 | AutoCAD | 1 | 27.11.2007 12:41 |