TeXpert вообще спасибо за нормальный разговор - всега приятно пообщаться на интересующие темы с умным человеком.
насчет пой песню!! - это прикольно ))
но мне не стыдно за свою программу - я вставил неплохой алгоритм (чужой,правда) и, думаю, пока его достаточно - все-таки определяет 5 кодировок и позволяет перекодировать друг в друга 7-8. Не отказываться же от работы с кодировками из-за того, что возможны погрешности в автоопределении - без этого такая утилита нафиг не нужна будет и мне самому. А позже и над ПОЙ ПЕСНЮ!!! поработаю, лежит у меня наработка по принципально иному анализу текста - просто ее надо с нуля кодить, зато если добавить и ее, думаю неправильные песни больше не проскочат ))).
Попробовал, кстати, эту песню с разными алгоритмами (разные редакторы) - разброд и шатания )) - кто-то смог, кто-то нет.
Цитата: ты прикалываешься? IsTextUnicode() не знаешь?
Эх... Не прикалываюсь я...
чего ж так печально! )
ну есть вероятность неправильного определения юникода, так что? разве это критично?
ну попробую уменьшить ее дополнительным анализом.
Ты же посмотри - в своей программе я ставлю целью скорость и минимальный размер (кстати из 38 кб кода около 10-12 кб - ресурсы) с реализацией основных фич, присущих Notepad-клонам (я для себя так и решил, что mark - это заменитель Notepad-заменителей
)).
Всегда остается возможность нажать в статусбаре правую кнопку и выбрать кодировку.
Вот если бы от правильного определения кодировки по первым 2-3 словам зависело что-то важное и критичное, пришлось бы усиливать алгоритм определения.
А так конечно ты прав - но только где 100% вероятности?
Вероятность просто глюка в моей программе (да наверно и во многих других) с этой точки зрения просто огромна.
Рихтер о багах в своих текстах тоже что-то говорил в начале книги.
Цитата: Ты можешь возразить, что в твоём файле будет много слов. Но представим ситуацию: ты реализовал свой "метод" в программе, которая получает на вход ключевое слово, от правильности трактовки которого зависит многое. Или, скажем, имеется файл словаря, который, в принципе может состоять неоднозначных для твоей "реализации" слов. Например, файл в DOS кодировке, содержащий слова
Код:
Яр
яр
будет неправильно распознан.
хм, я не спорю, все верно - наверно не стоит больше программированием заниматься - результат один - хаос ))).
Я и сам могу примеров привести, даже больше, наверное, чем ты, потому что кодировки и так и так обсасывал, продумывал трудные моменты - например моя программа автоматически выходит из режима определения кодировки с ответом "Кодировка ANSI" если количество символов из расширенного набора меньше 5% от общего количества символов в анализируемом тексте ((.
Так что пока код что называется "грязный", но приятно радующий глаз.
Цитата: Это как сказать. Просто, не все так охотно окликаются, мне тоже проще было бы пройти мимо, оставив всё как было
не проходите мимо и вам воздастся! )
Я вообще, кстати, не программер - это так, хобби, которое в последнее врея из-за этого АПИ хавает просто огромную кучу времени, тем более, что прогу делаю именно минимальной, как уже писал, без рантаймов, со своей точкой входа и прочей минимизацией на VC++.NET, а это дико усложняет все - заморился иногда ошибки отлавливать.
Что еще основного планирую - подсветка синтаксиса (по методу IcZelion), сохранение "компактных" РТФ (как в Atlantis) - сейчас делаю, чистка текста по шаблонам (как в Иероглифе и AfterScan), моментальная загрузка (mapping), отлов последних буферов обмена - короче ужассс.
Когда все это вставлю (даже "грязно") - вздохну облегченно, отдохну и высплюсь.
Вот только нафиг это мне?
Хотя это будет у меня на 2-м месте стоящая по используемости программа, после Total Commander (не считая M$ Windows)).
krisik выложил бы прогу посмотреть - может тогда и подскажем, когда сами увидим, в какой момент глюки лезуть.
Раз ты сам кучу нетривиальных моментов обрабатываешь, то блин можно искать и искать, я уже убедился и сам решил ПОКА лишний раз с отрисовками не связываться.