Избавиться от кракозябров в тексте

Простейшие вопросы в области инженерной разработки
Ответить
Юрий
leader
leader
Сообщения: 525
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Избавиться от кракозябров в тексте

Сообщение Юрий »

Вошёл в тупик. При отображении текста, взятого из сторонней программы, часть символов отображаются в виде "кроказябров". Не могу понять, что нужно сделать для его правильного отображения. В приложении в контроле слева исходный корявый текст, а контроле справа то, что должно быть. Извините, правильный вариант вложения надо смотреть через пост ниже.
Последний раз редактировалось Юрий 02 июн 2015, 18:42, всего редактировалось 1 раз.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Избавиться от кракозябров в тексте

Сообщение dadreamer »

Открыл, но там оба поля пустые :dntknw: Я порой при копировании из документов с форматированием (Word, веб-сайты) сперва вставляю в блокнот, а оттуда уже в приложение. Так теряется всякое форматирование.
Юрий
leader
leader
Сообщения: 525
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Избавиться от кракозябров в тексте

Сообщение Юрий »

dadreamer писал(а):Открыл, но там оба поля пустые :dntknw: Я порой при копировании из документов с форматированием (Word, веб-сайты) сперва вставляю в блокнот, а оттуда уже в приложение. Так теряется всякое форматирование.
Извиняюсь, забыл записать "по умолчанию".
Вложения
Исследов.vi
(14.82 КБ) 114 скачиваний
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Избавиться от кракозябров в тексте

Сообщение dadreamer »

Похоже, что из DOS-овской программы копировали? Попробуйте вот это:
Вложения
Исследов-1.vi
(10.43 КБ) 126 скачиваний
Юрий
leader
leader
Сообщения: 525
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Избавиться от кракозябров в тексте

Сообщение Юрий »

dadreamer писал(а):Похоже, что из DOS-овской программы копировали? Попробуйте вот это:
Спасибо, помогло. А увеличение массива для символов на единицу имеет принципиальное значение?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Избавиться от кракозябров в тексте

Сообщение dadreamer »

Юрий, последним символом должен идти терминальный байт - \00. Хотя в MSDN четко не написано именно про выходной буфер, в :labview: явно видно, что OemToChar заменяет последний символ на ноль (если массив проинициализировать рандомным числом). Это значит, что если выделить массив, равный длине строки (а не длина строки + 1), то OemToChar будет заменять нулем произвольный байт в памяти, идущий за строкой. Рано или поздно программа может упасть в таком случае.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»