Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - 79137913

#1241
Programación Visual Basic / Re: do while y do until
21 Diciembre 2010, 12:45 PM
HOLA!!!

Lo mas recomendable es declarar todas las variables, pero VB6 tiene un sistema de reconocimiento automatico de variables y tipos de datos, en ese codigo calculo que el VB6 declaro implicitamente la variable X como integer.

Podes poner todas las variables que quieras en el codigo sin delcarar, pero te va a traer problemas, ya que VB6 las declara privadas dentro del procedimiento que estas haciendo, entonces si queres referenciarla entre 2 procedimientos, por Ej form1_load() y Command1_Click() vas a tener que declararla vos manualmente fuera de ambos procedimientos.

Ejemplo en codigo:

Aca VB6 te declara automaticamente la variable como privada del procedimiento Form_load()
Código (vb) [Seleccionar]
Private Sub Form_Load()
x = 50
'Aca al usar la variable x VB6 la declaro automaticamente
'como "Dim x As Integer" pero dentro de Form_load()
Call otroProcedimiento
End Sub

Private Sub otroProcedimiento()
Debug.Print x
'Aca quiero escribir la variable X en la ventana de inmediato//debug
'y no aparece nada, ya que la variable era exclusiva del otro procedimiento
'y VB6 la declaro como string calculo ya que en el debug aparece ""
End Sub


Aca uno declara la variable para todo el modulo:
Código (vb) [Seleccionar]
Dim x As Integer
Private Sub Form_Load()
x = 50
'Aca al usar la variable x VB6 la declaro automaticamente
'como "Dim x As Integer" pero dentro de Form_load()
Call otroProcedimiento
End Sub

Private Sub otroProcedimiento()
Debug.Print x
'Aca quiero escribir la variable X en la ventana de inmediato//debug
'y no aparece nada, ya que la variable era exclusiva del otro procedimiento
End Sub


Aca X toma valores de Cualquier tipo:
Código (vb) [Seleccionar]
Private Sub Form_Load()
x = 50
x = "hola"
x = #1/1/1999#
'Aca la variable x fue declarada por VB6 como "Dim X As Variant"
'osea una variable que puede tomar cualquier valor, pero esta te
'trae problemas al hacer operaciones y demas. No es recomendable.
End Sub


Aca da error ya que no coinciden los tipos
Código (vb) [Seleccionar]
Dim x as Integer
Private Sub Form_Load()
x = 50
'Despues de esta linea da el error
x = "hola"
End Sub


Seguro que no me pude expresar bien, cualquier cosa avisame e intento de nuevo.

GRACIAS POR LEER!!!
#1242
HOLA!!!

@h3rio: Si, es cierto, pero cuando hay hambre, no hay pan duro XD.

Se me ocurrio algo, intenta ejecutar el VB6 en compatibilidad con Win98 (el windows para el cual se armo el VB6). ahi talves funciona. Prueben y me avisan. :P

:silbar:

GRACIAS POR LEER!!!
#1243
Programación Visual Basic / Re: do while y do until
20 Diciembre 2010, 15:08 PM
HOLA!!!

Te dejo un ejemplo:

Código (vb) [Seleccionar]

    x = 0
    Do While x < 100
        x = x + 1
    Loop
    Debug.Print x
    x = 0
    'es lo mismo que
    Do Until Not x < 100
        x = x + 1
    Loop


GRACIAS POR LEER!!!
#1244
HOLA!!!

De ultima usen una Virtual Machine de MicroSoft (para programar y compilar), anda joya.

GRACIAS POR LEER!!!
#1245
HOLA!!!

@MrFrog :   :¬¬ Ni ganas de descargarlo, pero igual lo baje en fin, si se cambian los colores a gusto :P.
Lo que no vi es como cambiar el color de las letras osea un ForeColor.

P.D: No lei el code, solo vi las propiedades del control y lo ejecute y vi como era.

GRACIAS POR LEER!!!
#1246
HOLA!!!

Aunque no tenga utilidad, seguro alguien lo va a buscar y va a revivir el post asi que:

RomanToDecimal:

Código (vb) [Seleccionar]
Private Function RomanToDecimal(RomNum As String) As String

    Dim VectorRom()         As Integer 'Lo lleno con los valores de las letras
    Dim Tam                 As Integer 'Tamaño del numero Romano
    Dim X                   As Integer 'Para los Bucles
    Dim SumaRom             As Integer 'Acumulador
   
    Tam = Len(RomNum)
   
    If Tam = 0 Then
        RomanToDecimal = 0
        Exit Function
    End If
   
    ReDim VectorRom(1 To Tam)
   
    For X = 1 To Tam
        Select Case Mid$(RomNum, X, 1)
            Case "M":   VectorRom(X) = 1000
            Case "D":   VectorRom(X) = 500
            Case "C":   VectorRom(X) = 100
            Case "L":   VectorRom(X) = 50
            Case "X":   VectorRom(X) = 10
            Case "V":   VectorRom(X) = 5
            Case "I":   VectorRom(X) = 1
        End Select
    Next
   
    For X = 1 To Tam
        If X = Tam Then
            SumaRom = SumaRom + VectorRom(X)
        Else
            If VectorRom(X) >= VectorRom(X + 1) Then
                SumaRom = SumaRom + VectorRom(X)
            Else
                SumaRom = SumaRom - VectorRom(X)
            End If
        End If
    Next
   
    RomanToDecimal = CStr(SumaRom)

End Function


GRACIAS POR LEER!!!
#1247
HOLA!!!

@Black:
Preguntita: Se pueden seleccionar los colores del listviewEX o viene con "temas" predefinidos.

P.D: Te digo Black por que sino me suena a Impresora :P.

GRACIAS POR LEER!!!
#1248
HOLA!!!

Aca te dejo un codigo que pinta las celdas si en su interior hay un 1 :

Código (vb) [Seleccionar]

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    For X = 2 To 7
        If Range("B" & X) = 1 Then
            Range("B" & X).Interior.ColorIndex = 35
        Else
            Range("B" & X).Interior.ColorIndex = 0
        End If
        If Range("C" & X) = 1 Then
            Range("C" & X).Interior.ColorIndex = 35
        Else
            Range("C" & X).Interior.ColorIndex = 0
        End If
    Next
End Sub


GRACIAS POR LEER
#1249
HOLA!!!

Muy bueno!!!
Lo que quisiera saber es si se puede hacer un Item Multiline.

GRACIAS POR LEER!!!
#1250
HOLA!!!

Me olvide de decirte en el rar intenta incluir los ejecutables para probarlos de una ;)

GRACIAS POR LEER!!!