Не печатает по русски!
+12
valdimir
vbman
Freebasic_ru_admin
Gena
tux
DoReMi
Рамуд
Eric-S
ShenZN
ZERNOEd
justar
DEPOzit
Участников: 16
Страница 2 из 3
Страница 2 из 3 • 1, 2, 3
Re: Не печатает по русски!
Виноват. Моя оплошность. Вот он:trew пишет:
Здравствуйте! Вы бы хоть код выложили(или часть кода). Не факт конечно, что помощь будет 100%, но уже все же попроще будет... А так, как на кофейной гуще гадать.
- Код:
Cls
Print "Привет Мир."
# define unicode
#Include "windows.bi"
MessageBox NULL, "Привет Мир.", "ПРИВЕТСТВИЕ", MB_ICONASTERISK
Open "test.txt" For Output As #1
Print #1, "Привет Мир."
Print #1, "hello world."
Close #1
?????? ???.
hello world.
А в консоле и окне сообщений нормально.
З.Ы. Сохраняю в юникоде.
Анатолий- Сообщения : 4
Дата регистрации : 2010-11-17
Возраст : 49
Откуда : Енакиево, Донбасс
Re: Не печатает по русски!
хе, а фря то считает, что это в аскии, поэтому и переводит превед, в аскии сначала, потом пишет в файл, а т.к. в аски нет символов для кириллицы, то и заменяются они вопросом
Cls
Print "Привет Мир."
# define unicode
#Include "windows.bi"
MessageBox NULL, "Привет Мир.", "ПРИВЕТСТВИЕ", MB_ICONASTERISK
Open "test.txt" For Output Encoding "utf18" as # 1
Print #1, "Привет Мир."
Print #1, "hello world."
Close #1
Cls
Print "Привет Мир."
# define unicode
#Include "windows.bi"
MessageBox NULL, "Привет Мир.", "ПРИВЕТСТВИЕ", MB_ICONASTERISK
Open "test.txt" For Output Encoding "utf18" as # 1
Print #1, "Привет Мир."
Print #1, "hello world."
Close #1
Re: Не печатает по русски!
Спасибо, теперь все получается. Понял в чем дело.
Анатолий- Сообщения : 4
Дата регистрации : 2010-11-17
Возраст : 49
Откуда : Енакиево, Донбасс
Re: Не печатает по русски!
Анатолий пишет:Спасибо, теперь все получается. Понял в чем дело.
а вот у меня пока ни чего не получается.
По ходу у всех в консоли высвечиваются русские буквы кроме как у меня.
Программа из предыдущего примера также выдает абракадабру и в консольном окне и в диалоговом.
Народ, помогите. Мне детишек в школе программировать надо учить.
Установлена FBIde 0.4.6
В тексте программы с русским все нормально.
Собственно вопрос:
как из программы типа:
cls
print "Привет"
sleep
- получить в консоли слово Привет, а не абракадабру?
ap- Сообщения : 2
Дата регистрации : 2011-01-17
Re: Не печатает по русски!
ну, к сожалению, для этого нужно сначала сохранить её в уникоде, потом она и будет показывать "привет". Для всех прог, в тексте которых есть символы кириллицы или спецсимволы нужно сохранять в уникоде, вот мой совет.
Насчет кракозябр... у меня этот же пример выдал "яЁштхЄ", я посмотрел - это кодировка 866 OEM, русская. Во всех аски-подобных кодировках латиница размещена ниже 127 места, и имеют постоянные номера. Значит, если проги не имеют спецсимволов, то будут парситься нормально пчти в любой кодировке, и выдавать верных результат, иначе придется в уникоде. как-то так вродь.
в папке компилятора есть папка Examples - в ней примеры и к мануалам, и библиотекам, и к использованию уникода. сам особо не проверял, но должны быть работающими. вот на них и учить. Кстати, просьба у меня - учите, пожалуйста, ещё оформлению и стилю кода, так как у меня в школе особо не рассказывали, а приучать к порядку желательно сразу, имхо.
Насчет кракозябр... у меня этот же пример выдал "яЁштхЄ", я посмотрел - это кодировка 866 OEM, русская. Во всех аски-подобных кодировках латиница размещена ниже 127 места, и имеют постоянные номера. Значит, если проги не имеют спецсимволов, то будут парситься нормально пчти в любой кодировке, и выдавать верных результат, иначе придется в уникоде. как-то так вродь.
это из моего что ли? ээ у мя там небольшая такая ошибка вместо "utf18" нужно "utf8", описался.
Программа из предыдущего примера также выдает абракадабру и в консольном окне и в диалоговом.
в папке компилятора есть папка Examples - в ней примеры и к мануалам, и библиотекам, и к использованию уникода. сам особо не проверял, но должны быть работающими. вот на них и учить. Кстати, просьба у меня - учите, пожалуйста, ещё оформлению и стилю кода, так как у меня в школе особо не рассказывали, а приучать к порядку желательно сразу, имхо.
Re: Не печатает по русски!
Спасибо за отзыв.
Открыл Блокнот, написал сию незамысловатую программу, сохранил в Юникоде, сменил .txt на .bas запустил через fbc.exe , получил exe-файл своей немудреной программы, запустил ее и получил на черненьком экране слово Привет! - на нормальном русском языке. Рад безмерно! ОФИГЕТЬ!!!
А можно как-нибудь попроще? Прямо в (из) FBIde?
Открыл Блокнот, написал сию незамысловатую программу, сохранил в Юникоде, сменил .txt на .bas запустил через fbc.exe , получил exe-файл своей немудреной программы, запустил ее и получил на черненьком экране слово Привет! - на нормальном русском языке. Рад безмерно! ОФИГЕТЬ!!!
А можно как-нибудь попроще? Прямо в (из) FBIde?
ap- Сообщения : 2
Дата регистрации : 2011-01-17
Re: Не печатает по русски!
Можно попроще (но не в FBIde, а в FbEdit). Ссылка находится здесь -- https://freebasic.forum2x2.ru/t8-topicap пишет:А можно как-нибудь попроще? Прямо в (из) FBIde?
Открываем меню "файл", "сохранить как", далее в появимшемся окне отмечаем "Save As Unicode" и жмем "сохранить". Все, надеюсь что помог.
З.Ы. Если по ссылке в той теме не получится, то стоит поискать в гугле, или здесь http://fbedit.freebasic.net/
Анатолий- Сообщения : 4
Дата регистрации : 2010-11-17
Возраст : 49
Откуда : Енакиево, Донбасс
Re: Не печатает по русски!
Вот так можно выводить русские символы в консоль, без всяких сохранений файла в юникод:
- Код:
#Include "windows.bi"
Var aa="Привет, выпить нет?"
Var blen = (Len(aa)*2)+2
Dim As WString Ptr wbuf
wbuf = Allocate( blen )
MultiByteToWideChar(CP_ACP, 0, aa, -1, wbuf, blen)
? *wbuf
sleep
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Страница 2 из 3 • 1, 2, 3
Страница 2 из 3
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|