Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Про Graph

Автор: biba 31.08.2004 13:16

Такой вопрос. Есть программа и по этой программе строится диаграмма. Причем текст в программе (меню и все такое написано русскими буквами). А когда запускается процедура формирования диаграммы из данных текстового файла, то буквы в диаграмме не русские, а какие-то значки, и при выходе из диаграммы все буквы в меню меняются на такие же значки sad.gif . Почему так происходит и что можно сделать, чтобы такого не было? blink.gif[/color][color=blue]
З.Ы. И еще -> я работаю в Паскале,когда окошко маленькое, а когда это процедура запускается, оно становится на весь экран, почему?

Автор: Булат Шакиров 31.08.2004 14:23

1. Как выводится текст? Через OutText? В этом случае русские буквы возможны для шрифта Default (или нужно скачать русские chr-шрифты). Если у Вас WinXP, то эта тема здесь звучала.
2. Потому что происходит переход из текстового режима в графический.

Автор: biba 31.08.2004 14:55

Цитата(Булат Шакиров @ 31.08.04 10:23)
или нужно скачать русские chr-шрифты). Если у Вас WinXP, то эта тема здесь звучала.

А где их можно скачать?

У меня XP, но программа в целом работает и русские буквы тоже, только в графике не работают, и после графики в самой программе sad.gif

Автор: BlackShadow 31.08.2004 15:45

Цитата
Если у Вас WinXP, то эта тема здесь звучала

Ага. Выложи, пожалуйста линьк хоть на одно такое обсуждение. Помтоянно кто-то спрашивает про схожую проблему, но в текстовом режиме. Если вспомнить структуру .Chr, то легко понять, что отображение текста в графике не зависит от системы.

Программа разворачивается на весь экран, т. к. включается графический режим. Это нормальная реакция виндов. Проблема только в том, что в полноэкранном режиме и в оконном используются разные наоры символов. Т. е. если программу вернуть в состояние "окошка" (Alt+Enter) после работы с графикой, то русский текст вернётся.

А скачать русские шрифты можно на http://pascal.sources.ru...

Автор: Ozzя 31.08.2004 16:03

Цитата(BlackShadow @ 31.08.04 11:45)
Если вспомнить структуру .Chr, то легко понять, что отображение текста в графике не зависит от системы.

Не для шрифта default

Автор: biba 31.08.2004 17:06

Цитата(BlackShadow @ 31.08.04 11:45)
А скачать русские шрифты можно на http://pascal.sources.ru...

А что именно надо скачивать, там столько всего много. <_< Я имею ввиду программа с этими шрифтами как-то называется или как unsure.gif blink.gif

Автор: biba 31.08.2004 17:12

Цитата(BlackShadow @ 31.08.04 11:45)
Проблема только в том, что в полноэкранном режиме и в оконном используются разные наоры символов. Т. е. если программу вернуть в состояние "окошка" (Alt+Enter) после работы с графикой, то русский текст вернётся.


А если постоянно работать с большим окном, то у меня постоянно вместо букв иероглифы sad.gif Что же мне теперь делать?
У меня же работу проверять наверняка будут в таком режиме, потому что наша преподши слепая :D
Я в шоке! Что же мне теперь все на английский переводить? :P angry.gif

Автор: BlackShadow 31.08.2004 17:46

http://pascal.sources.ru/graph/bgirfont.zip

А с полноэкранным режимом... Подарите преподше очки.

Автор: biba 31.08.2004 18:02

BlackShadow, спасибо за совет, если бы этот мой подарок отразился на моей оценке… rolleyes.gif :P

Ну я скачала эти шрифты, а что дальше? blink.gif В графике как были иероглифы так и остались. И с окном большим вообще ничего сделать нельзя, чтобы буквы нормальные были? sad.gif [list]

Автор: BlackShadow 31.08.2004 18:27

можно попробывать запустить cmd, там keyrus, затем паскаль... Это всё уже кучу раз обсуждалось - посмотри по поиску.

После того, как ты скачала фонты нужно их подгрузить. Как это делается: честно не помню - я работал со своими функциями для этого. В Graph'е есть что-то такое. Подгружаешь, устанавливаешь и вперёд smile.gif. только вот файл этот .chr'ный с собой тягать придётся...

Автор: Ozzя 31.08.2004 19:11

Код
 uses Graph;

 var
  Driver, Mode: Integer;
  TestFont: Integer;
 begin
  TestFont := InstallUserFont('TEST');   { Install the font }
  if GraphResult <> grOk then
  begin
    Writeln('Error installing TestFont (using DefaultFont)');
    Readln;
  end;
  Driver := Detect;   { Put in graphics mode }
  InitGraph(Driver, Mode, ' ');
  if GraphResult <> grOk then
    Halt(1);
  SetTextStyle(TestFont, HorizDir, 2);   { Use new font }
  OutText('Installable fonts supported...');
  Readln;
  CloseGraph;
 end.

Автор: BlackShadow 31.08.2004 19:16

Хорошо, когда Pascal под рукой есть smile.gif

Автор: Ozzя 31.08.2004 19:24

Цитата(BlackShadow @ 31.08.04 15:16)
Хорошо, когда Pascal под рукой есть smile.gif

УГУ :D
2 biba
Вместо test надо будет подставить название Вашего шрифта

Автор: biba 31.08.2004 20:44

А вот эту Озину программку можно прямо в программу диаграммы впихнуть?
А как я узнаю какой у меня шрифт unsure.gif самый простой, который сразу белыми буквами на черном фоне smile.gif
Что такое cmd я тож не знаю :o sad.gif

Автор: BlackShadow 31.08.2004 20:58

Теперь всё по-очереди:
1). Нельзя. Надо найти то место, в котором инициализируется графика (InitGraph) и вставить туда строки

Код

...
InitGraph(...);

TestFont := InstallUserFont('TEST');
SetTextStyle(TestFont, HorizDir, 2);
...


2). Имя шрифта совпадает с именем файла. Т. е. в файле goth.chr хранится фонт goth. А белым по чёрному - это не шрифт, а цвет.

3). cmd - это command.com, только в вёндах по-новее smile.gif

Автор: biba 31.08.2004 21:40

Я вот добавила эту программку и иероглифы стали готические lol.gif
Ничего у меня не получается sad.gif
Я еще прочитала, как переключится на русский на ХР и прочитала про русификатор. А что это? Можно его где скачать? blink.gif
И я еще одного не могу понять. У меня же работают русские буквы, только не на весь экран когда не работают. Бред <_<

Автор: Ozzя 1.09.2004 11:02

1. Про русские шрифты chr - где скачать, как установить, как подключить к exe-файлу:
http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=pascal;action=display;num=1038203438

2. Как добиться русских шрифтов в BGI-графике?

Цитата
а) шрифт 0 (DefaultFont) Для того, чтобы этот шрифт был русским,
  вектор прерывания 1F должен быть установлен корректно.
  Добудьте откуда-нибудь русский шрифт 8x8 (например, выдерите
из EGA.CPI от русской DOS или из какого-нибудь руссификатора),
возьмите от него вторую половину (1024 байта)
и прилинкуйте к своей программе (см вопрос 5).
После это сделайте SetIntVec($1F,@RussianFont);
Не забудьте обеспечить корректное восстановление этого вектора
при завешении программы.
На уровне команд DOS того же эффекта можно добиться загрузив
резидентную программу GRAFTABL, входившую в комплект DOS версий
до 6.
Запускать ее надо командой GRAFTABL 866, а сама программа
должна быть взята из русской DOS.
б) векторные (CHR) шрифты
Возьмите файлы шрифтов из комплекта русского Paradox или
Quattro Pro. В отличие от BGI драйверов они совместимы.


http://pascal.sources.ru/graph/rusfont.zip
Еще про русские шрифты
http://pascal.sources.ru/graph/rusfont.htm

Автор: Altair 1.09.2004 21:42

Цитата
Я вот добавила эту программку и иероглифы стали готические

Большинство граф. шрифтов не поддерживают кирилицу!

Автор: GoodWind 3.09.2004 3:03

Девушка, может вам лучше транслитом сделать ? ;)

Автор: Altair 3.09.2004 16:00

Цитата
Девушка, может вам лучше транслитом сделать

Транслитом не может быть лучше!
Здесь выбор такой:
если необходим конкретный шрифт, то язык следует делать аглийским,
если неважно какой шрифт, то использовать простой матричный шрифт (он кирилизован)

Автор: Бродяжник 3.09.2004 17:17

Цитата
простой матричный шрифт (он кирилизован)

ИМХО, не кирилизован. Отображение default шрифта борланд паскалем зависит от степени корявости драйвера руссификации экрана; одна и та же прога под разными руссификаторами может работать по-разному. Классический пример - тренажер клавиатуры, кажется, TRK назывался.
2 Biba:
Пример качайте здесь, шрифты возьмите из архива bgirfont.zip, упомянутого выше.


Прикрепленные файлы
Прикрепленный файл  Rusdemo.zip ( 12.26 килобайт ) Кол-во скачиваний: 227

Автор: Бродяжник 3.09.2004 17:22

(текст примера заимствован у Оззи)

Автор: Altair 6.09.2004 22:32

Цитата
ИМХО, не кирилизован

Кирилизирован.
Цитата
Отображение default шрифта борланд паскалем зависит от степени корявости драйвера руссификации экрана; одна и та же прога под разными руссификаторами может работать по-разному.

о разному работат только в 2000 и XP, ибо там есмь криво с ms-dos приложниями smile.gif .

Цитата
под разными руссификаторами

Исользуйте кирилик (cyrillic.com) и все окей!

Автор: Бродяжник 8.09.2004 12:22

Ладно, кирилизирован, так кирилизирован. smile.gif