Пожалуиста, ПОМОГИТЕ!!! (pascal)

Ответить
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Помогите пожалуйста написать программу, буду очень благодарен.
Требуется - написать программу, которая позволит выбрать расширение *.jpg или *.bmp курсором (крестиком "вверх" и "вниз") и создать новый файл с заданным расширением;
Я составил, но возникает ошибка. (Error 2: file not found);

Код: Выделить всё

 Program bmp_or_jpg;
  uses crt;
 Var ch: char;
       done: boolean;
       dir: string;
       f: file;
       
 procedure jpg;
  Begin
  TEXTBACKGROUND(10);
  clrscr;
  writeln;
  writeln;
  writeln('Выберите расширение:');
  gotoxy(26,20);
  textcolor(white);
  textbackground(red);
  write('  Jepeg image *.jpg  ');
  textbackground(10);
  gotoxy(26,21);
  textcolor(white);
  write('  Bitmap image *.bmp  ');
  dir:=dir+'.jpg';
  end;
  procedure bmp;
  Begin
  TEXTBACKGROUND(10);
  clrscr;
  writeln;
  writeln;
  writeln('Выберите расширение:');
  gotoxy(26,20);
  textcolor(white);
  textbackground(10);
  write('  Jepeg image *.jpg  ');
  textbackground(red);
  gotoxy(26,21);
  write('  Bitmap image *.bmp  ');
  dir:=dir+'.bmp';
  end;
                                            BEGIN
clrscr;
Write('Введите имя файла: ');
read(dir);
jpg;
done:=false;
repeat
ch:=readkey;
if ch=#0 then begin
   ch:=readkey;
   case ch of
         #80: bmp;          {Вверх}
         #72: jpg;            {Вниз}
         #75: done:=true;   {Назад(выбор)}
             end;
                     end;
          Until done;
assign(f,dir);
rewrite(f);
close(f);
readkey;
                                                END.


  
  
Что не так??
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Аватара пользователя
Oleg_Rus
Сообщения: 335
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

Покажи всю программу! Может ошибка идет в основной программе?
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

&quot писал(а):read(dir);
jpg;
&quot писал(а):#72: jpg; {Вниз}
но вот только в Jpg стоит такая строка
&quot писал(а):dir:=dir+'.jpg';
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Не понял, к чему все эти приблуды с textcolor и т.д.

Код: Выделить всё

uses crt;
ch:char;
bmp,done:boolean;
dir:string;
f:text;
begin
  writeln('Введите имя файла');
  readln(dir);
  bmp:=true;
  done:=false;
repeat
ch:=readkey;
if ch=#0 then begin
   ch:=readkey;
   case ch of
         #80: bmp:=true;          {Вверх}
         #72: bmp:=false;            {Вниз}
         #75: done:=true;   {Назад(выбор)}
   end;
clrscr;
if bmp then writeln(dir+'.bmp')
else writeln(dir+'.jpg');
until done;
if bmp then assign(f,dir+'.bmp')
else assign(f,dir+'.jpg');
rewrite(f);
close(f);
end.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Цитата: "Не понял, к чему все эти приблуды с textcolor и т.д."
А это для того, чтобы выбор расширения отображался визуально (попробуйте скопировать первый текст программы в текстовый файл, и открыть его с помощью Pascal);
________________________________________
Извините, не учёл, что программа не должна закрываться до того, как формат не будет выбран (Я имею ввиду то, что можно менять -bmp - jpeg, -bmp). Как в играх спрашивают "Выйти?", вверх-да, вниз-нет, Enter - выбор...
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Уже решил

Program bmp_or_jpg;
uses crt;
Var ch: char;
done: boolean;
dir: string;
f: file;

procedure jpg;
Begin
TEXTBACKGROUND(10);
clrscr;
writeln;
writeln;
writeln('Выберите расширение:');
gotoxy(26,20);
textcolor(white);
textbackground(red);
write(' Jepeg image *.jpg ');
textbackground(10);
gotoxy(26,21);
textcolor(white);
write(' Bitmap image *.bmp ');
repeat
ch:=readkey;
if ch=#0 then ch:=readkey;
case ch of
#13: begin dir:=dir+'.jpg'; done:=true; break; end;
end;
until keypressed;

end;
procedure bmp;
Begin
TEXTBACKGROUND(10);
clrscr;
writeln;
writeln;
writeln('Выберите расширение:');
gotoxy(26,20);
textcolor(white);
textbackground(10);
write(' Jepeg image *.jpg ');
textbackground(red);
gotoxy(26,21);
write(' Bitmap image *.bmp ');
repeat
ch:=readkey;
if ch=#0 then ch:=readkey;
case ch of
#13: begin dir:=dir+'.bmp'; done:=true; break; end;
end;
until keypressed;
end;
BEGIN
clrscr;
Write('Введите имя файла: ');
read(dir);
jpg;
done:=false;
repeat
ch:=readkey;
if ch=#0 then begin
ch:=readkey;
case ch of
#80: bmp; {Вверх}
#72: jpg; {Вниз}
end;
end;
Until done;
assign(f,dir);
rewrite(f);
close(f);
readkey;
END.

А "приблуды" с textcolor сдесь обязательны. Клёво получилось!
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Ответить