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

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

Форум «Всё о Паскале» _ Теоретические вопросы _ Процедура Outtext | Нужна помощь

Автор: The PRO 27.02.2007 20:20

Помогите настроить компилятор Borland Pascal 7.0
У меня через процедуру Outtext при попытке вывода знаков(.,?/'":; и т.д.), чисел и пробелов - компилятор
выводит какие то непонятные символы. (Всё буквы выводятся нормально.)
Подскажите, как это исправить. Я думаю что всё дело в настройках компилятора, но
вот только каких?

Автор: Алена 27.02.2007 21:04

Цитата
Я думаю что всё дело в настройках компилятора
Почему? Что стало причиной для таких выводов?

По крайней мере, надо знать, как ты выводишь текст, каким шрифтом, в каком разрешении, ты ж ничего не говоришь - что можно сделать...

Автор: The PRO 27.02.2007 21:10

Цитата(Алена @ 27.02.2007 17:04) *

Почему? Что стало причиной для таких выводов?

По крайней мере, надо знать, как ты выводишь текст, каким шрифтом, в каком разрешении, ты ж ничего не говоришь - что можно сделать...


Вывожу я по обычному, ничего не изменяя.
Outtext('Hi world');
И в этом случае, вместо пробела появляется непонятный знак(

Автор: Алена 27.02.2007 21:18

Я второй раз вопросы не повторяю - пока не соизволишь ответить на ВСЕ, о чем я спросила - извини, я ничего говорить не буду...

Автор: The PRO 28.02.2007 21:37

1) Текст я вывожу так:

Uses graph,crt;
var gd,gm:integer;
begin
gd:=0; gm:=0;
initgraph(gd,gm,'');
outtext('Hi a am 123');
readkey;
end.

2) В разрешении 640*480
3) А вот каким шрифтом я вывожу этот текст я не знаю(наверное стандарным)
4) И компилятор у меня (Borland) Turbo Pascal 7.0

Автор: Артемий2 28.02.2007 22:03

Причины могут быть разные..А если такой текст в writeln запихать в не графическом режиме, то все нормально?

Автор: T i m e 28.02.2007 22:35

Ну по крайней мере readkey у тебя без crt не прокатит - это точно... yes2.gif
А по делу... трудно сказать, почему так... может Паскаль глючный какой... blink.gif

Автор: The PRO 28.02.2007 22:45

Цитата(Артемий2 @ 28.02.2007 18:03) *

Причины могут быть разные..А если такой текст в writeln запихать в не графическом режиме, то все нормально?

Если в crt то всё нормально. Текст и цифры нормально выводятся.

Цитата(T i m e @ 28.02.2007 18:35) *

Ну по крайней мере readkey у тебя без crt не прокатит - это точно... yes2.gif
А по делу... трудно сказать, почему так... может Паскаль глючный какой... blink.gif

Не паскаль не глючный. Я из учебки переписал, там всё нормально работает.
Ну про crt забыл, извиняй. rolleyes.gif

Добавлено через 3 мин.
Может кто знает где дастать какой нибуть нормальный и настроеный паскаль?
Если знаете, дайте ссылку для скачивания.

Автор: Алена 28.02.2007 22:50

Изменение шрифта ничего не дает? Может, сам CHR файл битый? Попробуй:

Uses crt, graph;
var gd,gm:integer;
begin
gd:=0; gm:=0;
initgraph(gd,gm,'');
settextstyle(smallfont, horizdir, 1); { <-- }
outtext('Hi a am 123');
readkey;
end.


(LITT.CHR должен лежать в той же папке, что и программа... На всякий случай...)

Автор: The PRO 28.02.2007 23:39

Цитата(Алена @ 28.02.2007 18:50) *

Изменение шрифта ничего не дает? Может, сам CHR файл битый? Попробуй:

Uses crt, graph;
var gd,gm:integer;
begin
gd:=0; gm:=0;
initgraph(gd,gm,'');
settextstyle(smallfont, horizdir, 1); { <-- }
outtext('Hi a am 123');
readkey;
end.


(LITT.CHR должен лежать в той же папке, что и программа... На всякий случай...)


Я попробовал. Всё так-же. И файл LITT.CHR есть, но может он и вправду битый...

Автор: TarasBer 28.02.2007 23:59

1. Стандартный шрифт глючит и у меня. Поэтому я им не пользуюсь.
2. Русские векторные шрифты (ссылку дал Volvo) (буквы ё нету...): http://pascal.sources.ru/graph/bgirfont.htm
3. Мой редактор векторных шрифтов (рекомендую перед использованием сделать резервную копию файла на всякий случай... И не разрешается более 320 векторов в символе, если их было больше при загрузке, то лишние векторы выкидываются...):


Прикрепленные файлы
Прикрепленный файл  chr.rar ( 80.17 килобайт ) Кол-во скачиваний: 125

Автор: mamont001 1.03.2007 1:01

Тема уже не раз упоминалась. У меня кстати тот же баг. Тут проблема не в паскале а в железе. Где точно так до сих пор и не понял. Может в VGA адапторе ,а может и не в нём. Факт в том ,что льбым другим шрифтом кроме стандартного всё выводится потрясно smile.gif .

Автор: Алена 1.03.2007 1:15

Цитата
льбым другим шрифтом кроме стандартного всё выводится потрясно


mamont001, однако, когда я попросила проверить работу smallfont, автор сказал, что результат тот же... Так что, читаем ВНИМАТЕЛЬНО ответы, договорились? То, что У ТЕБЯ было так, не значит, что ТАК должно быть у всех...

Автор: Артемий2 1.03.2007 1:18

Скачай другой с http://borlpasc.narod.ru..Может поможет...

Автор: The PRO 1.03.2007 3:13

Сейчас всё скачаю:
Несколько версий Паскаля и утилит.
Завтра напишу.

Автор: The PRO 1.03.2007 23:17

Скачал несколько версий паскаля.
Попробовал все, но всё так и осталось nea.gif
Паскаль для Виндовс ваще не установить.(

Автор: TarasBer 1.03.2007 23:34

Цитата(The PRO @ 1.03.2007 19:17) *

Скачал несколько версий паскаля.
Попробовал все, но всё так и осталось nea.gif
Паскаль для Виндовс ваще не установить.(

Шрифты скачал? Шрифт не по умолчанию поставил?

Автор: The PRO 2.03.2007 0:50

Да. Всё скачал. Поставил шрифты. И ничего. Наверно дело в железе...

Автор: TarasBer 2.03.2007 1:11

Цитата(The PRO @ 1.03.2007 20:50) *

Да. Всё скачал. Поставил шрифты. И ничего. Наверно дело в железе...

Очень странно... Очень... По-моему чёто совсем плохо с вашим компом...
Ну хотя бы в моей программе менюшки русскоязычные (собственный шрифт использует)? Без иероглифов? А как она эти все векторные шрифты видит? А можно снимок экрана?

Автор: hiv 2.03.2007 14:57

Цитата(The PRO @ 28.02.2007 17:37) *
Uses graph,crt;
var gd,gm:integer;
begin
gd:=0; gm:=0;
initgraph(gd,gm,'');
outtext('Hi a am 123');
readkey;
end.
Поставь вместо пустой строки путь где твои BGI лежат, у меня вот так работает отлично:
Uses graph,crt;
var gd,gm:integer;
begin
gd:=0; gm:=0;
initgraph(gd,gm,'C:\BP\BGI'); { <- здесь }
outtext('Hi a am 123');
readkey;
end.

Автор: The PRO 4.03.2007 0:39

Цитата(hiv @ 2.03.2007 10:57) *

Поставь вместо пустой строки путь где твои BGI лежат, у меня вот так работает отлично:
Uses graph,crt;
var gd,gm:integer;
begin
gd:=0; gm:=0;
initgraph(gd,gm,'C:\BP\BGI'); { <- здесь }
outtext('Hi a am 123');
readkey;
end.



Это одно и то же. Путь к BGI нужно вписывать если паскаль самостоятельно не может определить
где они лежат. Эффект тот же.
Да я завтра у учителя спрошу - в чём проблема.

Автор: TarasBer 4.03.2007 0:59

Я начинаю верить в гипотезу Hiv о том что никакого LITT вы не загрузили.
Скопируйте ВСЁ содержимое папки BGI в папку, где лежит Паскаль, может это поможет...
Вы на 100% уверены что у вас загрузился именно LITT.CHR?
Попробуйте сделать масштаб 10: SetTextStyle(SmallFont, 0, 10); Если символы получились нормальные (да, шрифт векторный, но битый), то ответьте - а в моей программе (см пред. посты в этой теме) буковки нормальные (она использует собственный шрифт)?
Или попробуйте SetTextStyle(4, 0, 10) - должны получиться буковки с наворотами.
А если символы получились из больших квадратиков (матричный шрифт по умолчанию, то есть вы не умеете менять шрифт, но говорите, что компьютер плохой и шрифт битый) - то проблема не в компьютере совсем, а я не буду говорить где, чтоб никого не оскорбить.

Автор: The PRO 4.03.2007 1:30

Цитата(TarasBer @ 3.03.2007 20:59) *

Я начинаю верить в гипотезу Hiv о том что никакого LITT вы не загрузили.
Скопируйте ВСЁ содержимое папки BGI в папку, где лежит Паскаль, может это поможет...
Вы на 100% уверены что у вас загрузился именно LITT.CHR?
Попробуйте сделать масштаб 10: SetTextStyle(SmallFont, 0, 10); Если символы получились нормальные (да, шрифт векторный, но битый), то ответьте - а в моей программе (см пред. посты в этой теме) буковки нормальные (она использует собственный шрифт)?
Или попробуйте SetTextStyle(4, 0, 10) - должны получиться буковки с наворотами.
А если символы получились из больших квадратиков (матричный шрифт по умолчанию, то есть вы не умеете менять шрифт, но говорите, что компьютер плохой и шрифт битый) - то проблема не в компьютере совсем, а я не буду говорить где, чтоб никого не оскорбить.


Тогда можешь залить на какой нибудь FTP сервер свой паскаль?
И я проверю.

Автор: TarasBer 4.03.2007 2:15

Цитата(The PRO @ 3.03.2007 21:30) *

Тогда можешь залить на какой нибудь FTP сервер свой паскаль?
И я проверю.

У меня Паскаль вместе со всем всем всем 200 метров... Не могу.

Автор: Archon 4.03.2007 4:21

200 метров? Это непорядок.

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

Автор: TarasBer 4.03.2007 17:07

Цитата(Archon @ 4.03.2007 0:21) *

200 метров? Это непорядок.

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

Вы к кому обращаетесь? Судя по первой фразе, ко мне, судя по второй - к Про.
Паскаль у меня 200 метров, потому что мусора туда накидано. Даже фотографий есть немного.

Автор: The PRO 4.03.2007 21:19

Всё теперь работает - выводится нормально.
Все файлы из BGI я скопировал в каталог с программой,
при инициализации графики написал путь к папке BGI:

...
Initgraph(gd,gm,'c:\bp\bgi');
...

После этого нормально заработали шрифты и я, соответственно,
использовал процедуру SetTextStyle.
Вот образец с оптимальным шрифтом и его размером:
Uses crt,graph;
Var
gd,gm:integer;
Begin
gd:=0; gm:=0;
Initgraph(gd,gm,'C:\BP\BGI'); { <== }
SetTextStyle(2,0,0); { <-- }
OutText('My number is 1357');
Readkey;
End.

Мало ли у кого тоже такая проблема.

Автор: hiv 5.03.2007 13:57

Цитата(The PRO @ 4.03.2007 17:19) *

Всё теперь работает - выводится нормально.
Все файлы из BGI я скопировал в каталог с программой,
при инициализации графики написал путь к папке BGI:
...
Initgraph(gd,gm,'c:\bp\bgi');
...


Еще раз объясняю: процедура Initgraph в начале ищет необходимые файлы в текущем каталоге, а потом в том, что указан в ее параметре. Я уверен, The PRO, что каталога c:\bp\bgi на твоей системе просто нету. Этот параметр нужно поменять на тот путь, где у ВАС лежат файлы BGI!
Например в командной строке я набираю команду:
dir c:\bp\bgi
и вижу следующий список файлов:
Код
C:\>dir c:\bp\bgi
Том в устройстве C не имеет метки.
Серийный номер тома: 6833-5C49

Содержимое папки c:\bp\bgi

21.11.2006  13:50    <DIR>          .
21.11.2006  13:50    <DIR>          ..
01.10.1992  06:00             6 266 ATT.BGI
01.10.1992  06:00            14 670 BOLD.CHR
01.10.1992  06:00             6 250 CGA.BGI
01.10.1992  06:00             5 527 EGAVGA.BGI
01.10.1992  06:00             8 439 EURO.CHR
01.10.1992  06:00            18 063 GOTH.CHR
01.10.1992  06:00             6 122 HERC.BGI
01.10.1992  06:00             6 665 IBM8514.BGI
01.10.1992  06:00            12 083 LCOM.CHR
01.10.1992  06:00             5 131 LITT.CHR
01.10.1992  06:00             6 042 PC3270.BGI
01.10.1992  06:00            13 596 SANS.CHR
01.10.1992  06:00            10 987 SCRI.CHR
01.10.1992  06:00             8 437 SIMP.CHR
01.10.1992  06:00            16 677 TRIP.CHR
01.10.1992  06:00            17 355 TSCR.CHR
              16 файлов        162 310 байт
               2 папок   1 019 428 864 байт свободно