Tamaño de archivo en Visual Basic 6.0

El siguiente programa tomara un archivo de su computadora y dira el tamaño en bytes del mismo.

Para realizar este programa debemos crear un formulario con un command button en este caso lo llame cmdcalcular.

A continucacion escribir el siguiente codigo en el boton calcular:



Option Explicit

Private Sub cmdcalcular_Click()

Dim tamano As Long
If Dir$("C:\bueno.jpg") <> vbNullString Then
   tamano = FileLen("C:\bueno.jpg")
   MsgBox tamano & " bytes"
Else
   MsgBox "El archivo no existe"
End If

End Sub



* Tener en cuenta que en donde dice "C:\bueno.jpg" pondras la direccion en donde se encuentra el archivo al que quieres medir el tamaño.



Photo Play by AmputeeWrecks


Numeros narcisistas en Visual Basic 6.0

Un número narcisista es aquel que es igual a la suma de cada uno de sus dígitos elevados a la "n" potencia (donde "n" es el número de cifras del número).

Ejemplo 153 es un numero narcisista porque 
13 + 53 + 33 = 1 + 125 + 27 = 153

En el programa escribiras un numero entero cualquiera y el te dira si es narcisista o no. Para este programa sera necesario crear un formulario con un textbox llamado txtvalor y un command button llamado cmdcalcular. Escribir el siguiente codigo.


Dim entrada, salida, i, n As Integer

Option Explicit

Private Sub cmdcalcular_Click()
salida = 0
entrada = txtvalor.Text
n = Len(entrada)

For i = 1 To n
salida = salida + Val(Mid(entrada, i, 1) ^ n)

Next

If txtvalor = salida Then

MsgBox "Es un numeros narcisista"

Else

MsgBox "No es un numeros narcisista"

End If

txtvalor.SetFocus
End Sub



Foto marine - 3 by matmoon


Ejercicios resueltos VB 6.0: Precio por llanta


Escriba un programa para calcular el total que una persona debe pagar en una llantera, si el precio de cada llanta es de $70 si se compran menos de 5 llantas y de $60 si se compran 5 o mas.

Para este programa crear 2 textboxes con los nombres txtCantidad y txtPrecio y 1 boton con el nombre cmdCalcular y copiar y pegar el codigo de abajo.





Dim precio As Integer
Private Sub cmdCalcular_Click()

If txtCantidad = "" Or txtPrecio = "" Then
MsgBox "Por favor escriba una cantidad", vbExclamation, "Error"
Else


If txtCantidad < 5 Then

precio = 70

txtPrecio = precio * txtCantidad

ElseIf txtCantidad >= 5 Then

precio = 60

txtPrecio = precio * txtCantidad

End If

End If

End Sub






Photo: new york city by under-milkwood


Semaforo Visual Basic 6.0

Este es un programa que simula un semaforo real con un intervalo de 3 segundos.



Para ello insertamos 4 Shapes 3 en forma de circulo y 1 en forma de rectangulo.

Para cambiar la forma del Shape en un circulo ir a Propiedades > Shape.











Para darle color a los Shapes seleccionar el Shape > Propiedades > Fill Style  y cambiar a Solid.












Luego ir Propiedades > FillColor y elegir el color deseado.













Tambien hay que insertar un timer y asignarle en Interval el valor 3000 que significa 3 segundos. Para ello elegir el timer Propiedades > Interval > 3000.











El siguiente es el codigo para poner a funcionar el programa:

Private Sub Form_Load()
Shape2.Visible = True
Shape1.Visible = False
Shape3.Visible = False
End Sub

Private Sub Timer1_Timer()
If Shape1.Visible Then

Shape2.Visible = True
Shape1.Visible = False
Shape3.Visible = False

ElseIf Shape2.Visible Then

Shape3.Visible = True
Shape2.Visible = False
Shape1.Visible = False

Else

Shape1.Visible = True
Shape2.Visible = False
Shape3.Visible = False

End If

End Sub



Nota: Es necesario estar seguro de que los nombres de los Shapes y del Timer sean iguales en mi codigo como en el suyo para que el programa funcione.


Encontrar factor Visual Basic 6.0

El siguiente programa puede encontrar los factores de un numero introducido por el usuario el cual los mostrara en un Listbox. Para ello se utilizo la simple logica de que un numero es divisible por todos sus factores. El codigo es el suguiente:





Option Explicit

Private Sub Command1_Click()
List1.Clear
Dim N, x As Integer
N = Val(Text1.Text)
For x = 2 To N - 1
If N Mod x = 0 Then
List1.AddItem (x)
End If
Next
List1.AddItem (N)
Text1.SetFocus
End Sub

Private Sub Command2_Click()
Text1.Text = "0"
List1.Clear
Text1.SetFocus
End Sub




Encontrar el mayor numero Visual Basic 6.0

El siguiente programa permite al usuario insertar tres numeros para calcular cual es el mayor. En un cuarto input se imprimira el mayor de los tres.


El codigo es el siguiente:

Private Sub cmdcalcular_Click()

If Val(txt1.Text) > Val(txt2.Text) And Val(txt1.Text) > Val(txt3.Text) Then

txtresultado.Text = txt1.Text

Else

If Val(txt2.Text) > Val(txt3.Text) Then

txtresultado.Text = txt2.Text

Else

txtresultado.Text = txt3.Text

End If

End If


End Sub



Foto D126 by miobi


Convertir de numeros a letras en Visual Basic 6.0

El siguiente programa convertira los numeros en letras del 0 al 10,000. Para ellos utilizaremos 2 textbox llamado txtvalor y txtletras, y un commandbutton que se llamara Command1.

El siguiente es el codigo para hacer funcionar el programa. Copiar y pegar en el commandbutton Command1. 




Dim n, z, y, t As String


Private Sub Command1_Click()
n = Val(txtvalor)

If n = 0 Then
nn = ("cero")
End If

z = ""
y = ""
t = ""

For x = 1 To 4


If n = 1 Then
nn = ("uno")
End If


If n = 2 Then
nn = ("dos")
End If


If n = 3 Then
nn = ("tres")
End If


If n = 4 Then
nn = ("cuatro")
End If


If n = 5 Then
nn = ("cinco")
End If


If n = 6 Then
nn = ("seis")
End If


If n = 7 Then
nn = ("siete")
End If


If n = 8 Then
nn = ("ocho")
End If


If n = 9 Then
nn = ("nueve")
End If


If n = 10 Then
nn = ("dies")
End If


If n = 11 Then
nn = ("once")
End If


If n = 12 Then
nn = ("doce")
End If


If n = 13 Then
nn = ("trece")
End If


If n = 14 Then
nn = ("catorce")
End If


If n = 15 Then
nn = ("quince")
End If


If n = 16 Then
nn = ("dieciseis")
End If


If n = 17 Then
nn = ("diecisiete")
End If


If n = 18 Then
nn = ("dieciocho")
End If


If n = 19 Then
nn = ("diecinueve")
End If


If n = 20 Then
nn = ("veinte")
End If


If n = 21 Then
nn = ("veintiuno")
End If


If n = 22 Then
nn = ("veintidos")
End If


If n = 23 Then
nn = ("veintitres")
End If


If n = 24 Then
nn = ("veinticuatro")
End If


If n = 25 Then
nn = ("veinticinco")
End If


If n = 26 Then
nn = ("veintiseis")
End If


If n = 27 Then
nn = ("veintisiete")
End If


If n = 28 Then
nn = ("veintiocho")
End If


If n = 29 Then
nn = ("veintinueve")
End If

If n = 30 Then
nn = ("treinta")

End If


If n > 30 And n < 40 Then
z = "treinta"
s = n - 30
n = s
End If

If n = 40 Then
nn = ("cuarenta")

End If

If n > 40 And n < 50 Then
z = "cuarenta"
s = n - 40
n = s
End If

If n = 50 Then
nn = ("cincuenta")

End If

If n > 50 And n < 60 Then
z = "cincuenta"
s = n - 50
n = s
End If



If n = 60 Then
nn = ("sesenta")

End If

If n > 60 And n < 70 Then
z = "sesenta"
s = n - 60
n = s
End If


If n = 70 Then
nn = ("setenta")

End If

If n > 70 And n < 80 Then
z = "setenta"
s = n - 70
n = s
End If

If n = 80 Then
nn = ("cincuenta")

End If

If n > 80 And n < 90 Then
z = "ochenta"
s = n - 80
n = s
End If



If n = 90 Then
nn = ("noventa")

End If

If n > 90 And n < 100 Then
z = "noventa"
s = n - 90
n = s
End If

If n = 100 Then
nn = ("cien")

End If


If n > 100 And n < 200 Then
y = "ciento"
s = n - 100
n = s
End If

If n = 200 Then
nn = ("doscientos")

End If

If n > 200 And n < 300 Then
y = "doscientos"
s = n - 200
n = s
End If

If n = 300 Then
nn = ("trescientos")

End If

If n > 300 And n < 400 Then
y = "trescientos"
s = n - 300
n = s
End If

If n = 400 Then
nn = ("cuatrocientos")

End If

If n > 400 And n < 500 Then
y = "cuatrocientos"
s = n - 400
n = s
End If

If n = 500 Then
nn = ("quinientos")

End If

If n > 500 And n < 600 Then
y = "quinientos"
s = n - 500
n = s
End If


If n = 600 Then
nn = ("seiscientos")

End If

If n > 600 And n < 700 Then
y = "seiscientos"
s = n - 600
n = s
End If


If n = 700 Then
nn = ("setecientos")

End If

If n > 700 And n < 800 Then
y = "setecientos"
s = n - 700
n = s
End If


If n = 800 Then
nn = ("ochocientos")

End If

If n > 800 And n < 900 Then
y = "ochocientos"
s = n - 800
n = s
End If


If n = 900 Then
nn = ("novecientos")

End If

If n > 900 And n < 1000 Then
y = "novecientos"
s = n - 900
n = s
End If

If n = 1000 Then
nn = ("mil")

End If

If n > 1000 And n < 2000 Then
t = "mil"
s = n - 1000
n = s
End If

If n = 2000 Then
nn = ("dos mil")

End If

If n > 2000 And n < 3000 Then
t = "dos mil"
s = n - 2000
n = s
End If

If n = 3000 Then
nn = ("tres mil")

End If

If n > 3000 And n < 4000 Then
t = "tres mil"
s = n - 3000
n = s
End If

If n = 4000 Then
nn = ("cuatro mil")

End If

If n > 4000 And n < 5000 Then
t = "cuatro mil"
s = n - 4000
n = s
End If

If n = 5000 Then
nn = ("cinco mil")

End If

If n > 5000 And n < 6000 Then
t = "cinco mil"
s = n - 5000
n = s
End If

If n = 6000 Then
nn = ("seis mil")

End If

If n > 6000 And n < 7000 Then
t = "seis mil"
s = n - 6000
n = s
End If

If n = 7000 Then
nn = ("siete mil")

End If

If n > 7000 And n < 8000 Then
t = "siete mil"
s = n - 7000
n = s
End If

If n = 8000 Then
nn = ("ocho mil")

End If

If n > 8000 And n < 9000 Then
t = "ocho mil"
s = n - 8000
n = s
End If

If n = 9000 Then
nn = ("mil")

End If

If n > 9000 And n < 10000 Then
t = "nueve mil"
s = n - 9000
n = s
End If

If n = 10000 Then
nn = ("dies mil")

End If

txtletras.Text = t & " " & " " & y & " " & z & " " & nn

Next
End Sub



Como funcionara el codigo este código:

Dim n, z, y, t As String: Se declaran las variables n, z, y, t tipo cadena.

n = Val(txtvalor): Se asigna a la variable "n" el valor del textbox "txtvalor" en el cual insertaremos el numero que queramos convertir a letra.

If n = 0 Then nn = ("cero") End If: Empezamos preguntando que si el valor de la variable "n"es igual a cero entonces la variable "nn" sera igual a la cadena "cero", este es el numero en letra.

t = "": Se inicializa la variable t con un valor vacio, se le asignas comillas por ser una variable tipo cadena.

For x = 1 To 4: El "For" sirve para repetir un evento la cantidad de veces especificadas en el mismo. En este caso el se repetira 4 veces ya que como se convertiran los numeros hasta el 10,000 las cifras de los numeros  que estan antes del 10,000 son 4.

Luego al igual se continuara preguntando con el If que numero es cual para imprimirlos en letras.

If n > 30 And n < 40 Then z = "treinta" s = n - 30 n = s End If: A partir de el numero 30 se utilizara la variable z para imprimir los numeros correspondientes a la decena. Con la variable "s" se resta a la variable "n" (el valor del textbox) en este caso 30, para conseguir el numero restante en letras.

Y asi sucesivamente...

La variable "t" representa la unidad de mil, la variable "y" la centena, "z" la decena y la variable "nn" representa la unidad.



Foto Christine by matmoon

Cuadrados perfectos en Visual Basic 6.0

El siguiente programa elevara al cuadrado una lista de numeros de acuerdo al rango de inicio y final que le indiquemos. Presionando la tecla "Enter" cuando estemos en el txtr2. Para elaborar el programa necesitaremos 2 textbox llamados txtr1 y txtr2 en la propiedad name de cada uno de los textbox. Y un listbox que se llamara List1.

Para ello escribimos el siguiente codigo en el evento KeyPress del txtr2 (el segundo textbox):


Private Sub txtr2_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
If Val(txtr1.Text) < Val(txtr2.Text) Then
List1.Clear
Dim v As Integer
r1 = Val(txtr1.Text)
r2 = Val(txtr2.Text)
v = r1 - 1
Do While v < r2
v = v + 1
r = v ^ 2 'Aqui elevamos al cuadrado
List1.AddItem (v & " ^ " & 2 & " =" & r)
Loop
Else
MsgBox ("El valor del rango 1 debe ser menor que el rango 2")
End If
txtr1.Text = ""
txtr2.Text = ""
txtr1.SetFocus
End If

End Sub


El evento lo asignamos en la parte que esta en rojo de la imagen de la derecha. 

Ahora explicare el codigo:

If KeyAscii = 13 Then : Pregunta que si presionamos la tecla "Enter" que corresponde al numero 13 entonces se ejecutara el codigo.

If Val(txtr1.Text) < Val(txtr2.Text) Then: Pregunta que si el valor del txtr1 es menor que el txtr2 entonces se ejecutara el codigo siguiente. 

List1.Clear: Limpia el listbox.

Dim v As Integer: Declara la variable "v" como entero. 
r1 = Val(txtr1.Text): Asigna a la variable r1 el valor de el txtr1.
r2 = Val(txtr2.Text):  Asigna a la variable r2 el valor de el txtr2.

v = r1 - 1: Esto servira para inicializar el Do While, asignando a la variable v el valor de r1 y restandole 1 a ese valor. 
Do While v < r2: Esto dice que mientras "v" sea menos que r2 ejecutar el codigo de abajo.
v = v + 1: Sirve para que el Do While corra. 
r = v ^ 2: Asigna a la contante "r" la operacion que indica el valor de v elevado al cuadrado.

List1.AddItem (v & " ^ " & 2 & " =" & r): La funcion List1.AddItem añade los valores que estan entre parentesis al List.Box.
Loop: Aqui termina el Do While
Else: Esto significa "de lo contrario". Se refiere a la segunda pregunta anterior. 
MsgBox ("El valor del rango 1 debe ser menor que el rango 2"): Define el mensaje box. 
End If: Termina el segundo IF. 
txtr1.Text = "": Limpia el txtr1.
txtr2.Text = "": Limpia el txtr2.
txtr1.SetFocus: Envia el cursor al txtr1. 
End If: Termina el primer IF.


Calcular peso en Planeta en visual Basic 6.0

El siguiente programa se construira con los objetos apreciados en la imagen de abajo.
El primer textbox se llamara txtptierra y el segundo correspondinte al resultado del peso se llamara txtp.
el CommandButton se llamara cmdcalcular. y los OptionButton llevaran el nombre de opt(el nombre del planeta). 
Se puede calcular el peso de cualquier objeto (en kilogramos) en cualquiera de los nueve planetas del sistema solar en el lenguaje de programacion Visual Basic 6.0 utilizando el siguiente codigo:


Private Sub cmdcalcular_Click()

If optmercurio.Value = True Then
p = Val(txtptierra * 0.378)
txtp = p

ElseIf optvenus.Value = True Then
p = Val(txtptierra * 0.907)
txtp = p

ElseIf optmarte.Value = True Then
p = Val(txtptierra * 0.377)
txtp = p

ElseIf optjupiter.Value = True Then
p = Val(txtptierra * 2.367)
txtp = p

ElseIf optsaturno.Value = True Then
p = Val(txtptierra * 1.064)
txtp = p

ElseIf opturano.Value = True Then
p = Val(txtptierra * 0.889)
txtp = p

ElseIf optneptuno.Value = True Then
p = Val(txtptierra * 1.125)
txtp = p

ElseIf optpluton.Value = True Then
p = Val(txtptierra * 0.067)
txtp = p

ElseIf optluna.Value = True Then
p = Val(txtptierra * 0.166)
txtp = p

End If

End Sub

Private Sub Form_Load()

txtptierra.TabIndex = 0
txtp.Enabled = False

End Sub

Promedio / Media de tres notas VB 2008

Programa hecho en Visual Basic 2008 Express Edition que al insertar 3 notas calculara el promedio de estas. Recuerde que Promedio = x /N. Este programa tambien mostrara un mensaje en un label denominado lblcalificacion que dira como se califica el promedio de las notas insertadas.

Para hacer este programa necesitaras insertar en un formulario los siguientes objetos:

-6 Labels
-4 TextBoxs
-3 Bottons
-1 Shape en forma de rectangulo

Luego de insertar estos objetos escribir los siguientes codigos:


Public Class Form1
    Dim prom As Integer
    Dim promfinal As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        prom = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)

        promfinal = prom / 3
        Me.TextBox4.Text = promfinal

        If promfinal >= 0 And promfinal < 70 Then
            lblclasificacion.Text = "Promedio insuficiente"
        Else
            If promfinal > 69 And promfinal < 80 Then
                lblclasificacion.Text = "Promedio suficiente"
            Else
                If promfinal > 79 And promfinal < 90 Then
                    lblclasificacion.Text = "Buen promedio"
                Else
                    If promfinal > 89 And promfinal <= 100 Then
                        lblclasificacion.Text = "Promedio excelente"
                    End If
                End If
            End If
        End If


    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        lblclasificacion.Text = ""
        TextBox1.Select()

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.Close()
    End Sub
End Class

*En este programa se declararon dos variables (prom y promfinal) como Integer para que el resultado me de un numero entero.
*Botton1 = Boton Calcular
*Botton2 = Boton Limpiar
*Botton3 = Boton Cerrar

Calculadora aritmetica VISUAL BASIC 2008

Existen algunas diferencias entre la programacion en vb 6.0 y la programacion de vb 2008. Para hacer esta calculadora insertar dos 3 texbox, dos para insertar los valores y uno para que presente el resultado. Tambien se utilizaran 4 botton para hacer las 4 operaciones basicas. Y un boton final para limpiar los cuadros de texto. Para que la calculadora funcione escribir el siguiente codigo:



Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.TextBox3.Text = Val(TextBox1.Text) / Val(TextBox2.Text)
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.TextBox3.Text = Val(TextBox1.Text) - Val(TextBox2.Text)
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Me.TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox1.Select()
    End Sub
End Class

Calculadora aritmetica VISUAL BASIC 6.0


Para hacer esta calculadora insertar dos 3 textbox, dos para insertar los valores y uno para que presente el resultado. Tambien se utilizaran 4 commandbotton para hacer las 4 operaciones basicas. Y un boton final para limpiar los cuadros de texto. Para que la calculadora funcione escribir el siguiente codigo:

Private Sub Command1_Click()
Text3 = Val(Text1) / Val(Text2)
End Sub

Private Sub Command2_Click()
Text3 = Val(Text1) * Val(Text2)
End Sub

Private Sub Command3_Click()
Text3 = Val(Text1) - Val(Text2)
End Sub

Private Sub Command4_Click()
Text3 = Val(Text1) + Val(Text2)
End Sub

Private Sub Command5_Click()
Text1 = Clear
Text2 = Clear
Text3 = Clear
Text1.SetFocus
End Sub


*Notas:
-Los codigos se pegaran en el evento Click de los Commandbotton.
-Clear se utiliza para limpiar los cuadros de texto.
-La cadena Text1.SetFocus indicara adonde ira el cursor luego de pulsar el boton en donde se encuentra dicho codigo.

Calculadora de numeros pares e impares VISUAL BASIC

Esta calculadora funcionara utilizando un textbox ( txtv1) y un boton de comando (Command1). Y producira una salida en un mensaje que dira si el numero digitado es par o no. Para hacer el programa se escribira el siguiente codigo en el boton Calcular (Command1):

 
Private Sub Command1_Click()
If CInt(Txtv1) Mod 2 Then
Txtv1 = ""
MsgBox ("El valor digitado es un numero impar")
Else
MsgBox ("El valor digitado es un numero par")
End If
End Sub