Как распечатать кириллицу?

Тема в разделе "Delphi - FAQ", создана пользователем maksimus, 29 янв 2005.

  1. maksimus

    maksimus Гость

    Необходимо печатать текст с помощью:

    var
    f:textfile;
    begin
    assignfile(f,'lpt1');
    rewrite(f);
    writeln(f,'хххххх');
    closefile(f);
    end.

    где ххххххх- текст написанный русскими буквами.
    Но при распечатке получается абракадабра.
    Подскажите, кто знает, плиз, каким образом с помощью этой процедуры распечатать русские буквы.
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    maksimus
    это ты на поскале делаешьь?
    просто не все принтеры печатают кириллицу из DOS насколько я знаю.
     
  3. maksimus

    maksimus Гость

    <!--QuoteBegin-QUOTE+Серёга-->
    <span class="vbquote">(QUOTE @ Серёга)</span><!--QuoteEBegin-->maksimus
    это ты на поскале делаешьь?[/quote]
    Нет это в Delphi
     
  4. Barmutik

    Barmutik Гость

    Ну тогда есть такой объект TPrinter... который заведует принтерами.. через него всё можно и печатать...

    У меня вроде не было проблем с русскими буквами .. попробуй .. если останутся спрашивай подробнее ...
     
  5. maksimus

    maksimus Гость

    <!--QuoteBegin-Barmutik+30:01:2005, 11:15 -->
    <span class="vbquote">(Barmutik @ 30:01:2005, 11:15 )</span><!--QuoteEBegin-->Ну тогда есть такой объект TPrinter... который заведует принтерами.. через него всё можно и печатать...

    У меня вроде не было проблем с русскими буквами .. попробуй .. если останутся спрашивай подробнее ...[/quote]
    TPrinter печатает строку за два прохода, а мне нужно печатать одну строку в один проход (при возврате каретки должна печататься вторая строка).
     
  6. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    maksimus
    странно
    может это зависит не от Tprinter а от качества печати которое стоит?
    по умолчанию на каждом принтере струином винда ставит среднее качество печати за 2 прохода, за 1 проход - низкое.
    я с печатью особо не заморачивался никогда, но может просто TPrinter берет дефолтные драиверовые настройки Windows?
     
  7. maksimus

    maksimus Гость

    <!--QuoteBegin-Серёга+30:01:2005, 15:00 -->
    <span class="vbquote">(Серёга @ 30:01:2005, 15:00 )</span><!--QuoteEBegin-->maksimus
    странно
    может это зависит не от Tprinter а от качества печати которое стоит?
    по умолчанию на каждом принтере струином винда ставит среднее качество печати за 2 прохода, за 1 проход - низкое.
    я с печатью особо не заморачивался никогда, но может просто TPrinter берет дефолтные драиверовые настройки Windows?[/quote]
    Забыл отметить: программа будет работать в банке, принтер матричный, печать на рулонах, заранее не известен объем печатаемой информации
     
  8. Barmutik

    Barmutik Гость

    TPrinter сам конкретно ничего не печатает .. он лиш передаёт виндозному объекту принтера упралвющие команды ..

    Так что он непосредственно ниrак не управляет сколькими проходами печатать .. судя по всему (как уже выше указали Вам) это
    зависит от настроек качества печати Вашего принтера.. Никто Вам не мешает конкретно на Ваш сеанс печати ставить другие настройки
    через тот же объект TPrinter
     
  9. maksimus

    maksimus Гость

    <!--QuoteBegin-Barmutik+30:01:2005, 18:27 -->
    <span class="vbquote">(Barmutik @ 30:01:2005, 18:27 )</span><!--QuoteEBegin-->TPrinter сам конкретно ничего не печатает .. он лиш передаёт виндозному объекту принтера упралвющие команды ..

    Так что он непосредственно ниrак не управляет сколькими проходами печатать .. судя по всему (как уже выше указали Вам) это
    зависит от настроек качества печати Вашего принтера.. Никто Вам не мешает конкретно на Ваш сеанс печати ставить другие настройки
    через тот же объект TPrinter[/quote]
    Подскажите, пожалуйста, каким образом можно настроить качество печати? Может есть какой-нибудь исходничек?
     
  10. Barmutik

    Barmutik Гость

    Установка качества печати задача специфичная для каждого вида принтера .. я бы сказал даже для каждого драйвера принтера..

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

    Я думаю что если требуется настраивать конкретно один параметр то следует ковыряться в низкоуровневых виндозных функциях и драйвере принтера.
     
  11. maksimus

    maksimus Гость

    Всем огромное спасибо за помощь.
    Я уже разобрался сам.
    Это оказалось элементарно: chartooem(х,b), а дальше writeln(f,b).
     
  12. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    maksimus
    одна фигня
    у тебя это не будет на USB принтерах тогда работать по идее :)
     
  13. Barmutik

    Barmutik Гость

    Да нет .. вопрос вообще не в том ... он просто из ДОС в Виндовс кодировку перевёл и всё ...

    К принтеру и вообще к печати это никакого отношения не имеет ...
     
Загрузка...

Поделиться этой страницей