Страница 1 из 1

изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 07:53:22
artyomka
Суть программы состоит в том что пользователь должен ввести текст, указать его характеристики и записать всё это файл.
Код: Выделить всё
(========================================================================================================================================================)
Program TEXT;
uses crt,graph;
const col:array[0..15] of string[12] = ('black','blue','green','cyan','red','magenta','brown','lightgray','darkgray','lightblue','lightgreen','lightcyan','lightred','lightmagenta','yellow','white');
Type
   typeText=record
    text:string;
    color: string;
    size:word;
    font:integer;
   end;
var
   driver,mode,error, k, hh:integer;
   a:typeText;
   f:file of typeText;
   ndir,fn,str:string;
   i:integer;


begin
clrscr;
ndir:='typetext';
fn:='text';
{$I-}
chdir(ndir);
{$I+};
If IoResult <>0  then
  begin
  mkdir(ndir);
  chdir(ndir);
  end;

assign(f,fn);
  {$I-}
  reset(f);
  {$I+};
if IoResult <>0 then
rewrite(f);

writeln('Введите текст');
readln(a.text);
writeln('Какого цвета должен быть ваш текст?');
writeln('Выберите один из шестнадцати');
writeln(' black, blue, green, cyan, red, magenta, brown');
writeln(' lightgray, darkgray, lightblue, lightgreen, lightcyan');
writeln(' lightred, lightmagenta, yellow, white');
read(str);
for i:=0 to 15 do
if str=col[i] then a.color:=col[i];

writeln('Укажите размер шрифта');
read(a.size);
writeln('Укажите вид шрифта, выберите число от 0 до 10');
read(a.font);
write(f,a);

driver:=detect;
InitGraph(driver,mode,'');
error:=GraphResult;
if error <>0 then writeln(GraphErrorMsg(error))
else
begin
SetColor(a.color);
SetTextStyle(a.font,0,a.size);
OutText(a.text);



readkey;
closegraph;
end;
(===================================================================================================================================)

Но только здесь ошибка, хотя я видел подобный алгоритм в книге Фаронова

Re: изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 09:21:56
Иван Шихалев
А какая ошибка — телепаты должны догадаться?
И не забываем про тег code.

Re: изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 09:56:54
artyomka
Извините ошибку нашёл но появилась ещё проблема. При любом выборе шрифта на экран выводится только матричный, хотя в Turbo Pascal всё нормально.

Re: изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 10:09:26
Vadim
artyomka писал(а):InitGraph(driver,mode,'');

А путь к шрифтам кто будет указывать? :) Компилятор и подставляет тот который у него под рукой.

Re: изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 11:49:11
artyomka
В Turbo Pascal я знаю как это делать, но вот во Free Pascal даже и представление не имею(тоже касается и выбора адаптера).

Re: изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 12:45:25
Vadim
artyomka писал(а):но вот во Free Pascal даже и представление не имею

Это зависит от того, в какой каталог Вы эти шрифты положите. В комплекте с FP никакие шрифты не идут.
artyomka писал(а):тоже касается и выбора адаптера

Адаптер тоже не Ваша проблема. :) Вам только надо правильно указать разрешение и цветовой режим, например:
Код: Выделить всё
mode:=D4bit;  //4-ёх битный цвет, т.е. 16 цветов на экране
driver:=m800x600;  //Разрешение графического окна 800 х 600
InitGraph(driver,mode,'d:\progs\fpc\bgi');  //'d:\progs\fpc\bgi' - здесь у меня лежат русифицированные графические шрифты

Re: изучаю графику в Паскале

СообщениеДобавлено: 04.06.2009 19:31:57
artyomka
Тогда у меня к вам два вопроса. Во-первых где можно скачать шрифты, а во-вторых у меня почему-то папочки bgi нет или её надо самому делать?

Re: изучаю графику в Паскале

СообщениеДобавлено: 05.06.2009 04:48:54
Vadim
artyomka писал(а):у меня почему-то папочки bgi нет или её надо самому делать?

См. предыдущий ответ:
Vadim писал(а):В комплекте с FP никакие шрифты не идут.

:)
Папочку, естественно, Вы создаёте сами. Да и название её можете дать любое, какое Вам нравится, главное чтобы в Вашей программе было то же самое название, чтобы программа знала куда лезть за шрифтами.
По сведениям источников близких к информированным, русские шрифты есть в специальном комплекте School Pack. Скачать можно здесь:
http://dim-hj.gorodok.net/