Печать

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

Печать

Сообщение 8Ball's » 06.01.2007 (Сб) 23:13

Есть текстовое поле, кнопка печать, при её нажатии происходит CommonDialog1.ShowPrinter. Вопрос: как это настроить, чтобы печататалось содержимое текстового поля? Заранее спасибо!
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Печать

Сообщение Хакер » 06.01.2007 (Сб) 23:30

8Ball's писал(а):Есть текстовое поле, кнопка печать, при её нажатии происходит CommonDialog1.ShowPrinter. Вопрос: как это настроить, чтобы печататалось содержимое текстового поля? Заранее спасибо!


Неправильно. При нажамти просиходит Command1_Click(). А уж что дальше происходит, никому кроме тебя не изветсно.

Содержимое текстового поля хранится в ТекстовоеПоле.Text

Текст на принтер можно выводить кучей способов. Но самый простой - метод Print отлично работает.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение Arcanoid » 06.01.2007 (Сб) 23:31

Насколько я помню, код типа того:
Код: Выделить всё
Open "LPT:" for Output As #1
Print #1, Text1.Text
Close #1
Invalid user or password...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.01.2007 (Сб) 23:32

Arcanoid
О ужас. Убери пока никто не видел.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение Arcanoid » 06.01.2007 (Сб) 23:33

Хакер
А что не правильно?!
Invalid user or password...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.01.2007 (Сб) 23:35

Знаешь, вообще то давно уже есть не только матричные, но также струйные и лазерные принтеры. Тем более их бывает несколько (вот у меня дома например 2 стоит).

И на каком принтере будет печататься текстбоксовый контент в таком случае? И уверен ли ты что будет?

Не гадай. Я тебе сразу же скажу что нет :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

8Ball's
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 26.12.2006 (Вт) 16:10
Откуда: Питер

Сообщение 8Ball's » 06.01.2007 (Сб) 23:38

Поэтому я и хочу применить CommonDialog, чтобы выбрать принтер
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.01.2007 (Сб) 23:39

А... ну, как говорится, удачной печати. Конечно же юзай способ гражданина Arcanoid.

Он просто суперуниверсальный: не надо даже драйверов. Ай как всё легко и хорошо...

Ещё раз удачной вам обоим печати :lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение Arcanoid » 06.01.2007 (Сб) 23:40

Да я уж и сам попробовал только что. На имя "LPT:" ругается... :oops:

стыдно :oops: :oops:
Invalid user or password...

8Ball's
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 26.12.2006 (Вт) 16:10
Откуда: Питер

Сообщение 8Ball's » 06.01.2007 (Сб) 23:44

Собственно вопрос остается в силе: как через commonDialog вывести на печать содержимое текстового поля?
Изображение

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

Сообщение Arcanoid » 06.01.2007 (Сб) 23:45

А по поводу CommonDialog: стоит ли его вообще использовать? Это еще вопрос спорный... Особенно если тащить прогу на другой комп потом придётся.
Invalid user or password...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.01.2007 (Сб) 23:46

Хакер писал(а):Знаешь, вообще то давно уже есть не только матричные, но также струйные и лазерные принтеры. Тем более их бывает несколько (вот у меня дома например 2 стоит).

У меня был струйный принтер, который отлично понимал вывод текста в lpt1.
А вот компов с двумя LPT-портами я, признаюсь, ни разу в жизни не видел...
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.01.2007 (Сб) 23:47

Через комондиалог никак нельзя вывести что то на печать. Даже за очень большие деньги - ну совсем никак.

Через Объект Printer - запросто
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

8Ball's
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 26.12.2006 (Вт) 16:10
Откуда: Питер

Сообщение 8Ball's » 06.01.2007 (Сб) 23:50

Хакер

Истина где-то рядом:
Printer.print
как его использовать если у меня много принтеров?
Изображение

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

Сообщение Arcanoid » 06.01.2007 (Сб) 23:51

А вот под бурные апплодисменты выходит и сама её величество Истина!
Код: Выделить всё
    CommonDialog1.ShowPrinter
    Printer.Print "hello from printer!!!"
    Printer.Print Text1.Text
    Printer.EndDoc

Ещё вопросы у кого есть?
Invalid user or password...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 08.01.2007 (Пн) 7:10

нды... а зачем тебе вызов диалога, ежели печатаешь на принтере по умолчанию? А если пользователь нажмет в диалоге кнопку "Отменить" все равно будешь печатать?
Весь мир матрица, а мы в нем потоки байтов!

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 08.01.2007 (Пн) 11:56

У меня принтер даёт белиберду. Страницы 4. Почему?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 08.01.2007 (Пн) 11:57

Хакер говорил что способ крив.... не слушали его...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение Arcanoid » 08.01.2007 (Пн) 16:37

Ну тогда что можно ещё порекомендовать?!...

Раз такие способы не устраивают, то тогда добро пожаловать в дебри Win32 API! Там и побольше настроек, и возможностей, ну соответственно и возни...
Invalid user or password...

Setr
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 08.01.2007 (Пн) 17:15

Сообщение Setr » 08.01.2007 (Пн) 17:48

Возможно так
Код: Выделить всё
With CommonDialog1
    .CancelError = True
    .Flags = cdlPDReturnDC + cdlPDNoPageNums
    If Text1.SelLength = 0 Then
        .Flags = .Flags + cdlPDAllPages
    Else
        .Flags = .Flags + cdlPDSelection
    End If
    .ShowPrinter
    If Err <> MSComDlg.cdlCancel Then
        Printer.Print Text1.Text
        Printer.EndDoc
    End If
End With

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.01.2007 (Пн) 18:24

Гм, и всё равно печататься будет на дефолтном принтере ;-)
Изображение

Setr
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 08.01.2007 (Пн) 17:15

Сообщение Setr » 08.01.2007 (Пн) 19:33

У меня печатает на том, который выбираешь.
Правда не уверен, что будет правильно работать печать выбранного фрагмента.


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

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

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

    TopList