Форматировать вывод на принтер

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Форматировать вывод на принтер

Сообщение MOV » 30.03.2005 (Ср) 13:53

Есть команда Tab(<аргумент>), где аргумент - смао колмчество символов табуляции.
Но объект Printer в методе print ee не "ест"
вот если просто на форме писать принтом
типа
Код: Выделить всё
print "123"; tab(10); "456"
, то все нормально

а вот если на принтер:
Код: Выделить всё
Printer.print "123"; tab(10); "456"
, то он ругается на Tab
команда очень удобная для форматирования строки, может попробовать заменить ее через CHR (но забыл код Tab-а). А юзать свойство CurrentX, можно, кончено, но получается некрасиво.

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 30.03.2005 (Ср) 14:23

Код таба - 8 или 9

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

Сообщение alibek » 30.03.2005 (Ср) 14:32

Arcanoid, а причем тут vbTab?

MOV, ну напиши свою функцию SpacePad, которая будет заполнять пробелами недостающие позиции (Mid$(Pad, 1, Len(Text)) = Text).
Lasciate ogni speranza, voi ch'entrate.

MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Сообщение MOV » 30.03.2005 (Ср) 14:44

Нет. Решил юзать CurrentX - так все-таки точнее и надежнее, а полей немного в таблице - 9 штук, так что не проблема. А форматировать текст пробелами (у меня в ворде то невсегда нормально получается, табами все-таки как-то лучше).

Правда появилась по ходу еще одна проблема:
пытаясь рисовать вертикальные линии на листе все сбивается и получается на перекосяк. (горизонтальные линии рисуются нормально). Перехлестов вроде нигде нет.
Все. Разобрался. Спасибо. (просто запутался в координатах)

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

Сообщение alibek » 30.03.2005 (Ср) 17:24

А по твоему, что делает функция Tab()? Она пробелами и дополняет.
Lasciate ogni speranza, voi ch'entrate.

MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Сообщение MOV » 30.03.2005 (Ср) 17:56

Просто насколько помню, есть шрифты TrueType, а есть какие-то другие (не помню как называются), и отличаются они тем, что у одного буквы фиксированной ширины, а у другого разной, поэтому пробелами невсегда можно выровнять текст, а вот табом всегда.
Насчет шрифтов, думаю, ты конечно знаешь и не мне тебе говорить. Но пробел это пробел у него фиксированная ширина. А таб - это х.з. что :D (хотя можно сказать, что у него она тоже const и равна опр. числу пробелов, но в том же ворде ширину табуляции можно регулировать по точкам, если помнишь (формат/абзац/отступ слева (мм)))


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

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

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 20

    TopList  
cron