Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Stampa riga troppo lunga.
venerdì 02 settembre 2016 - 14.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
SQL Server 2008 R2
Peppino
Profilo
| Junior Member
193
messaggi | Data Invio:
ven 2 set 2016 - 14:48
Ciao a tutti.
Uso Visual Basic 2010 Express e Sql Express 2008 R2
Spero che con il codice postato di seguito, aiuta a spiegarmi meglio.
Static i As Integer
Dim lunghezzadescrizione As Integer
Dim contaRighe As Integer
Dim CaratteriPerRiga As Integer = CInt(NumericUpDown7.Value)
For i = i To i + RighePerPagina
Dim PuntatoreCarattereInizioRiga As Integer = 1
If i < bds.Count Then
descrizione = CStr(dst.Tables("Descrizione").Rows(i).Item(5))
lunghezzadescrizione = Len(descrizione)
If lunghezzadescrizione <= CaratteriPerRiga Then
e.Graphics.DrawString(descrizione, Font6, Brushes.Black, x, y)
Else
e.Graphics.DrawString(Mid(descrizione, PuntatoreCarattereInizioRiga, CaratteriPerRiga), Font6, Brushes.Black, x, y)
For contaRighe = 1 To CInt(lunghezzadescrizione / CaratteriPerRiga)
y += 18
PuntatoreCarattereInizioRiga += CaratteriPerRiga
e.Graphics.DrawString(Mid(descrizione, PuntatoreCarattereInizioRiga, CaratteriPerRiga), Font6, Brushes.Black, x, y)
Next
End If
y += 18 'Incremento della variabile Y
e.HasMorePages = True
Else
e.HasMorePages = False
End If
Next
Con questo codice, se tutte le righe rientrano nell'area di stampa va bene, ma quando le righe sono più lunghe dell'area di stampa, la rimanenza
dei caratteri li porta a capo. Purtroppo, portando la rimanenza a capo come normale che sia, aumenta anche di una riga e di conseguenza esce
fuori dall'area di stampa. Secondo me dovrei trovare il modo che ogni riga che aumenta andando a capo, dovrebbe diminuire il valore di RighePerPagina.
Ho provato secondo le mie possibilità a fare questo ma senza successo. Ho cercato in rete qualcosa ma anche qui niente.
Ho provato a fare un ciclo prima per ricavarmi quante righe superano la lunghezza diminuendo cosi il valore di RighePerPagina, ma cosi facendo mi
diminuisce le righe anche alle pagine che non sono presenti righe più lunghe.
Gentilmente come lo siete sempre, potreste darmi una dritta. Chiedo scusa se il post è un po lunghetto.
Ringrazio anticipatamente per l'eventuale risposta.
Ciao. Peppino.
stefano1856
Profilo
| Junior Member
100
messaggi | Data Invio:
sab 10 set 2016 - 17:32
Secondo me dovresti sostituire il for con un Do While e quando trovi una riga che non entra nell'area di stampa incrementi il contatore del ciclo
in pratica fai saltare un ciclo e ti stamperà un riga in meno, senza modificare il numero di righe da stampare che deve rimanere fisso.
Ciao
Peppino
Profilo
| Junior Member
193
messaggi | Data Invio:
mar 13 set 2016 - 20:43
Ciao.
Grazie per la risposta, anche se per altri impegni, non ho ancora avuto il tempo di provare con il tuo consiglio.
Eventualmente mi farò risentire. Grazie ancora.
Ciao. Peppino.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !