• Viernes 15 de Noviembre de 2024, 06:04

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Laforge

Páginas: [1] 2
1
VB .NET / Imagen Transparente Encima De Grid
« en: Miércoles 26 de Enero de 2005, 17:35 »
Hola de nuevo compañeros,

Me estoy volviendo loco  :blink:  buscando la forma de superponer una imagen o un texto transparente en un grid! Quiero poner la palabra "FACTURADO" encima de un datagrid donde muestro una serie de datos. Lo he probado con un label de fondo transparente, con imágenes transparentes (GIF) en picturebox de fondo transparente, colocados como imagen y como fondo,...pero no hay manera!! :(  El transparente SIEMPRE llega hasta el fondo de formulario!!!

Alguien tienen una idea de cómo puedo solucionarlo??

Quizá Soultaker que está siempre trabajando con imágenes .....  :P

Saludos!

2
VB .NET / Re: Uso De Mouseover, Mouseup, Etc
« en: Miércoles 26 de Enero de 2005, 17:28 »
Hola Soultaker.

Pruébalo con MouseEnter en vez de MouseHover. No estoy muy seguro pero creo que MouseHover, antes de ejecutar los eventos examina el objeto...por eso esa demora.

Saludos!

3
VB .NET / Sucesión De Eventos En Tabcontrol
« en: Viernes 7 de Enero de 2005, 16:28 »
Hola de nuevo!! :hola:


Alguien sabría enumerar-me la sucesión de eventos que tienen lugar en un TabControl al activarlo??

Mi problema es que tengo toda una serie de rutinas a ejecutar cuando entro en las diferents TabPages de un TabControl, las cuales ejecuto en el evento ENTER. Éste se me ejecuta sin ningún problema cuando cambio de TabPage a través de instrucciónes de código (TabControl.SelectedIndex=TabPageIndex), pero cuando entro en la TabPage haciendo click con el mouse en la pestaña, se me vuelve "loco" (aún y controlando los eventos click, mousedown,...del TabControl).
                                                                   :hitcomp:

Alguien tiene una idea de cómo podría controlarlo?  :lightsabre:

Saludos,

4
VB .NET / Re: Cambiar De Pestaña En Tabcontrol
« en: Viernes 7 de Enero de 2005, 16:18 »
<_<  Bueno, ya lo tengo...

TabControl.SelectedPage=TabPage    

o

TabControl.SelectedIndex=TabPageIndex


Saludos  :hola:

5
VB .NET / Re: Filtrar En Un Dataview
« en: Martes 4 de Enero de 2005, 10:16 »
Una forma sencilla sería con una subrutina con un pequeño bucle a la que le pasamos el valor capturado en el combobox (supongo que será el cliente):

p.e.  :comp:

Private Sub Buscar_Posición_Cliente(byVal CliCapturado as String)
Dim Posición as Short =0
Dim cDataRow as TuDataRow.TuDataTableRows
For Each cDatarow in TuDataSet.TuDataTable
if TuDataSet.TuTabla.Rows(i).Item("Cliente") <> CliCapturado Then
Posición +=1
Else
Exit For
Next


...creo que te puede funcionar. :)

Saludos,

6
VB .NET / Cambiar De Pestaña En Tabcontrol
« en: Viernes 31 de Diciembre de 2004, 18:07 »
Hola de nuevo :hola:

Antes que se acabe el año tengo una pequeña duda. Es la primera vez que utilizo TabControls y no sé cómo demonios cambiar de pestaña por código!! Anda que alguien me heche una manita en esa tarea tan sencilla... :nosweat:


Buenos pues, FELIZ AÑO A TODOS.
Nos volvemos a "postear" en el 2005!!
 :kicking:  :beer:  :birthday:  :guitar:

...y no bebáis demasiado, que luego pasa lo que pasa (ja,ja,ja...)  :wacko:


Saludos

7
VB .NET / Re: Labels Transparentes
« en: Jueves 30 de Diciembre de 2004, 12:03 »
Senzao...ahí t'as pasao!   :D

Anakin, si hay múltiples imágenes en el mismo formulario...lo tienes crudo, ya que, como bién dices, el color "transparent" lo que hace es un "agujero" hasta el formulario. Una de dos, o te limitas a poner las etiquetas fuera de las imágenes o te haces una composición de las imágenes tal y como las quieres con el Photoshop o el Corel o hasta, incluso, con el PowerPoint (haces la composición en una página y después le dices Guardar como... JPG), y lo metes como BackgroundImage del Formulario. Si no,....crudo, crudo,... :unsure:


Saludos y Felices Fiestas

8
VB .NET / Re: Dibujar Linea En El Formulario
« en: Jueves 30 de Diciembre de 2004, 11:55 »
...hey!! esa me la sé!!!   :D

Te pongo un código de ejemplo que yo utilizo para un título y marcar los puntos de un menú de un formulario :good:

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim DibF As Graphics = e.Graphics
Dim myPen As New Pen(Color.White)
Dim MyBrush as Brushes
     myPen.Width = 1
     DibF.DrawLine(myPen, 415, 97, 750, 97)  'esto dibuja una lïnea
For i = 120 To 440 Step 32   ' y esto de aquí dibuja líneas y redondeles rellenos de color naranja
            DibF.FillEllipse(MyBrush.Orange, New Rectangle(475, i + 3, 15, 15))
            DibF.DrawLine(New Pen(Color.Orange), 478, i + 10, 510, i + 10)
            DibF.DrawLine(New Pen(Color.Orange), 340, 300, 420, i + 10)
            DibF.DrawLine(New Pen(Color.Orange), 420, i + 10, 475, i + 10)
        Next i
Exit Sub


Espero que te sirva.


Saludos y Felices Fiestas.

9
VB .NET / Re: Documento De Corel Draw
« en: Jueves 30 de Diciembre de 2004, 11:45 »
je,je...a veces cuesta... :D

Bueno, por lo que parece...creo tienes que ir a Agregar Referencias y en la pestañita COM buscar las herramientas de Corel Draw. Agregarlas y, luego, con el Examinador de Objetos, ver qué es lo que te permiten hacer esas herramientas y ...hasta ahí llego...... :losiento: .... ya que supongo que por la parte de capturar la imagen y abrir la aplicación lo debes tener 100% controlado. ;)


Saludos y Felices Fiestas

10
VB .NET / Re: Documento De Corel Draw
« en: Martes 28 de Diciembre de 2004, 11:11 »
:think:
...por lo que parece, lo que quieres hacer es insertar una imagen dentro de otra ya creada en Corel? (lo digo por eso de las coordenadas X,Y) y, al final hacer una composición de imágenes? :question:

11
VB .NET / Re: Fondo Degradado
« en: Viernes 24 de Diciembre de 2004, 16:26 »
Hey, por si te sirve, encontré el código que te dije en VB 4.0 (tamaño previsto del form 800x600).   :whistling:  

Es más sencillo de lo que pensava.... :blink:

Public Sub Degrada(vForm As Form)
vForm.ScaleMode = 3
vForm.ScaleHeight = 256
For i = 0 To 255
    vForm.Line (0, i)-(Screen.Width, i - 1), RGB(0, 0, 255 - i), B
Next i
End Sub

Fácil no??  :lol:

Saludos,

12
VB .NET / Re: Porqué Da Esta Excepción???????
« en: Jueves 23 de Diciembre de 2004, 16:41 »
Hola y gracias!

Lo estuve probando instanciando la variable "respuesta" i funcionó! :D  ...pero el "problema" es que depués volví a probar sin instanciar i .....funcionó!  :huh: Estuve revisando el código y ví que había algun cambio que hice de última hora, pero lo puse igualito, igualito (copy-paste) al que os envié y el único error que me da es de índice fuera de los límites de la matriz, el cual es fácilmente solucionable.

Bueno, lo dicho, gracias de todas formas JuanK!

Saludos y a seguir luchando  :lightsabre:


Saludos

13
VB .NET / Re: Porqué Da Esta Excepción???????
« en: Jueves 23 de Diciembre de 2004, 10:09 »
Hola otra vez.

Solucioné el segundo caso! :D   :smartass:

Lo hice quitando la instrucción marcada en rojo y modificando la posición de la instrucción marcada en amarillo hacia donde está la misma en azul (básicamente, situe el foco en la celda anterior antes de proceder a realizar las instrucciones INSERT/UPDATE)

Private Sub Grid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Grid1.CurrentCellChanged
Select Case Grid1.CurrentCell.ColumnNumber
Case 0
If Repite = 1 Then Exit Sub
ArticAct = Grid1.Item(FilAct, 0)
Repite = 1
If Grid1.VisibleRowCount > 2 Then
For i = 0 To Grid1.VisibleRowCount - 2
If ArticAct = Grid1.Item(i, 0) And i <> FilAct Then
PonFoco(FilAct, 0) 'evita que el foco se desplace hacia abajo
CdadAct = Grid1.Item(i, 2) + 1
PvpAct = Grid1.Item(i, 3)
DtoAct = Grid1.Item(i, 4)
Suma() 'función que obtiene el precio parcial: cantidadxprecio
Actualiza() 'update o insert, segun el caso, de datos en BBDD
Data1.Trabajo1.Rows(FilAct).Delete()
PonFoco(FilAct, 0) 'evita que el foco se desplace hacia abajo
Exit Sub
End If
Next i
End If
Grid1.Item(FilAct, 0) = Nothing
BuscaArticulo()
Repite = 0


...pero todavía me falta solucionar el primer caso....venga anímense, alguna idea???
 :think:

Saludos

14
VB .NET / Porqué Da Esta Excepción???????
« en: Miércoles 22 de Diciembre de 2004, 16:37 »
Hola de nuevo!

Bueno mi nuevo caso es el siguiente: :lightsabre:

Tengo una aplicación con un único formulario (Form1), dónde hay un DataGrid vinculado a un DataSet.
Inicializo el DataGrid con el DataSet vacío y voy entrando contenidos. Cada vez que salto de registro actualizo la BBDD con el nuevo registro.

El mismo problema me aparece en dos casos distintos:
 :comp:
1ro: Tengo una parte de código que controla cuando se pulsa la tecla ESC y pregunta a través de un msgbox tipo "yes/no" si se desean eliminar los datos entrados hasta el momento en la BBDD. Pues bién, si lo digo que SÍ, los borra, pero al volver a dar el control al formulario salta la excepción: "Referencia a objeto no establecida como instancia de objeto" y me señala el "Public Class Form1". Esta es la parte de código:


Case keyData.Escape
    Dim respuesta As DialogResult
    respuesta = MsgBox("Está seguro que desea descartar los datos?",MsgBoxStyle.YesNo)
    If respuesta = DialogResult.Yes
        TrabajoAdapter.DeleteCommand.CommandText = "DELETE * FROM Trabajo1"
        Data1.Trabajo1.Clear()
        Try
            ConectaBD()
            TrabajoAdapter.DeleteCommand.ExecuteNonQuery()
            DesconectaBD()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            DesconectaBD()
        End Try
    Else
        Repite=1
        Grid1.CurrentCell= New DataGridCell(FilAct,0)
    End If


2o: Una parte del código que controla si el registro introducido ya existe. Si es así, lo que hace es aumentar una unidad la referencia especificada y borra la línea nueva introducida. Al introducir una referencia repetida la primera vez, lo hace sin problemas, pero al repetir la operación tres veces en la misma casilla me salta, otra vez el error de "Referencia a objeto no establecida como instancia de objeto", señalándome, otra vez "Public Class Form1". Este es el código:

Private Sub Grid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Grid1.CurrentCellChanged
        Select Case Grid1.CurrentCell.ColumnNumber
            Case 0
                If Repite = 1 Then Exit Sub
                ArticAct = Grid1.Item(FilAct, 0)
                Repite = 1
                If Grid1.VisibleRowCount > 2 Then
                    For i = 0 To Grid1.VisibleRowCount - 2
                        If ArticAct = Grid1.Item(i, 0) And i <> FilAct Then
                            CdadAct = Grid1.Item(i, 2) + 1
                            PvpAct = Grid1.Item(i, 3)
                            DtoAct = Grid1.Item(i, 4)
                            Suma()   'función que obtiene el precio parcial: cantidadxprecio
                            Actualiza() 'update o insert, segun el caso, de datos en BBDD
                            Data1.Trabajo1.Rows(FilAct).Delete()
                            PonFoco(FilAct, 0)  'evita que el foco se desplace hacia abajo
                            Exit Sub
                        End If
                    Next i
                End If
                Grid1.Item(FilAct, 0) = Nothing
                BuscaArticulo()
                Repite = 0



Alguna idea de lo que puede ocurrir? Por lo que parece debe venir del mismo sitio... :whistling:

Saludos y...siento el palizón... :D

15
VB .NET / Visual Basic En Dispositvos Ppc
« en: Lunes 20 de Diciembre de 2004, 11:26 »
Hola de nuevo.

Tengo un poco de lío mental con el tema de programación en dispositivos PPC. Alguien puede dar un poco de luz a mi enturbiada mente?  ;)

Cuál es el idioma homólogo del VB.NET para PPC? Es el Embbeded Visual Basic 3.1? Según tengo entendido este no trabaja sobre la plataforma .NET Framework. Así pues se debe trabajar en el Visual C++ que Ms ha englobado en la plataforma .NET????? Pero claro, C++ ya no es lo mismo que VB......buffff  :blink:
Alguien puede ayudarme un poquitín?

Gracias

16
VB .NET / Re: Fondo Degradado
« en: Viernes 17 de Diciembre de 2004, 09:51 »
Ya veo, ya veo,....

Pues te propongo hacer lo que te comenté en el post anterior: dibujar líneas horizontales des de coordenada 0 hasta donde quieras, modificando la tonalidad de uno de los colores en cada línea que dibujes (o en grupos de 10, o 20,...un poco en función del ancho de la línea y del diseño deseado).´

Cómo hacerlo? La verdad, en eso no te puedo ayudar. Las referencias que tengo se remontan a un compañero que lo hizo en VB 4.0 y....si en 4.0 se puede hacer, en .NET no tengo ninguna duda. B)

Saludos  :hola:

17
VB .NET / Re: Controlar Evento Keydown En Las Celdas De Datagrid
« en: Jueves 16 de Diciembre de 2004, 18:30 »
Obtuve la solución por otro lado, pero gracias de todas formas  :D ...la anexo aquí para información:

 :comp:
Dim Tecla as DataGridTextBoxColumn = CType(TuTablaEstilo.GridColumnStyles(numcolumna), DataGridTextBoxColumn)
        AddHandler Tecla.TextBox.KeyDown, AddressOf ProcedimientoX


Saludos

18
VB .NET / Re: Fondo Degradado
« en: Jueves 16 de Diciembre de 2004, 15:45 »
He oído que puedes dibujar a base de líneas, un fondo degradado alterando una de las tonalidades de la línea (p.e. la cantidad de azul de esta), pero claro,....en horizontal, y así, si cada línea que dibujas tiene un poco menos de azul que la anterior, se te irá dibujando ese fondo degradado. Lo que dudo mucho que puedas hacer, es dibujar una sola línea con dos colores diferentes (en el fondo són muchos más, ya que el degradado lo implica).  :(

No es mejor "pegar" una imagen??? y ya está??...bueno en el fondo, tu sabrás que es lo que necesitas   :good:



Saludos,

19
VB .NET / Re: Otra Duda De Tantas..... :(
« en: Jueves 16 de Diciembre de 2004, 15:38 »
OK, de acuerdo, pero cómo ejecutas el INSERT INTO??? Cuál es el error que te da?? :huh:

Bueno, es igual, empiezo por donde siempre....por el principio   :D

Por lo que me cuentas, entiendo que esos dos formularios que has hecho debe estar repleto de TextBox que corresponden a cada uno de los campos de la BBDD.... bueno, antes de nada, si eso es así, decirte que puedes utilizar el mismo formulario para consultar y para entrar datos, pero...queda a tu elección.

Puede ser un poco largo, por lo que lo iremos haciendo por "fascículos" OK?

Formulario para entrada de datos:
En diseño del formulario
1. Crear conexión con BBDD y el DataAdapter
2. Crear el DataSet
3. Vincular cada uno de los TextBox con su propiedad DataBinding.Text a cada uno de los campos de la tabla del DataSet en cuestión.

Si hasta ahí sigues, avanzamos si no...pregunta la parte que corresponda.


Hasta el siguiente "fascículo".....  :D

20
VB .NET / Controlar Evento Keydown En Las Celdas De Datagrid
« en: Miércoles 15 de Diciembre de 2004, 17:42 »
...alguién sabe cómo hacer eso?   :blink:

El evento KeyDown de DataGrid solamente controla ese evento cuando el foco no está en ninguna de las celdas de la misma... :(

Saludos

21
VB .NET / Re: Preview De Un Textbox
« en: Martes 14 de Diciembre de 2004, 18:49 »
La verdad es que es un poco complicado......pero una opción podría ser esta...

(El ejemplo utiliza los controles PrintDocument, PrintPreviewDialog, PageSetupDialog y PrintDialog)

 :comp:

    Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
        Try
            'especifica els paràmetres de la pàgina actual
            PrintDocument1.DefaultPageSettings = OpcionesImprPagina
            'especifica documento para cuadro de diálogo de impresión a mostrar
            CadenaImpr = RichTextBox1.Text
            PrintDialog1.Document = PrintDocument1
            Dim result As DialogResult = PrintDialog1.ShowDialog()
            If result = DialogResult.OK Then PrintDocument1.Print()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

 Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim numCaract As Integer
        Dim numLineas As Integer
        Dim strParaPagina As String
        Dim strFormato As New StringFormat()
        'define un rectángulo basándose en la configuración de página
        Dim rectDibujar As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
        'define un area para calcular el texto que cabe en una página
        'diminuye en un alínea la altura para asegurar que el texto no se sale
        Dim MedidaTamaño As New SizeF(e.MarginBounds.Width, e.MarginBounds.Height - FuenteImpr.GetHeight(e.Graphics))

        'cuando escribe cadenas largas, las separa entre palabras
        strFormato.Trimming = StringTrimming.Word

        'calcula cuántos caracteres y líneas pueden caber basándose en medidatamaño
        e.Graphics.MeasureString(CadenaImpr, FuenteImpr, MedidaTamaño, strFormato, numCaract, numLineas)

        'calcula las cadenas que caben en una página
        strParaPagina = CadenaImpr.Substring(0, numCaract)

        'imprime la cadena contenida en la página actual
        e.Graphics.DrawString(strParaPagina, FuenteImpr, Brushes.Black, rectDibujar, strFormato)

        'si hay más texto, indica que hay más páginas
        If numCaract < CadenaImpr.Length Then
            'resta el texto que ya se ha impreso de la cadena
            CadenaImpr = CadenaImpr.Substring(numCaract)
            e.HasMorePages = True
        Else
            e.HasMorePages = False
            'se ha impreso todo el texto, restaura la cadena
            CadenaImpr = RichTextBox1.Text
        End If
    End Sub

    Private Sub btnSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetup.Click
        Try
            PageSetupDialog1.PageSettings = OpcionesImprPagina
            PageSetupDialog1.ShowDialog()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click
        Try
            'especificar las opciones de la página actual
            PrintDocument1.DefaultPageSettings = OpcionesImprPagina
            'especifica documento para cuadro de diálogo de impresión y mostrar
            CadenaImpr = RichTextBox1.Text
            PrintPreviewDialog1.Document = PrintDocument1
            PrintPreviewDialog1.ShowDialog()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

-ejemplo extraído del manual de VB.NET de Michael Halvorson, editorial McGrawhill-  :D

Espero que te sirva. Yo es el que utilizo cuando tengo que imprimir largos textos des de un textbox (richtextbox),...aunque trato de evitarlo.

Saludos,  :hola:

22
VB .NET / Re: Otra Duda De Tantas..... :(
« en: Martes 14 de Diciembre de 2004, 18:38 »
Hola Glauca,

Así, de repente y sin nada más es un poco difícil orientarte de cómo lo tienes que hacer para volcar tus datos a la BBDD desde textbox, combobox,.... se un poco más explícita y podremos decirte algo más que no sea lo que tu ya has dicho .... "hacer un INSERT INTO"....es que...yo que sé.... por ejemplo, si quieres utilizar textbox solamente como entrada de datos, es tan facil como ejecutar un simple instrucción INSERT INTO cuando, por ejemplo, pulses un botón de ACEPTAR (btnAceptar_Click)...pero es que hay mucho que decir en ese campo y si no acotas por alguna parte, será difícil, ya que uno se puede extender mucho, mucho, mucho (como este post  :P )

Saludos

23
VB .NET / Re: Debug Y Debug Paso A Paso Diferentes
« en: Jueves 2 de Diciembre de 2004, 12:17 »
Una parte del código que me da diferencias es esta:

DataAdapter1.SelectCommand.CommandText = "SELECT Partidos.* FROM Partidos"
        DataAdapter1.Fill(Escritura1)
        PosFil()  'situa el cursor en el último registro
        MaxPartido = Escritura1.Partidos.Item(PosFil).NumPartido
        Escritura1.Clear()

'lo que viene lo hago para tener conexión con la BBDD pero que no me enseñe ningún registro, ya que lo que quiero es añadir nuevos

        DataAdapter1.SelectCommand.CommandText = "SELECT Partidos.* FROM Partidos WHERE NumPartido = " & MaxPartido + 1  
        Grid1.DataSource = Escritura1
        Grid1.DataMember = "Partidos"
        AdaptaEscrit.Fill(Escritura1)
        Grid1.Refresh()

Esta parte si la ejecuto en modo normal no me enseña ningún registro (que es lo que quiero), sin embargo, si la ejecuto 'paso a paso' me enseña el primer registro de la tabla.... :blink:

Después envío la parte más conflictiva....

24
VB .NET / Debug Y Debug Paso A Paso Diferentes
« en: Miércoles 1 de Diciembre de 2004, 20:01 »
...algo pasó con el Iexplorer y repitió el post...lo siento. Serghio, puedes borrarlo?

Gracias.

25
VB .NET / Debug Y Debug Paso A Paso Diferentes
« en: Miércoles 1 de Diciembre de 2004, 18:11 »
Hola de nuevo,

Tengo un problemilla (por eso escribo no???  :D  :D  :D )

Estoy realizando un aplicación, en la cual, debo trabajar con BBDD MsAccess. A la hora de ejecutarla, si lo hago en modo Debug normal, tengo un resultado (en el fondo, no satisfactorio, pero bueno....), pero cuando procedo a ejecutarlo paso a paso para ver de donde falla, el resultado es completamente diferente!!!  :blink:

Alguien sabe a qué puede ser debido????  :blink:  :blink:  :blink:

Páginas: [1] 2