Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2013, 09:52   #1
ashvargonova
Новичок
Джуниор
 
Регистрация: 09.06.2013
Сообщений: 1
По умолчанию Работа в турбо паскале с dos функциями

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

Код:
program prim;
uses dos;
var r:registers;
    buf:array [1..128] of longint;
    fname, flname:record
            len:byte;
            name:string;
          end;
    inhandle, outhandle,inhandle2, outhandle2 :word;
    f:boolean;
    cnt:word;
    msg:string;
begin
  repeat
  msg:='Input filename?  $';
  r.ah:=$9;
  r.ds:=seg(msg);
  r.dx:=ofs(msg);
  msdos(r);

  fname.len:=255;
  r.ah:=$0a;
  r.ds:=seg(fname);
  r.dx:=ofs(fname);
  msdos(r);
  fname.name[length(fname.name)+1]:=#0;

  r.ah:=$3d;
  r.ds:=seg(fname.name);
  r.dx:=ofs(fname.name)+1;
  r.al:=0;
  msdos(r);
  if (r.flags mod 2) =1
    then
      begin
        msg:='File not found$';
        r.ah:=$9;
        r.ds:=seg(msg);
        r.dx:=ofs(msg);
        msdos(r);
        f:=false
      end
    else begin  inhandle:=r.ax;f:=true end;
   until f;

  r.ah:=$3c;
  r.ds:=seg(fname);
  r.dx:=ofs(fname)+1;
  r.cx:=0;
  msdos(r);
  outhandle:=r.ax;

  repeat
    f:=false;

    r.ah:=$3f;
    r.ds:=seg(buf);
    r.dx:=ofs(buf);
    r.cx:=512;
    r.bx:=inhandle;
    msdos(r);
    if r.ax=0 then f:=true;
    cnt:=r.ax;

    r.ah:=$40;
    r.ds:=seg(buf);
    r.dx:=ofs(buf);
    r.cx:=cnt;
    r.bx:=outhandle;
    msdos(r);

  until f;

  r.ah:=$3e;
  r.bx:=inhandle;
  msdos(r);

  r.ah:=$3e;
  r.bx:=outhandle;
  msdos(r);

end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.06.2013 в 16:14.
ashvargonova вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с функциями(С++) Scarletred Помощь студентам 5 06.04.2010 13:29
Работа с видео и аудио устройствами в Турбо Паскале Morphling Фриланс 8 04.11.2009 14:43
Работа с файлами в Турбо Паскале и Delphi. Сравнение!!!! viksa Помощь студентам 5 21.05.2009 21:32
помогите с функциями в паскале GaJIbI4 Помощь студентам 3 15.11.2008 00:05