|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
[VB]Stampare il testo al centro della pagina!
Ragazzi, ho bisogno di un aiutONE!
![]() Sapete dirmi dove sbaglio? Il testo dovrebbe essere stampato al centro, invece è giusto un pò più a destra del margine sinistro. Mi sembra di aver fatto tutto bene C'è qualche angioletto che sa dirmi dove ho sbagliato? ------------------------------------------------ Dim stampato, firma As String stampato = "testo1" firma = "testo2" Printer.FontSize = 8 Printer.FontName = "Arial" Printer.FontBold = True Printer.Print Spc((80 - Len(stampato)) / 2); Printer.Print stampato Printer.Print Spc((80 - Len(firma)) / 2); Printer.Print firma Printer.FontBold = False Printer.EndDoc ------------------------------------------------ Sono 80 i caratteri max per 1 foglio A4? BO! ![]()
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
C'è ancora qualcuno che programma in Visual Basic?
Ogni volta che chiedo qualcosa sulla stampa, tutti scappano! Bhe? E daiiiiii. Non è che ho chiesto cose allucinanti.
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
un pò dura stampare al centro pagina così. Primo perchè l'arial non è un carattere a spaziatura fissa, pertanto le dimensioni di ogni carattere incidono sulla lunghezza totale della scritta.
Inoltre puoi decidere la dimensione del carattere, per esempio tu hai scelto 8. ti consiglio intanto di utilizzare un carattere a spaziatura fissa, tipo il "Courier New", fare una stampa con una scritta lunghissima per vedere quanti caratteri ci stanno con le dimensioni che più ti aggradano e poi modificare la tua formula di conseguenza.
__________________
Mentecatto innominato anzi innominabile msn: lufo53@hotmail.com LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio ![]() |
![]() |
![]() |
![]() |
#4 | |
Member
Iscritto dal: Sep 2001
Messaggi: 181
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
sicuramente la stampa è uno dei maggiori punti deboli di VB.
__________________
Mentecatto innominato anzi innominabile msn: lufo53@hotmail.com LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio ![]() |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Sep 2001
Messaggi: 181
|
nn ho mai fatto qualcosa del genere cmq...credo che se in questo modo nn trovi la giusta sol......puoi provare con le api
Le API sono di windows e non per VB6 o altri linguaggi, gli strumenti di sviluppano le usano e quello che può cambiare è il modo di dichiararle. Per il VB6 c'è tra i tool l' API text viewer che dice come dichiarare le funzioni disponibili. Quelle utili al settaggio della stampante sono le seguenti : Declare Function GetPrinter Lib "winspool.drv" Alias "GetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Any, ByVal cbBuf As Long, pcbNeeded As Long) As Long Declare Function DocumentProperties Lib "winspool.drv" Alias "DocumentPropertiesA" (ByVal hwnd As Long, ByVal hPrinter As Long, ByVal pDeviceName As String, pDevModeOutput As DEVMODE, pDevModeInput As DEVMODE, ByVal fMode As Long) As Long Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Byte, ByVal Command As Long) As Long e vanno usate in sequenza così come le ho scritte; le proprietà desiderate vanno settate nella struttura DEVMODE così composta : Public Type DEVMODE dmDeviceName As String * CCHDEVICENAME dmSpecVersion As Integer dmDriverVersion As Integer dmSize As Integer dmDriverExtra As Integer dmFields As Long dmOrientation As Integer dmPaperSize As Integer dmPaperLength As Integer dmPaperWidth As Integer dmScale As Integer dmCopies As Integer dmDefaultSource As Integer dmPrintQuality As Integer dmColor As Integer dmDuplex As Integer dmYResolution As Integer dmTTOption As Integer dmCollate As Integer dmFormName As String * CCHFORMNAME dmUnusedPadding As Integer dmBitsPerPel As Long dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long End Type Per il settaggio delle singole propietà devi vedere l'help o cercare su MSDN. Sappi comunque che con VB ci possono essere dei problemi in quanto la struttura di DEVMODE può variare per alcuni driver di stampanti e questo non è gestibile con VB ecco perchè alla fine bisogna farlo in C o..cmq qualcosa di+serio del vb. Ci@oO! |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
Quote:
![]() ![]() ![]() Non mi spaventare con queste cose! ![]() Sapete che ho fatto? Ho fatto 10.000 prove di stampa "rozza" ed alla fine l'ho centrato. Però ho notato una cosa molto strana ![]() Se prelevo del testo da una TextBox multiriga e la stampo, come faccio a stampare il testo a capo automaticamente quando ragginge il limite del foglio? Cioè se una variabile testo supera l'area di stampa, come faccio a far andare il testo automaticamente a capo? E, E, E. Adesso vi ho messo proprio in difficolta ![]()
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
basta sapere se il numero di caratteri della stringa è superiore al numero di caratteri stampabili per ogni riga, ed il gioco è fatto.
![]()
__________________
Mentecatto innominato anzi innominabile msn: lufo53@hotmail.com LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio ![]() |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
Quote:
![]() Se ad esempio ho una variabile txtTesto = "CIAO" e la O deve andare a capo, come faccio?
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
Quote:
![]()
__________________
Mentecatto innominato anzi innominabile msn: lufo53@hotmail.com LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio ![]() |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
Quote:
Cos'è un OCX?
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
Quote:
Gentilmente, potresti farmi un esempio? (è da poco che uso il VB)
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
|
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Sep 2001
Messaggi: 181
|
nn l'hai trovato l'ocx??
eccolo.. |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
Quote:
if len(TuaStringa) > MaxCaratteri then Stringa1 = Left(TuaStringa, MaxCaratteri) Stringa2 = Right(Tastringa, Len(TuaStinga) - MaxCaratteri) end if se cerchi sull'msdn della microsoft, torvi tutta la spiegazione della sintassi di Left, Mid e Right ed il loro funzionamento. ![]()
__________________
Mentecatto innominato anzi innominabile msn: lufo53@hotmail.com LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio ![]() |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 352
|
Quote:
Grazie 1000! ![]()
__________________
"L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi] |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:34.