Версия для печати темы
Форум «Всё о Паскале» _ Теоретические вопросы _ Про Graph
Автор: biba 31.08.2004 13:16
Такой вопрос. Есть программа и по этой программе строится диаграмма. Причем текст в программе (меню и все такое написано русскими буквами). А когда запускается процедура формирования диаграммы из данных текстового файла, то буквы в диаграмме не русские, а какие-то значки, и при выходе из диаграммы все буквы в меню меняются на такие же значки . Почему так происходит и что можно сделать, чтобы такого не было? [/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, но программа в целом работает и русские буквы тоже, только в графике не работают, и после графики в самой программе
Автор: 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...
А что именно надо скачивать, там столько всего много. <_< Я имею ввиду программа с этими шрифтами как-то называется или как
Автор: biba 31.08.2004 17:12
Цитата(BlackShadow @ 31.08.04 11:45)
Проблема только в том, что в полноэкранном режиме и в оконном используются разные наоры символов. Т. е. если программу вернуть в состояние "окошка" (Alt+Enter) после работы с графикой, то русский текст вернётся.
А если постоянно работать с большим окном, то у меня постоянно вместо букв иероглифы
Что же мне теперь делать?
У меня же работу проверять наверняка будут в таком режиме, потому что наша преподши слепая :D
Я в шоке! Что же мне теперь все на английский переводить? :P
Автор: BlackShadow 31.08.2004 17:46
http://pascal.sources.ru/graph/bgirfont.zip
А с полноэкранным режимом... Подарите преподше очки.
Автор: BlackShadow 31.08.2004 18:27
можно попробывать запустить cmd, там keyrus, затем паскаль... Это всё уже кучу раз обсуждалось - посмотри по поиску.
После того, как ты скачала фонты нужно их подгрузить. Как это делается: честно не помню - я работал со своими функциями для этого. В Graph'е есть что-то такое. Подгружаешь, устанавливаешь и вперёд . только вот файл этот .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 под рукой есть
Автор: Ozzя 31.08.2004 19:24
Цитата(BlackShadow @ 31.08.04 15:16)
Хорошо, когда Pascal под рукой есть
УГУ :D
2 biba
Вместо test надо будет подставить название Вашего шрифта
Автор: BlackShadow 31.08.2004 20:58
Теперь всё по-очереди:
1). Нельзя. Надо найти то место, в котором инициализируется графика (InitGraph) и вставить туда строки
Код
...
InitGraph(...);
TestFont := InstallUserFont('TEST');
SetTextStyle(TestFont, HorizDir, 2);
...
2). Имя шрифта совпадает с именем файла. Т. е. в файле goth.chr хранится фонт goth. А белым по чёрному - это не шрифт, а цвет.
3). cmd - это command.com, только в вёндах по-новее
Автор: 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 приложниями
.
Цитата
под разными руссификаторами
Исользуйте кирилик (cyrillic.com) и все окей!
Автор: Бродяжник 8.09.2004 12:22
Ладно, кирилизирован, так кирилизирован.