0% encontró este documento útil (0 votos)
221 vistas4 páginas

Kardex Visual Basic

Este documento describe los pasos para configurar la cabecera de un código para imprimir listados. Explica cómo establecer el formato, fuente y posición de los campos de cabecera, así como cómo añadir líneas de identificación, título y subcabecera. También muestra cómo llamar a estos procedimientos desde el método principal de impresión para generar el encabezado completo antes de imprimir las líneas de detalle.

Cargado por

Cesar Kijano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
221 vistas4 páginas

Kardex Visual Basic

Este documento describe los pasos para configurar la cabecera de un código para imprimir listados. Explica cómo establecer el formato, fuente y posición de los campos de cabecera, así como cómo añadir líneas de identificación, título y subcabecera. También muestra cómo llamar a estos procedimientos desde el método principal de impresión para generar el encabezado completo antes de imprimir las líneas de detalle.

Cargado por

Cesar Kijano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

El procedimiento completo es el que sigue:

Private Sub ConfigCabeceraCodigo(ByRef Textocabecera() As CabecDetalle)


Dim Fuente As Font
Dim Lapiz As New System.Drawing.SolidBrush(System.Drawing.Color.Black)
Dim AnchoString As New SizeF
Dim Formato As New System.Drawing.StringFormat
Dim Cx As Long
Dim Grafico As Graphics = Me.CreateGraphics
Dim X As Integer
Fuente = Est_Lin_Det

' Campos del listado


TextoCabecera(0).Texto = "Num. "
TextoCabecera(1).Texto = "Servicio
TextoCabecera(2).Texto = "Fecha
TextoCabecera(3).Texto = "Hora

"
"

"

TextoCabecera(4).Texto = ""

' Formato del texto


Formato.FormatFlags = StringFormatFlags.MeasureTrailingSpaces
' Margen lateral
Cx = CLng(Hoja.DefaultPageSettings.Margins.Left)
' Fuente a utilizar
Fuente = New Font("Arial", 12, FontStyle.Italic)

' Bucle de clculo


While X < UBound(Textocabecera)
Textocabecera(X).Cx = Cx
' Ancho del texto

AnchoString = Grafico.MeasureString(StrDup(Len(Textocabecera(X).Texto), "n"


), Fuente)
Cx = CLng(Cx + AnchoString.Width)
X = X + 1
End While
End Sub
Hasta aqu, el cdigo se ejecuta desde este procedimiento al cual llamaremos cuando
se de la situacin de cambio de pgina.

Private Sub Cabeceras(ByRef Cy As Single, _


ByVal e As System.Drawing.Printing.PrintPageEventArgs)

LineaIden(Cy, ContPag, e)

' Lnea de identificacin

Titulo(Cy, e, "Listado de reservas por scios")

' Ttulo del listado

Cabecera(Cy, TextoCabecera, e)

' Cabecera de detalle

End Sub

Si en nuestro listado necesitamos unas lneas de ampliacin de los datos del listado
, podemos utilizar

Private Sub SubCabecera(ByRef Cy As Single, _


ByVal Texto As String, _
ByVal D As String, _
ByVal H As String, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs)

Dim Grafico As Graphics = Me.CreateGraphics


Dim AnchoString As New SizeF
Dim Fuente As Font
Dim Pincel As New System.Drawing.SolidBrush(System.Drawing.Color.Black)
Dim Cx As Single

Fuente = Est_Cabecera
D = Strings.Left(D, 2) & "-" & Strings.Mid(D, 3, 2) & "-" & Strings.Right(D, 4
)
H = Strings.Left(H, 2) & "-" & Strings.Mid(H, 3, 2) & "-" & Strings.Right(H, 4
)

Cx = CSng(e.PageBounds.Width * 0.07)
e.Graphics.DrawString("Nombre del scio ", Fuente, Pincel, Cx, Cy)
Cx = CSng(e.PageBounds.Width * 0.25)
e.Graphics.DrawString(" : " & Texto, Fuente, Pincel, Cx, Cy)
Cy = Cy + Fuente.Height

Cx = CSng(e.PageBounds.Width * 0.07)
e.Graphics.DrawString("Desde ", Fuente, Pincel, Cx, Cy)
Cx = CSng(e.PageBounds.Width * 0.25)
e.Graphics.DrawString(" : " & D, Fuente, Pincel, Cx, Cy)
Cy = Cy + Fuente.Height

Cx = CSng(e.PageBounds.Width * 0.07)
e.Graphics.DrawString("Hasta ", Fuente, Pincel, Cx, Cy)
Cx = CSng(e.PageBounds.Width * 0.25)
e.Graphics.DrawString(" : " & H, Fuente, Pincel, Cx, Cy)
Cy = Cy + Fuente.Height
End Sub

Que llamaramos desde el procedimiento de cabeceras.

Private Sub Cabeceras(ByRef Cy As Single, _


ByVal e As System.Drawing.Printing.PrintPageEventArgs)

LineaIden(Cy, ContPag, e)

' Lnea de identificacin

Titulo(Cy, e, "Listado de reservas por scio.")

' Ttulo del listado

SubCabecera(Cy, Reg.Item("NomSocio").ToString, Campo01.Text, Campo02.Text, e)


Cabecera(Cy, TextoCabecera, e)
End Sub

El siguiente paso sera las lneas de detalle.

' Cabecera de detalle

También podría gustarte