|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||||
Вывод информации в файл, Кириллица корректно не выводится23.09.2022, 06:43. Показов 7545. Ответов 81
Метки нет (Все метки)
Здравствуйте! Решил вывести информацию в файл по нажатии на кнопку "сохранить", но в файл отображается либо кракозябры, либо ничего, если текст на русском.
Вот код той части кода, которая должна выполнить задуманное: Кликните здесь для просмотра всего текста
Если честно, то я иссяк и хоть это не так важно на данный момент - я про вывод информации в файл, но, думаю, что лишним подобные знания не будут. В чём мой косяк? По идее должно выводить без проблем. Считывая строку из элемента управления "edit" в каком формате ANSII или UNICODE она попадает в буфер?
0
|
||||||
| 23.09.2022, 06:43 | |
|
Ответы с готовыми решениями:
81
Вывод информации - кириллица и латиница вместе
Ввод вывод в файл и консоль.(Кириллица) |
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||||
| 02.10.2022, 06:11 [ТС] | ||||||
|
мне _getch() ближе и работает быстрее, что так что так нужно подключать дополнительную библиотеку, так что хрен едьки не слаще.
0
|
||||||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
|||||||||||
| 02.10.2022, 10:07 | |||||||||||
|
Сейчас это для вас не критично, но если уж есть возможность "забесплатно" сохранить кроссплатформенность, лучше ей пользоваться. Просто хорошая привычка. UPD: аж любопытно стало, проверил в gtk - да, там такая возможность есть, включается gtk_label_set_line_wrap.
0
|
|||||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||
| 03.10.2022, 11:22 [ТС] | |||
|
Это у вас на картинке так текст равномерно распределён от левого верхнего до правого нижнего угла.
0
|
|||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
|||||
| 03.10.2022, 13:48 | |||||
|
0
|
|||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||
| 04.10.2022, 05:38 [ТС] | |||||
|
Текст из N-символов попробовать разделить на равные значения в идеале нужно получить r-строк по m-символов в каждой строке. Если при деление текста на значения от 2 до 9 нет результатов, которые в остатке имеют нуль, то можно отбросить остаток, предварительно, вычислив результаты r и m такие, при которых хвостик буде минимальным. Далее m умножить на ширину символа мы получили ширину окна, тоже самое нужно проделать с r - умножив на высоту символа и получив высоту окна. Теперь мы имеем окно в которое помещается текст согласно условию. Теперь нужно текст вывести в окно - первый этап завершён, инициализация пройдена, теперь нужно понять, как его(текст) обрабатывать при работе с размером окна.
0
|
|||||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
||||
| 04.10.2022, 09:41 | ||||
|
Что-то мне подсказывает, что для такой интерпретации задачи достаточно решить какое-то уравнение, которое даст единственное решение. . В общем, вариант с label'ом мне кажется наиболее правдоподобным - добавить код изменения ширины виджета, возможно шрифта и т.п. Ну и сами попробуйте прикинуть варианты где это задание может использоваться в реальной жизни.
0
|
||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||
| 04.10.2022, 10:14 [ТС] | |||||
|
0
|
|||||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
|||||
| 04.10.2022, 11:59 | |||||
|
Моноширинный это скорее для консоли, сред программирования и т.п. В окне помещается W/wf символов по ширине и H/hf по высоте, оба числа должны быть целыми. А всего символов L. Отсюда несложно найти Останется только подобрать f более точно, чтобы ни по ширине, ни по высоте буквы не обрезались. Разумеется, это самый примитивный способ, делящий текст просто по буквам, не разбираясь где слова. Если так, осталось только ловить оконное событие изменения размера окна и менять размер Label'а. Он же в winapi тоже считается окном, и позволяет задавать свои размеры. Или я что-то неправильно понимаю?
0
|
|||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||||
| 05.10.2022, 04:56 [ТС] | |||||||
|
0
|
|||||||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
||||||
| 05.10.2022, 09:56 | ||||||
|
А там - кто знает, вдруг заказчик потребует Comic Sans использовать. Опять же зависит от того, как именно вы хотите решить задачу - через стандартные виджеты или через ручную отрисовку. Оба варианта имеют учебную ценность. На всякий случай: рассуждения про W, H и f - простейшее решение, которое я за пару минут придумал. А не какое-то стандартное решение. Собственно, поэтому для "практической интерпретации" я рекомендую фиксировать размер шрифта и ширину окна, а по высоте - как повезет. Может, внизу останется куча пустого места, может придется прокрутку добавлять, может окно само растянется по вертикали. Любой из этих вариантов лучше, чем если юзер не сможет прочитать важную информацию.
0
|
||||||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
|
| 05.10.2022, 10:18 | |
|
Надо же, нашел свой код тех времен, когда развлекался с winapi, немного допилил его - SS_LEFT работает как надо. Осталось отловить событие ресайза и менять размер Label'а.
0
|
|
|
фрилансер
6495 / 5723 / 1133
Регистрация: 11.10.2019
Сообщений: 15,284
|
|
| 05.10.2022, 10:28 | |
|
COKPOWEHEU, а ещё можно сам диалог подогнать под размер клиентской области AdjustWindowRectEx
0
|
|
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
|
| 05.10.2022, 10:50 | |
|
Алексей1153, я в лоб сделал, через событие WM_SIZE и SetWindowPos:
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||||||||||||
| 05.10.2022, 11:52 [ТС] | ||||||||||||||
|
Хотя сейчас пробовал, если текст не поместился в строке окна, то слово, которое не пометилось было перенесено на вторую строку. Может в текст нужно ставить ограничители вроде '\n' или ещё какие-нибудь?! Добавлено через 2 минуты
0
|
||||||||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 05.10.2022, 13:27 [ТС] | |
|
0
|
|
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
||||||
| 05.10.2022, 13:55 | ||||||
|
Как исправить то, что текст не всегда видно, вариантов несколько. Можно уменьшать шрифт, но для реальных применений так делать не стоит: ничего будет не разобрать. Можно ограничить изменение размеров окна, чтобы меньше допустимого предела оно не уменьшалось. Можно добавить полосу прокрутки. Да, я не следую тексту вашей задачи буквально, а подгоняю ее под практическое применение. А то если следовать буквально, можно вообще в одну строчку по диагонали вывести, от угла до угла. Тоже, конечно, упражнение, но уже с совсем непонятной практической перспективой.
0
|
||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 05.10.2022, 14:03 [ТС] | |
|
Так работает, но это не то, что нужно.
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||
| 05.10.2022, 14:11 [ТС] | |||||
|
0
|
|||||
|
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,023
|
|||||
| 05.10.2022, 16:54 | |||||
0
|
|||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||||||||
| 06.10.2022, 12:38 [ТС] | ||||||||||
0
|
||||||||||
| 06.10.2022, 12:38 | |
|
Кодировка , кириллица не корректно отображается Не выводится кириллица Не выводится кириллица из БД Не выводится кириллица в консоль Кириллица выводится некорректно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|