Печать текстового файла с форматированием

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alex_new_user
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 31.03.2004 (Ср) 16:59

Печать текстового файла с форматированием

Сообщение Alex_new_user » 08.04.2004 (Чт) 12:50

Подскажите, как распечатать текстовый файл (или строку, полученную путем построчного чтения файла), что бы он не потерял форматирование, т.е. Распечатался так же, как если бы его распечатали из FAR ???

=
Заранее благодарю.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.04.2004 (Чт) 12:55

API TextOut
Lasciate ogni speranza, voi ch'entrate.

Alex_new_user
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 31.03.2004 (Ср) 16:59

Сообщение Alex_new_user » 08.04.2004 (Чт) 13:02

А поподробнее можно? Срочно нужно, а книжки под рукой нет.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.04.2004 (Чт) 13:22

Код: Выделить всё
API-Guide
Const TA_BASELINE = 24
Const TA_BOTTOM = 8
Const TA_CENTER = 6
Const TA_LEFT = 0
Const TA_NOUPDATECP = 0
Const TA_RIGHT = 2
Const TA_TOP = 0
Const TA_UPDATECP = 1
Const TA_MASK = (TA_BASELINE + TA_CENTER + TA_UPDATECP)
Private Declare Function SetTextAlign Lib "gdi32" (ByVal hdc As Long, ByVal wFlags As Long) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Const mStr = "www.allapi.net"
Private Sub Form_Paint()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'set the form's scalemode to pixels
    Me.ScaleMode = vbPixels
    'set the forecolor to white
    Me.ForeColor = vbWhite
    'draw some lines to show where our TextOut-x- and y-parameters are
    Me.Line (100, 0)-(100, 100)
    Me.Line (100, 100)-(0, 100)
    Me.Line (150, 0)-(150, 150)
    Me.Line (150, 150)-(0, 150)
    'set the forecolor back to black
    Me.ForeColor = vbBlack
    'call textalign to align to the right
    SetTextAlign Me.hdc, TA_RIGHT Or TA_TOP Or TA_NOUPDATECP
    'show some text
    TextOut Me.hdc, 100, 100, mStr, Len(mStr)
    'call textalign to align to the left
    SetTextAlign Me.hdc, TA_LEFT Or TA_TOP Or TA_NOUPDATECP
    'show some text
    TextOut Me.hdc, 150, 150, mStr, Len(mStr)
End Sub
Lasciate ogni speranza, voi ch'entrate.

Alex_new_user
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 31.03.2004 (Ср) 16:59

Сообщение Alex_new_user » 08.04.2004 (Чт) 13:40

Понятно, чот это совсем не то, что нужно. Мне не нужно позиционировать текст. Уже есть отформатированный файл. Нужно просто распечатать его так же, ка бы он распечатался из NC или FAR !!!

Alex_new_user
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 31.03.2004 (Ср) 16:59

Сообщение Alex_new_user » 08.04.2004 (Чт) 13:41

... но за www.allapi.net - Спасибо. :)

Alex_new_user
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 31.03.2004 (Ср) 16:59

Сообщение Alex_new_user » 08.04.2004 (Чт) 14:25

Ну помогите еще разок !!!
С одной проблемой разобрался, оказывается, чтобы не потерять формат, файл нужно не печатать, а просто копировать в порт :)

open "LPT1" for output as #1
open "myfile" for input as #2
do until eof(2)
line input #2, st
print #1, st
loop
close #1
close #2

Проблема только, что файл в dos-кодировке и принтер печатает зюки. Как его образумить?
(принтер LX-300 под Windows)

Alex_new_user
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 31.03.2004 (Ср) 16:59

Сообщение Alex_new_user » 08.04.2004 (Чт) 14:40

Ничего не надо, сам нашел. :D


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList