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

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

Форум «Всё о Паскале» _ Задачи _ Создание exe-файла

Автор: -=АнЮтА=- 7.06.2007 10:55

Столкнулась с такой проблемой. При создании exe-файла русские буквы не отбражаются. Как избежать этого?
И при переходе от графического режима к тескстовому в ехе иногда программа зависает. Чем это можно объяснить? Нужно как-то по особому компилить ехешник или это возможно ошибки моей программы?

Автор: Ozzя 7.06.2007 11:55

1. http://forum.pascal.net.ru/index.php?showtopic=779
2. А как переходишь? restorecrtmode?

Автор: -=АнЮтА=- 7.06.2007 11:56

ага, рестором перевожу...

Добавлено через 2 мин.
Нет, сама руссификация у меня стоит и пасовские файлы русский алфавит отображают, проблемы в работе ехешника

Автор: Ozzя 7.06.2007 12:08

Русские буквы используются только в графическом режиме? М.б. имеет смысл использовать русские chr-шрифты.

Автор: -=АнЮтА=- 8.06.2007 3:57

Русские буквы используются и в графичесокм и в текстовом режимах))

Автор: Ozzя 8.06.2007 11:49

А текстовый режим нужен? Что-то выводишь/вводишь readln'ом/writeln'ом?
Можно безболезненно избавиться от текстового режима?

Автор: -=АнЮтА=- 10.06.2007 15:17

В течение проги идет вывоб сообщений на экран и чтение с клавы того что должно быть введено. + меню и выбор пункта тоже нажатием клавишы какой-то.

Автор: volvo 10.06.2007 15:22

И что, нельзя напечатать меню в графическом режиме? (Hint: используй OutTextXY)... Да и ReadKey точно так же работает в графическом, как и в текстовых режимах.

Насчет чтения с клавиатуры - тоже не очень большая проблема, уже выкладывались процедуры чтения строки в граф. режимах, потом эту строку можно конвертировать во что угодно, хоть в целое число. хоть в вещественное...

Автор: -=АнЮтА=- 10.06.2007 15:51

Ну эт да...можно канеш...а можно про чтение строки в графическом режиме поподробнее?? rolleyes.gif

Автор: volvo 10.06.2007 16:13

Можно и подробнее: http://forum.pascal.net.ru/index.php?s=&showtopic=13890&view=findpost&p=80759

Автор: Гость 12.06.2007 1:11

Скачала русские шрифты - целый пакет. С помощью binobj - присоединяю к программе. Как сделать - чтоб не зависело от того - где я использую программу - если поместить в папку с исходной прогой, компилятор не может найти файл шрифта. И как использовать эти шрифты - ведь у меня паскаль не русифицирован. если я его русифицирую - а на другой мшине руссификатора нет - как избежать кракозябров? Подскажите пожалуйста...

Автор: -=АнЮтА=- 12.06.2007 1:34

Может быть имеет смысл запускать прогу (ехешник) через бат-файл? Только как там прописать руссификацию? Или это нереально...

Автор: -=АнЮтА=- 12.06.2007 3:29

Шрифты подключила, разобралась. Осталось додумать ехешник.... чтоб можно было вводить русский шрифт при запуске проги на других машинах


Добавлено через 6 мин.
а при подключении шрифта правда - воспринимает только точное указание того, где лежит объектный файл. как это обойти? rolleyes.gif

  procedure sans;external;
{$L g:\kurs\sans.obj}

Автор: volvo 12.06.2007 4:32

Цитата
воспринимает только точное указание того, где лежит объектный файл.
Интересно... Только этого быть не должно. Даже если у тебя установлена директория "Options -> Directories -> Object Directories", то согласно TP Help должно происходить следующее:

Цитата(TP Help)
This input box specifies the directories that contain your .OBJ files (assembly language routines).

When Turbo Pascal encounters a {$L filename} directive, it looks first in the current directory, then in the directories specified in this Object Directories input box.

То есть, текущая папка (именно текущая, заметь, а не та, в которой лежит исходник, это могут быть разные папки!!!) все равно просматривается первой, и только потом - та, которая указана в Object Directories ...

Автор: -=АнЮтА=- 12.06.2007 12:15

Цитата
(именно текущая, заметь, а не та, в которой лежит исходник

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

Автор: volvo 12.06.2007 12:29

Нет... smile.gif Текущая - это та, которая показывается подсвеченной, когда ты в меню выбираешь "File -> Change Dir ..."

Вот, смотри:
Прикрепленное изображение

Видишь? Текущая папка не совпадает с той, где лежит исходник, и если у меня будет прилинковываться OBJ-файл лежащий там же, где и REVERSI2.PAS, но я укажу неполное имя OBJ-файла, то сам PAS-файл компилироваться будет, а вот OBJ-фал не будет найден, потому что он лежит не в текущей папке, а просто рядом с исходником...

Чувствуешь разницу?

Автор: -=АнЮтА=- 12.06.2007 13:02

Да поняла разницу...а как же быть с ехе (опять возвращаюсь к своим баранам....) Ведь как-то можно его привязать...sad.gif

Добавлено через 6 мин.
http://volvo71.narod.ru/faq_folder/bgiexe.htm - зашла и кажется нашла что-то, что наверно мне поможет...)
После того, как я присоединяю файлы шрифтов и графический драйвер - можно уже забыть о них? Для ехе-файла неважно где они и что они?

Автор: volvo 12.06.2007 13:43

Цитата
Для ехе-файла неважно где они и что они?
Абсолютно... Они уже внутри EXE-файла, так что там, где ты запускаешь EXE, никаких BGI/CHR файлов вообще может не быть...

Автор: -=АнЮтА=- 12.06.2007 14:01

good.gif
я не тормоз...я медленный газ rolleyes.gif
Збазиба! give_rose.gif

Автор: -=АнЮтА=- 12.06.2007 16:13

Мона закрывать тему! Разобралась со всем! И нашла еще один способ руссификации! То есть известный, но мне именно он подошел))
http://www.gcmsite.ru/?pg=art&id=keyrus-dos-windows - оч полезная ссылка. Добавьте в FAQ)))