Не печатает по русски!

Страница 1 из 3 1, 2, 3  Следующий

Предыдущая тема Следующая тема Перейти вниз

Не печатает по русски!

Сообщение  DEPOzit в Чт Май 15, 2008 1:16 pm

например:
screenres 200,200,32
print "Привет!"
sleep

При запуске данного примера на экране вместо "Привет!" кракозябры! Что делать? Как заставить его выводить на экран русский шрифт? Sad

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Не печатает по русски!

Сообщение  justar в Пт Май 16, 2008 11:41 am

Открой текств программы в консольном редакторе (например, в редакторе FARa) и перенабери слово "Привет" в нём - в консоле русские буквы отображаются Виндой в кодировке DOS CP 866, а ты набираешь исходник в кодировке Windows CP 1256.

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Не печатает по русски!

Сообщение  DEPOzit в Пт Май 16, 2008 12:34 pm

Менял кодировки, не помогает. Я chr$ прогнал все символы от 0 до 255. Там русскими буквами и не пахнет.
Пользуюсь FreeBasic 18.5b в связке с FBedit 1.0.6. Помогите.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Не печатает по русски!

Сообщение  DEPOzit в Пт Май 16, 2008 12:53 pm

С консолью все получилось при замене кодировки. А вот со Screen... Там уже не консоль а GUI. Графическое Windows-окно. Там никак не избавиться от иероглифов.Sad

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Не печатает по русски!

Сообщение  DEPOzit в Пт Май 16, 2008 12:54 pm

С консолью все получилось при замене кодировки. А вот со Screen... Там уже не консоль а GUI. Графическое Windows-окно. Там никак не избавиться от иероглифов.Sad

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  ZERNOEd в Пн Май 19, 2008 2:06 am

Есть несколько способов решения проблемы. Под дос это KeyRus.
Под Виндовс тут или найти в памяти после загрузки программы где хронится шрифт и заменить его на нужный, или более красивый способ (на мой личный взгляд) сделать вообще свой.
Я вообще считаю что в графическом режиме такие вещи как LOCATE - PRINT - INPUT вообще лучше не использовать, они слишком топорные и "Дышат ДОСом".

Стало быть свой шрифт.
Я нарисовал сам себе практически 255 символов ЧарСета и сделал миханизм работающий аналогично PRINT - LOCATE, только это у мен SUB-ы GPrint, GLocate, GSetColor и тп, даже мелькание букв как в ДОСе сделал через палитру.
Это не так страшно как кажется, суммарно рисование заняло часов максимум 8 с учётом того что я еще делал разные оттенки.
Зато буквы могут быть любого размера, их может быть более 255-и и можно всякие картинки вставлять и подгонять ширину как в виндовсе пробел маленький, а буква широкая.

Теперь это я использую во всех своих программах в графическом режиме.

Например вот так:
http://bhammer.gotdns.org/files/SampleProg.rar

ZERNOEd

Сообщения : 14
Дата регистрации : 2008-03-20
Возраст : 36
Откуда : 5019

Посмотреть профиль http://bhammer.narod.ru/

Вернуться к началу Перейти вниз

Не печатает по русски!

Сообщение  DEPOzit в Пн Май 26, 2008 4:14 pm

Ясн. А исходник программы можно выложить?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  ZERNOEd в Вт Май 27, 2008 4:11 pm

Исходник применяется в некоторых закрытых поделках, в виде библиотеки вероятно могу но надо разобраться как эти библиотеки делать, я пока туда не лазтл.
Я к тому что как ример решения, буквы не обязательно рисовать их можно откудото импортировать написав например программу импорта в DATA из BMP файла.
У меня там ценность не сколько алгоритм сколько сами буквы. Smile

ZERNOEd

Сообщения : 14
Дата регистрации : 2008-03-20
Возраст : 36
Откуда : 5019

Посмотреть профиль http://bhammer.narod.ru/

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  ShenZN в Ср Май 28, 2008 12:52 pm

Привет,

Один из вариантов использовать библиотеку которую написал Александр Иванов
Вот ссылка на его post в форуме: http://freebasic.net/forum/viewtopic.php?t=6074&highlight=unicode+russian&sid=2f8fa8617584bd40e1ebb75d81f05139

Там есть пример и для печати русских букв.
Но в графическом режиме он также не работает Sad

FreeBasic поддерживает unicode, но я пока месть не могу понять как этим воспользоваться.
В документации написан такой пример:

dim a as wstring * 11
a = "Привет, мир"
print "the Unicode of the second char of " & a & " is: " & asc(a)

В хелпе показано, что выведутся русские буквы, но на практике почему-то этого не происходит.

Так же я заметил, что при таком коде

Print asc("Ж"), chr(asc("Ж"))
Выводит 198 и другой символ ( но не Ж), что не правильно

print chr(134), asc(chr(134))
Выводит Ж и число 134, что правильно

Что-то не понятное, в одном случае использует одну таблицу ASCII, в другом другую таблицу.
Буду рад если кто - то разьяснит ситуацию, со всем этим.

Very Happy Very Happy Very Happy

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  DEPOzit в Чт Май 29, 2008 1:24 pm

Решил построить вывод русского шрифта в GUI через команды bload. Только недокумекаю как реализовать это при помощи SUB. Gosub и Return там ведь как такого нет во FreeBasic а с субом мало знаком, посоветуйте.
Мой пример:
Screenres 150,50, 32
Dim myImage As Any Ptr = ImageCreate( 859, 80 )
BLoad "font.bmp", myImage
Put (10,10), myImage, (10,1)-(20,20)
Put (22,10), myImage, (30,1)-(38,20)
ImageDestroy( myImage )
sleep

font.bmp - сам шрифт.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Еще вариант

Сообщение  ShenZN в Чт Май 29, 2008 4:41 pm

На форуме RedCrab выложен его пример по созданию шрифта.
http://csgp.suret.net/blabla/viewtopic.php?f=5&t=21&start=0&st=0&sk=t&sd=a

После нескольких манипуляций у меня получилось добавить русские буквы:


Код:
Type TP_Polar2D
  radius As Double
  angle As double
End Type

Type TP_Vertex2D
  x As Double
  y As Double
End Type

Type TinyPattern
  plot(0 To 17) As TP_Polar2D
  plotxy(0 To 17) As TP_Vertex2D
  size As Double
  angle As double
  alphabet(0 To 255) As String
  Declare Constructor()
  Declare Sub scaleRot(psize As Double,angle As Double)
  Declare Sub DrawScript(ByRef s As String, xc As Integer,yc As Integer,colour As integer)
  Declare Sub DrawText(ByRef s As String, xc As Integer,yc As Integer,colour As Integer)
End Type


Sub TinyPattern.scaleRot(psize As Double,pangle As Double)
  Dim i As Integer
  For i = 0 To 17
      plotxy(i).x = psize*Cos(pangle+plot(i).angle)*plot(i).radius
      plotxy(i).y = psize*Sin(pangle+plot(i).angle)*plot(i).radius
  Next
  this.size = psize
  this.angle = pangle
End Sub

Sub TinyPattern.DrawScript(ByRef s As String, xc As Integer,yc As Integer, colour As integer)
  Dim i As Integer
  Dim ss As String
  Dim c As String
  Dim a As Integer
  Dim As Double x,y,xo,yo
 
  ss = UCASE(" "+s)
  Dim idx As integer
  For i = 1 To Len(ss)
      c = Mid(ss,i,1)
      If c= " " Then
        xo=99999 : yo=99999
      Else
        a = Asc(c)
        If a>=65 And a<(65+18) Then
            a-=65
            x = plotxy(a).x+xc
            y = plotxy(a).y+yc
            If xo = 99999 Then
              xo = x : yo = y
            EndIf
            Line(xo,yo)-(x,y),colour
      '  Line(xo+1,yo+1)-(x+1,y+1),colour+5              '1)EXPEREMENT 
      '  Line(xo+1,yo+1)-(x+2,y+2),colour+10              '2)EXPEREMENT
            xo = x : yo = y
        EndIf
      EndIf
  Next i
End Sub

Sub TinyPattern.DrawText(ByRef s As String, xc As Integer,yc As Integer,colour As Integer)
  Dim i As Integer
  Dim a As Integer
  Dim c As integer
  Dim As Double dx,dy
  c = Len(s)/2
  dx = this.size*Cos(this.angle)*2
  dy = this.size*Sin(this.angle)*2
  For i = 1 To Len(s)
      a = Asc(Mid(s,i,1))
      this.DrawScript(alphabet(a),xc+dx*(i-1-c),yc+dy*(i-1-c),colour)
  Next
End Sub



Constructor TinyPattern()
  Dim i As Double
  Dim j As Integer
  Dim k As Integer
  dim As Integer x,y
  Dim pi As Double
  pi = Atn(1)*4
  j = 0
  this.plot(j)= Type<TP_Polar2D>(0,0)
  j+=1
  For i = 0 To 2* PI-PI/4 Step PI/4
      this.plot(j) = Type<TP_Polar2D>(1,i)
      this.plot(j+8) = Type<TP_Polar2D>(Sqr(2)/2,i)
      j + = 1
  Next
  scaleRot(4,0)
  ' sign
  this.alphabet(Asc("+")) = "PL NJ" :  this.alphabet(Asc("-")) = "NJ" :  this.alphabet(Asc("*")) = "OK MQ NJ"
  this.alphabet(Asc("/")) = "IE" :  this.alphabet(Asc(":")) = "PP LL" :  this.alphabet(Asc("!")) = "PA LL"
  this.alphabet(Asc("#")) = "JJ KK LL MM NN OO PP QQ AA" : this.alphabet(Asc(".")) = "LL" :  this.alphabet(Asc(",")) = "LD"
  this.alphabet(Asc("'")) = "HP" :  this.alphabet(Asc("(")) = "HGED" :  this.alphabet(Asc(")")) = "HICD"
  ' Digit
  this.alphabet(asc("0")) = "EIHGEDCI"
  this.alphabet(asc("1")) = "GHL"
  this.alphabet(asc("2")) = "GHIEC"
  this.alphabet(asc("3")) = "GHIACDE"
  this.alphabet(asc("4")) = "LHNJ"
  this.alphabet(asc("5")) = "IGNJCDE"
  this.alphabet(asc("6")) = "IHGEDCJN"
  this.alphabet(asc("7")) = "GIL"
  this.alphabet(Asc("8")) = "NGHICDENJ"
  this.alphabet(asc("9")) = "JNGHICDE"
  ' Alphabet Upercase
  this.alphabet(asc("A")) = "ENOPQJC NJ"
  this.alphabet(asc("B")) = "EGPQAKLE NA"
  this.alphabet(asc("C")) = "KLMNOPQ"
  this.alphabet(asc("D")) = "EGPQJKLE"
  this.alphabet(asc("E")) = "IGEC NA"
  this.alphabet(asc("F")) = "IGE NA"
  this.alphabet(asc("G")) = "AJKLMNOPQ"
  this.alphabet(asc("H")) = "GE IC NJ"
  this.alphabet(asc("I")) = "PL"
  this.alphabet(asc("J")) = "QKLM"
  this.alphabet(asc("K")) = "GE NP NC"
  this.alphabet(asc("L")) = "GEC"
  this.alphabet(asc("M")) = "EGAIC"
  this.alphabet(asc("N")) = "EGCI"
  this.alphabet(asc("O")) = "JKLMNOPQJ"
  this.alphabet(asc("P")) = "EGPQAN"
  this.alphabet(asc("Q")) = "AKLMNOPQJK"
  this.alphabet(asc("R")) = "EGPQAN AC"
  this.alphabet(asc("S")) = "QPOKLM"
  this.alphabet(asc("T")) = "PL GI"
  this.alphabet(asc("U")) = "GNMLKJI"
  this.alphabet(asc("V")) = "GLI"
  this.alphabet(asc("W")) = "GEACI"
  this.alphabet(asc("X")) = "GC EI"
  this.alphabet(asc("Y")) = "GAI AL"
  this.alphabet(asc("Z")) = "GIEC"
  'Alphabet lower case
  this.alphabet(asc("a")) = "ENOPQJC NJ"
  this.alphabet(asc("b")) = "EGPQAKLE NA"
  this.alphabet(asc("c")) = "KLMNOPQ"
  this.alphabet(asc("d")) = "EGPQJKLE"
  this.alphabet(asc("e")) = "IGEC NA"
  this.alphabet(asc("f")) = "IGE NA"
  this.alphabet(asc("g")) = "AJKLMNOPQ"
  this.alphabet(asc("h")) = "GE IC NJ"
  this.alphabet(asc("i")) = "PL"
  this.alphabet(asc("j")) = "QKLM"
  this.alphabet(asc("k")) = "GE NP NC"
  this.alphabet(asc("l")) = "GEC"
  this.alphabet(asc("m")) = "EGAIC"
  this.alphabet(asc("n")) = "EGCI"
  this.alphabet(asc("o")) = "JKLMNOPQJ"
  this.alphabet(asc("p")) = "EGPQAN"
  this.alphabet(asc("q")) = "AKLMNOPQJK"
  this.alphabet(asc("r")) = "EGPQAN AC"
  this.alphabet(asc("s")) = "QPOKLM"
  this.alphabet(asc("t")) = "PL GI"
  this.alphabet(asc("u")) = "GNMLKJI"
  this.alphabet(asc("v")) = "GLI"
  this.alphabet(asc("w")) = "GEACI"
  this.alphabet(asc("x")) = "GC EI"
  this.alphabet(asc("y")) = "GAI AL"
  this.alphabet(asc("z")) = "GIEC"
'****************************************
  'RUSSIAN 
  ' Alphabet Upercase.RU
  this.alphabet(asc("А")) = "ENOPQJC NJ"
  this.alphabet(asc("Б")) = "EGI NAKLE"
  this.alphabet(asc("В")) = "EGPQAKLE NA"
  this.alphabet(asc("Г")) = "IGE"
  this.alphabet(asc("Д")) = "EMKC MOPQK"
  this.alphabet(asc("Е")) = "IGEC NA"
  this.alphabet(asc("Ё")) = "IGEC NA HH"
  this.alphabet(asc("Ж")) = "GAE PL IAC"
  this.alphabet(asc("З")) = "OPQAJKLM"
  this.alphabet(asc("И")) = "GEIC"
  this.alphabet(asc("Й")) = "GEIC PH"
  this.alphabet(asc("К")) = "EG CNI"
  this.alphabet(asc("Л")) = "EPIC"
  this.alphabet(asc("М")) = "EGAIC"
  this.alphabet(asc("Н")) = "GE JN IC"
  this.alphabet(asc("О")) = "OPQJKLMNO"
  this.alphabet(asc("П")) = "EGIC"
  this.alphabet(asc("Р")) = "EGPQAN"
  this.alphabet(asc("С")) = "KLMNOPQ"
  this.alphabet(asc("Т")) = "LP GI"
  this.alphabet(asc("У")) = "GA IE"
  this.alphabet(asc("Ф")) = "HL GIJNG"
  this.alphabet(asc("Х")) = "GC EI"
  this.alphabet(asc("Ц")) = "OMKQ KC"
  this.alphabet(asc("Ч")) = "GNJI JC"
  this.alphabet(asc("Ш")) = "GECI PL"
  this.alphabet(asc("Щ")) = "GECI PL CD"
  this.alphabet(asc("Ъ")) = "GECJN GF"
  this.alphabet(asc("Ы")) = "IC GELKAN"
  this.alphabet(asc("Ь")) = "GELKAN"
  this.alphabet(asc("Э")) = "GPQJKLE JA"
  this.alphabet(asc("Ю")) = "GE NAPICLA"
  this.alphabet(asc("Я")) = "CIPOAJ JE"
 
  'Alphabet lower case
  this.alphabet(asc("а")) = "ENOPQJC NJ"
  this.alphabet(asc("б")) = "EGI NAKLE"
  this.alphabet(asc("в")) = "EGPQAKLE NA"
  this.alphabet(asc("г")) = "IGE"
  this.alphabet(asc("д")) = "EMKC MOPQK"
  this.alphabet(asc("е")) = "IGEC NA"
  this.alphabet(asc("ё")) = "IGEC NA HH"
  this.alphabet(asc("ж")) = "GAE PL IAC"
  this.alphabet(asc("з")) = "OPQAJKLM"
  this.alphabet(asc("и")) = "GEIC"
  this.alphabet(asc("й")) = "GEIC PH"
  this.alphabet(asc("к")) = "EG CNI"
  this.alphabet(asc("л")) = "EPIC"
  this.alphabet(asc("м")) = "EGAIC"
  this.alphabet(asc("н")) = "GE JN IC"
  this.alphabet(asc("о")) = "OPQJKLMNO"
  this.alphabet(asc("п")) = "EGIC"
  this.alphabet(asc("р")) = "EGPQAN"
  this.alphabet(asc("с")) = "KLMNOPQ"
  this.alphabet(asc("т")) = "LP GI"
  this.alphabet(asc("у")) = "GA IE"
  this.alphabet(asc("ф")) = "HL GIJNG"
  this.alphabet(asc("х")) = "GC EI"
  this.alphabet(asc("ц")) = "OMKQ KC"
  this.alphabet(asc("ч")) = "GNJI JC"
  this.alphabet(asc("ш")) = "GECI PL"
  this.alphabet(asc("щ")) = "GECI PL CD"
  this.alphabet(asc("ъ")) = "GECJN GF"
  this.alphabet(asc("ы")) = "IC GELKAN"
  this.alphabet(asc("ь")) = "GELKAN"
  this.alphabet(asc("э")) = "GPQJKLE JA"
  this.alphabet(asc("ю")) = "GE NAPICLA"
  this.alphabet(asc("я")) = "CIPOAJ JE"
'***************************************
End Constructor

Screenres 1024,768,8,2,1
ScreenSet 0,1
Cls
Dim Shared ch As TinyPattern
Dim Shared lit As TinyPattern
Dim Shared a As Double
a = 0
lit.scaleRot(7,0)
Do
cls 
ch.scaleRot(Sin(a/4)*10+12,Sin(a/2)*3.14159/2)
a+=3.14159/180

ch.DrawText("FREEBASIC ПРИВЕТ!  "+time,512,384,10)
lit.DrawText("А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я", 512, 384,5 )

screensync
Flip
Sleep 1,1
Loop While MultiKey(1) =0
Sleep



Там же имеется функция для поворота и изменения размера, цвета шрифта.
В общем может подойти, кстати, похоже этот способ вывода шрифта он использовал и в своей игре Lander.

Так же в примере есть закоментированная строчка: Line(xo+1,yo+1)-(x+1,y+1),colour+5
Если ее разкоментировать то получиться что-то на подобие 3D шрифта.

PS
Freebasic Bitmap Font Library созданная Deleter
http://deleter.phatcode.net/index.php?page=projects&p=0

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  DEPOzit в Сб Май 31, 2008 1:16 am

Что-то получилось))). Ток 1 минус - придется пристегивать графический файл самого шрифта.

http://depozit.smtp.ru/font.rar

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Eric-S в Вт Сен 23, 2008 4:59 am

Всё печатает, вчера сам проверял и ржал, ведь было всё так просто.

Между прочим исходник лежит в папке examples, причём русский.

Я его почикал, удалив много лишнего и от себя добавил sleep.

Код:

   dim helloworld as wstring * 20 => "Привет, мир!"
print helloworld
sleep

запускаем и на экране, русскими символами печатаеться

Привет, мир!

p.s.
только не сохраняйте исходник в ansi.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Рамуд в Вс Окт 12, 2008 10:32 pm

Не понял, что значит:

только не сохраняйте исходник в ansi.
?? Это как ?

Рамуд

Сообщения : 1
Дата регистрации : 2008-10-12

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Eric-S в Пн Окт 13, 2008 12:00 am

Ansi или кодировка windows 1251 да и вообще ascii в том числе koi8 или dos 866.
Старый совет был, что надо сохранить в досовской кодировке, так вот, это может прокатить только под dos.

Сохранить в unicode просто, например в wordpad жмём сохранить как и выбераем "текстовый документ в юникоде", а если просто "текстовый документ" то это и будет ansi.

К моему сожалению fbIde не поддерживает unicode.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  justar в Пн Окт 13, 2008 9:00 am

В треде обсуждается графический режим, а твой пример - обычная консоль. Дык, в консоле не нужен юникод - достаточно руские тексты набрать в CP866 - например, в редакторе FARa.

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  justar в Пн Окт 13, 2008 9:00 am

Кстати, кто-то знает, в чём прикол оператора DRAW STRING, в чём его отличие от PRINT?

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Eric-S в Пн Окт 13, 2008 9:32 am

Это вы господа, от темы отклонились.
DEPOzit пишет:например:
screenres 200,200,32
print "Привет!"
sleep

При запуске данного примера на экране вместо "Привет!" кракозябры! Что делать? Как заставить его выводить на экран русский шрифт? Sad

А cp866 в моём случае не заработал!
Я правда ничего не прописывал и не выставлял.
Пробовал и
shell "chcp 1251"
Тоже номер не прошел.
А вот юникод сработал.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  justar в Пн Окт 13, 2008 10:57 am

Eric-S пишет:А вот юникод сработал.
Как он сработал? В каком режиме? С какими ключами компилил? Приведи свою прогу полностью, плиз.
Потому, что повторить её не получается...

Модифицировал твой код для графического режима:
Код:

dim helloworld as wstring * 20 => "‡¤а ўбвўг©, ¬Ёа!"
SCREEN 18
print helloworld
sleep
Заметь - строка набрана именно в CP866 (набирал в редакторе FARа) - поэтому здесь видим кракозябры.
Но и в графическое окно, не зависимо от номера графического режима, тоже кракозябры выводятся (только другие Wink
Несмотря на юникод...

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Eric-S в Пн Окт 13, 2008 12:46 pm

Причём тут cp866 я говорю именно про юникод. Программа приведена раньше.
Компилил без ключей, просто
fbc hello_rus.bas
Вся хитрость имено в юникоде.


Я запускаю wordpad
Пишу прогу и сохраняю как, текст в юникоде.
Меняю расширение на *.bas
И компилю.
Никаких других заморочек с кодировками не делаю!

В examples в разделе unicode есть примеры на нескольких разных языках, на русском тоже.
Там правда print не выполняеться, а срабатывает MessageBox.

Режим экрана брал обычный, не screen 13, но думаю он тоже должен работать!
Напиши на личку свой email скину файлы.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  justar в Пн Окт 13, 2008 2:36 pm

А нет у меня вордпада... А даже Ворд не имеет такого сохранения - "текст в юникоде"... Да и бред это - проги в ворде набирать, потом руками переименовывать и в консоли компилить. Не семидесятые года прошлого века, чай Wink

PS: емыло в личку отправил

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Eric-S в Пн Окт 13, 2008 5:50 pm

У меня кроме вордпада ничего другого с юникодом под рукой не оказалось.
fbIde не поддерживает.
А что-то другое искать влом, да и нет места, чтобы установить.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  DoReMi в Пн Окт 13, 2008 11:06 pm

Скажете, вордом... SciTE или другой какой редактор надо.
avatar
DoReMi

Сообщения : 67
Дата регистрации : 2008-08-28
Возраст : 44
Откуда : Волгодонск

Посмотреть профиль http://doreonline.blogspot.com

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Eric-S в Вт Окт 14, 2008 3:35 am

Не понял смысл поста pls другими словами.
Ворда у меня кстати тоже нет.
Я говорил именно о wordpad, блокнот тоже unicode открывает.
Justar надеюсь, получил мою посылочку и отпишеться, что да как.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  justar в Ср Окт 15, 2008 9:30 am

Eric-S пишет:Justar надеюсь, получил мою посылочку и отпишеться, что да как.
Получил.Посмотрел. Печатает. Но! в консоли. А обсуждается вывод кирилицы в графическом режиме.
Поэтому я добавил к твоему исходнику SCREEN и попробовал вывод в разных режимах - и везде получил абракодабру. Следовательно, юникод в обсуждаемом случае не является решением проблемы. А для того, что бы в консоли печатать по русски, юникод не нужен - достаточно набирать выводимые тексты в CP866 (я их обычно правлю в редакторе FARа в режиме "DOS").

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Не печатает по русски!

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Страница 1 из 3 1, 2, 3  Следующий

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения