C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
устройство PRN, я всё забыл.
olegenty
Отправлено: 19.08.2004, 14:33


Ветеран

Группа: Модератор
Сообщений: 2412



этот код раньше всегода работал, падла мать его так...
CODE

buGo->Enabled = false;
   Terminated = false;
   buStop->Enabled = true;
   ofstream prn;
   prn.open("prn");
   if (!prn)
   {
       ShowMessage("Принтер не найден");
       Terminated = true;
       buGo->Enabled = true;
       buStop->Enabled = false;
       return;
   }
   while (!Terminated)
   {
       prn << "test" << endl;
       Application->ProcessMessages();
   }
   prn.close();


а щас не хочет открывать устройство "prn", "PRN", "lpt1", "LPT1".
принтер висит на LPT1, матричник, древний Epson... чё за фигня, не пойму... какое имя по умолчанию сейчас ассоциируется с принтером и где его можно увидеть???
Konstantine
Отправлено: 19.08.2004, 14:38


Мастер участка

Группа: Модератор
Сообщений: 545



а если как файл открыть?
Guest
Отправлено: 19.08.2004, 15:05


Не зарегистрирован







QUOTE
какое имя по умолчанию сейчас ассоциируется с принтером


Сейчас — это в смысле под Windows XP ?

Вообще кажется всегда LPT1:
(может дело в двоеточии?)
olegenty
Отправлено: 20.08.2004, 09:46


Ветеран

Группа: Модератор
Сообщений: 2412



сейчас — это 2000/XP. извиняюсь за неполную формулировку вопроса.
нет, "LPT1:", "PRN:"... так же не работают.

равно как и не определена переменная
CODE

   stdprn
, которая использовалась так:
CODE

   fprintf(stdprn, "%s", "test\n");


2 Konstantine
QUOTE

а если как файл открыть?

а я и открыл, как файл:
QUOTE

  ofstream prn;
  prn.open("prn");

- объявляется файловый поток вывода и ассоциируется с именем "PRN", ранее всегда зарезервированным в системе (по Win98 включительно).
Guest
Отправлено: 20.08.2004, 10:31


Не зарегистрирован







Я так понял, что Константин "как файл" имел ввиду
FileCreate() FileOpen(), или, как мы поступаем, открывая,
например порт COM1 COM2 и др., то есть через CreateFile
Konstantine
Отправлено: 20.08.2004, 10:35


Мастер участка

Группа: Модератор
Сообщений: 545



вроде CreateFile, но когда проверю скажу точно.
olegenty
Отправлено: 20.08.2004, 11:49


Ветеран

Группа: Модератор
Сообщений: 2412



то, что откроется через FileOpen(), откроется и через ofstream::open()... дело не в библиотеке, посредством которой осуществляется вывод, а в том, что нет зарезарвинованного имени для принтера, как устройства вывода. вернее, оно, наверное, есть, но я его не знаю...

Вернуться в Вопросы программирования в C++Builder