domingo, 26 de octubre de 2008

Ejemplo para crear un arreglo de controles en Visual Basic 6.0



Para crear un arreglo de controles podemos hacerlo de 2 maneras.

La primera opción es copiar un control ya dibujado y pegarlo en el formulario. Luego visual basic nos mostrará un diálogo preguntándonos si queremos crear una matriz de controles. Al contestar que si, ya se ha creado un arreglo con 2 controles, en este caso el primer control tendrá el índice 0 y el que pegamos el índice 1. Si queremos seguir agregando mas controles cuando peguemos nuevamente otro control visual basic no nos preguntará nuevamente si deseamos crear una matriz del control ya que esta ya está creada, y por lo tanto agregará un nuevo control y le agregará el número de índice correspondiente para diferenciarlo del resto, en este caso el 2. Ahora si observas en la propiedad index de los controles que forman el arreglo verás que estos tienen un número de índice que antes no tenían al no formar parte de un arreglo de controles

Nota: cualquier control de visual basic que no tenga un arreglo creado, la propiedad index de los mismos no tendrá ningún número o valor, ya que esta propiedad está reservada para los controles que formen parte de un vector o arreglo.

La otra opción para crear un arreglo, es ingresar directamente el número de índice en la propiedad index del control del cual queremos crear un arreglo.

Ejemplo:

El ejemplo consiste en crear 10 Arreglos de TextBox y lo que se va a hacer es mediante un bucle poner la propiedad Enabled de los controles en False, es decir los vamos a deshabilitar a todos.

Como te darás cuenta, si tuvieses que hacer esto manualmente, es decir deshabilitar cada TextBox individualmente tendrías que escribir

text1.enabled = False

y así para cada uno de los controles. en cambio haciendo un arreglo de controles, recorremos mediante un For todos los controles refiriendonos al índice y estableciéndole la propiedad Enabled en False para deshabilitarlos.

Create un arreglo de 10 TextBox Para eso coloca un text1 en el formulario. después copialo y pegalo, vb te va a preguntará si querés hacer un arreglo, decile que si, hasta que tengas 10 o los que quieras.

Si te fijás ahora en la ventana de propiedades, cuando seleccionas un textBox en la propiedad index te vas a dar cuenta que poseen un número, ese es el índice que los identifica, y por medio de ese índice nos vamos a referir en el bucle For

El código de este ejemplo bien simple quedaría así:

Dim i As Integer

For i = 0 To 9

text1(i).Enabled = False

Next


Como podés ver, le pasamos en el parámetro índice el valor de la variable i para referirnos a ese text1 en particular y asignarle la propiedad Enabled en False.

Arreglos de controles en visual basic 6.0



hasta ahora se vió los aspectos de los vectores y matrices como estructuras que nos permiten almacenar datos y resolver problemas lógicos en nuestros programas. Ahora veremos los Arreglos de controles o vectores de controles

Un arreglo de controles es un conjunto de controles, todos de la misma clase (todos TextBox, todos Label, etc...) que poseen un mismo nombre y cada uno posee un número de índice que los identifica y los hace únicos con respecto a los demás, y conformando entonces un vector de controles. por ejemplo en vez de tener 3 Command, llamados command1, command2 y command3, puedo crear un arreglo de 3 botones. Estos 3 botones comparten el mismo nombre pero cada botón se distingue del resto por un número de índice, es decir si por ejemplo nuestro botón de comando se llama cmd pasaría a tener un cmd(1), un cmd (2) y un cmd(3).

En un arreglo de controles todos los controles deben ser del mismo tipo y además no puede haber un control dentro del arreglo que tenga el mismo número de índice, ya que sería imposible identificarlo en el conjunto, además VB no lo permitiría y nos mostraría un error.

Las ventajas principales que tenemos cuando trabajamos con un vector de controles son las siguientes:

Todos los controles que forman el arreglo comparten el mismo procedimiento de código, con lo cual si tenemos muchos controles que tienen que ejecutar la misma instrucción no debemos escribir código de más en cada control.
Tener 20 cajas de texto, por ejemplo, consumen mucha mas memoria que utilizar un vector de 20 cajas de texto.

Es posible crear controles en tiempo de ejecución, a partir de un arreglo de controles ya creado.

Es mas fácil manipular y establecer las propiedades en un vector de controles refiriendonos al subíndice de los mismos.

Funciónes Join, Split y Filter en visual basic 6.0



Visual basic en su sexta versión incorpora estas 3 funciones para trabajar solo con vectores. Estas funciones están relacionadas con el tratamiento de las cadenas de caracteres.

Función Join

Esta función se utiliza para unir en una sola variable el conjunto de subcadenas de un vector. Esta función tiene solo 2 parámetros y es muy fácil de usar. Ejemplo:

Dim micadena as string
Dim vector(1 To 3) As String

vector(1) = "Carlos"
vector(2) = "Pedro"
vector(3) = "Juan"


Ahora ejecutando Join, la variable micadena pasaría a valer "Carlos-Pedro-Juan"

micadena = join (vector, "-")

Nota: En el primer parámetro de la función debemos indicar el vector en el cual trabajar, y en el segundo se debe indicar un delimitador de caracter para separar las cadenas. Si no especificamos ninguno, visual basic utilizará por defecto un espacio vacío o en blanco (" ") para separar cada subcadena .

Función Split:

Esta función hace el trabajo inverso de la función Join.

Split se utiliza para rellenar un vector dinámico que contiene un número de subcadenas a partir de una cadena que le pasamos como parámetro a la función.

Para aclarar un poco un ejemplo

Private Sub Form_Load()

'Una variable para almacenar una cadena
Dim Micadena As String 'Vector dinámico
Dim Vector() As String

'Le damos un valor a la variable
Micadena = "maria/natalia/romina"

'Ejecutamos la función Split
Vector = Split(Micadena, "/")

'Ahora el vector dinámico pasaría a _
contener los siguientes valores:

Vector(0) = "maría"
Vector(1) = "natalia"
Vector(2) = "Romina"

End Sub


Nota: una cosa importante es que en el vector anterior no se ha declarado un rango , ya que la función devuelve un vector cuya cantidad de elementos se ignora, es decir no se conoce.

Enlaces relacionados a split
Pasar un archivo de texto a un array o matriz usando split

Función Filter :

La función Filter se utiliza para filtrar subcadenas de un vector dependiendo de un determinado criterio de búsqueda. Los parámetros que lleva la función son los siguientes:

Filter (vector donde buscar, cadena a buscar, valor booleano que indica si incluir o excluir la cadena)

Ejemplo:

' Vector
Dim Alumnos(1 To 4) As String

' Vector dinámico para almacenar el resultado
Dim Resultado() As String

Alumnos(1) = "Luciano"
Alumnos(2) = "Lucas"
Alumnos(3) = "juan"
Alumnos(4) = "Natalia"

' Ejecutamos Filter

Resultado = Filter(Alumnos, "Lu", True)

' Ahora el vector dinámico "resultado" pasa a contener

MsgBox Resultado(0), vbInformation ' Luciano
MsgBox Resultado(1), vbInformation ' Lucas

Funciones de VB para trabajar con Arreglos (LBound y UBound) en Visual Basic 6.0



Estas funciones son ideales para trabajar con vectores y matrices que han sido declaradas dinámicamente

Lbound y Ubound nos devuelve un número de tipo Long que nos permite saber el límite superior e inferior de un vector o una matriz.

Ejemplo de Ubound y Bound

Private Sub Form_Load()

'Variables Para almacenar los límites superior e inferior
Dim LimiteInferior As Long
Dim LimiteSuperior As Long

'Declaramos 3 matrices, de una dimensión, _
de dos dimensiones y de 3
Dim UnVector(1 To 520) As Integer
Dim UnaMatriz(20, 5 To 100) As String
Dim OtraMatriz(10, 20, 30) As Long

' Devuelve 1
LimiteInferior = LBound(UnVector)
' Devuelve 520
LimiteSuperior = UBound(UnVector)
' Devuelve 0
LimiteInferior = LBound(UnaMatriz, 1)
' Devuelve 20
LimiteSuperior = UBound(UnaMatriz, 1)
' Devuelve 5
LimiteInferior = LBound(UnaMatriz, 2)
' Devuelve 100
LimiteSuperior = UBound(UnaMatriz, 2)
' Devuelve 0
LimiteInferior = LBound(OtraMatriz, 1)
' Devuelve 10
LimiteSuperior = UBound(OtraMatriz, 1)
' Devuelve 0
LimiteInferior = LBound(OtraMatriz, 2)
' Devuelve 20
LimiteSuperior = UBound(OtraMatriz, 2)

' Devuelve 0
LimiteInferior = LBound(OtraMatriz, 3)
' Devuelve 30
LimiteSuperior = UBound(OtraMatriz, 3)

End Sub


Como habrás visto en los ejemplos anteriores, para conocer los limites superiores e inferiores en los vectores, solo se debe pasar como parámetro a las funciones Lbound y Ubound, el nombre del vector con el cual queremos trabajar.

En cambio en las matrices se añade un segundo parámetro en el cual debemos indicar el número de la dimensión en la cual queremos recuperar los valores.

Ejemplo de vectores y arreglos dinámicos en Visual Basic 6.0



En lo siguiente, primero declaramos un vector de la forma como lo hacemos siempre con la diferencia de que en vez de colocar un tamaño declaramos el vector solo con los paréntesis :

Dim alumnos () as string

Ahora le establecemos un tamaño, por ejemplo de 4 elementos y le agregamos valores:

ReDim alumnos(1 To 4) As String

alumnos(1) = "Luciano"
alumnos(2) = "Esteban"
alumnos(3) = "Mariano"
alumnos(4) = "Pedro"


Ahora para redimensionar el tamaño del vector por ejemplo a 7 elementos, utilizamos la función ReDim Preserve, para preservar los 4 valores anteriores y le agregamos 3 valores mas:

ReDim Preserve alumnos(1 To 7)

alumnos(5) = "Karina"
alumnos(6) = "Raúl"
alumnos(7) = "Romina"


Nota: si utilizamos la sentencia ReDim, o mejor dicho si redimensionamos el vector sin utilizar la sentencia ReDim preserve, los valores que contenía el vector anteriormente se perderán

Eliminar o vaciar un vector

Para eliminar un array, arreglo o vector, podemos utilizar Erase, por ejemplo:

Erase Nombre_Del_Vector

Vectores dinámicos en Visual Basic 6.0



Visual basic posee una sentencia o función que nos permite cambiar el largo de un vector en tiempo de ejecución, dándonos así mas flexibilidad, y de esta manera no desperdiciar memoria y recursos de la pc creando vectores mas largos de lo que realmente necesitamos.

Esta función se llama ReDim y ReDim Preserve.

Ejemplo de matriz de 2 dimensiones en Visual Basic 6.0



Matriz bidimensionales de 6 x 8 (de 2 dimensiones).

Dim personas (1 to 6, 1 to 8) as string

Si luego quisiera acceder a los datos de la misma basta con referirnos a los subíndices

Por ejemplo:

personas (1, 1) = "Natalia"
personas (2, 1) = "pedro"
personas (1, 7) = "valeria"
personas (1, 8) = "josé"
personas (2, 2) = "carolina"
personas (4, 1) = "raquel"
personas (6, 2) = "eustaquio"
personas (6, 5) = "maria"
personas (6, 8) = "mariana"

El total de índices posibles para almacenar datos o valores en el ejemplo anterior es de 48 datos, ya que si multiplicamos 6 x 8 nos da como total 48 valores posibles para utilizar en la matriz bidimensional.

En este ejemplo creamos una matriz de 3 dimensiones de 3 x 3 x 3

Dim cubo (1 to 3, 1 to 3, 1 to 3) as integer


para acceder a los datos sería exactamente de la misma manera pero debemos utilizar un índice mas.

Ejemplo:

cubo (1, 1 , 1) = 50
cubo (1, 1 , 2) = 50
cubo (1, 1 , 3) = 50
cubo (1, 2 , 1) = 50
cubo (1, 2 , 2) = 50
cubo (1, 2 , 3) = 50
cubo (1, 3 , 1) = 50
cubo (1, 3 , 2) = 50
cubo (1, 3 , 3) = 50
cubo (2, 1 , 1) = 50
cubo (2, 1 , 2) = 50
cubo (2, 1 , 3) = 50
cubo (2, 2 , 1) = 50
cubo (2, 2 , 2) = 50
cubo (2, 2 , 3) = 50
cubo (2, 3 , 1) = 50
cubo (2, 3 , 2) = 50
cubo (2, 3 , 3) = 50
cubo (3, 1 , 1) = 50
cubo (3, 1 , 2) = 50
cubo (3, 1 , 3) = 50
cubo (3, 2 , 1) = 50
cubo (3, 2 , 2) = 50
cubo (3, 2 , 3) = 50
cubo (3, 3 , 1) = 50
cubo (3, 3 , 2) = 50
cubo (3, 3 , 3) = 50

En el ejemplo anterior, que es un poco extenso, es para que veas todos los posibles valores que puedes almacenar en una matriz de 3 x 3 x 3, y que da como resultado un arreglo de 27 valores posibles.

Matrices en Visual Basic 6.0



Las matrices son arreglos de mas de 1 dimensión (2 o mas), a diferencia de los vectores que poseen una sola dimensión.

Podemos imaginar una matriz bidimensional ( 2 dimensiones) , como una cuadrícula con filas y columnas, donde las filas representarían las coordenadas x y las columnas las coordenadas y.

A una matriz de 3 dimensiones o tridimensional se la puede imaginar con las coordenadas x, y, z, y esta es ideal para representar figuras en el espacio por ejemplo.

Las matrices se declaran en el código de manera igual que los vectores, con la diferencia que debemos indicar mas subíndices de acuerdo a la cantidad de dimensiones que posea la matriz.

por lo general no se suele utilizar matrices de mas de 3 dimensiones..

martes, 21 de octubre de 2008

¡Las Primeras "1000 VISITAS"!



Bueno pues aquí estamos festejando las primeras mil visitas de este blog ha escasos 2meses de haberlo publicado, este blog esta diseñado por un servidor para que sea de gran ayuda a todas aquellas personas que desean aprender algo nuevo cada día.

Mis mas sinceros agradecimientos a aquellas personas que visitan este blog, esperando que la información contenida aquí sea de gran utilidad para los usuarios, reiterandoles que si tienen alguna duda solo escríbanme a mi correo electronico electronico_44@hotmail.com, y tratare de aclarar las dudas que tengan en el menor tiempo posible.

Esfuércense por lo que quieren, que en el momento menos esperado obtendremos resultados, solo hay que tener un poco de paciencia. Edg@r

Muchísimas Gracias.

Utilizar una estructura Type o UDT en un arreglo con Visual Basic 6.0


Como vimos, en un arreglo podemos almacenar datos de cualquier tipo pero no mezclarlos, es decir podemos crear arreglos de tipo string, de tipo Integer etc,,, pero sin duda que lo mas importante y de mas utilidad a la hora de programar es la utilización de datos definidos por nosotros mediante una estructura Type

Por ejemplo:

Option Explicit

' Estructura de dato para el vector
Private Type agenda

nombre As String
apellido As String
cpostal As Integer

End Type

' Declaramos el vector
Dim personas(1 To 3) As agenda

Private Sub Form_Load()

' Llenamos con datos para el elemento 1 del arreglo

personas(1).nombre = "carlos"
personas(1).apellido = "Martínez"
personas(1).cpostal = 1900

' Llenamos con datos para el elemento 2 del arreglo

personas(2).nombre = "Héctor"
personas(2).apellido = "rosales"
personas(2).cpostal = 1898

' Llenamos con datos para el elemento 3 del arreglo

personas(3).nombre = "Albert"
personas(3).apellido = "Einstein"
personas(3).cpostal = 1324

End Sub

Para utilizar una estructura definida por nosotros en vectores o matrices, se hace de la forma habitual, con la diferencia que debemos declarar el arreglo utilizando el tipo de dato Type que hayamos creado, en este caso Dim personas(1 to 3) as agenda

Acceder a los datos de un arreglo en Visual Basic 6.0


Para acceder a los datos de un arreglo o vector, debemos hacerlo mediante el índice o número del elemento del mismo. Por ejemplo:

Dim alumnos(1 To 4) As String

alumnos(1) = "juan"
alumnos(2) = "micaela"
alumnos(3) = "maría"
alumnos(4) = "ignacio"

Primero declaramos un arreglo llamado alumnos, de tipo string y que contendrá 4 elementos. Luego le asignamos un valor de cadena como a cualquier otra variable de tipo string, pero con la diferencia que para referirnos al elemento utilizamos el n° de índice del mismo.

Otro ejemplo

Dim paises(2) As String

' Llena el vector con datos
paises(0) = "Argentina"
paises(1) = "Perú"
paises(2) = "Brasil"

' Recorre los elementos del vector
For x = 0 To 2

MsgBox "Nombre del país : " & paises(x)

Next x

En este último ejemplo, declaramos y creamos un vector de 3 elementos que contendrá el nombre de 3 países. Luego en un bucle For utilizamos la función MsgBox para mostrar los elementos del arreglo, pasándole como parámetro del índice la variable x del bucle For.

Declaración de los arreglos en el código con Visual Basic 6.0


Para crear un arreglo se debe en primer lugar declararlo como cualquier otra variable, la única diferencia es que debemos indicar la cantidad de elementos que contendrá el arreglo, colocando el número de índice entre paréntesis. Por ejemplo :

Lo siguiente crea un arreglo de 15 elementos o datos de tipo integer

Dim miArreglo (1 to 15) as integer


Esto crea un arreglo de 11 elementos o datos de tipo String

Dim empleados (10) as String


Como podemos ver en el primer ejemplo hemos declarado un arreglo llamado miArreglo y entre paréntesis hemos declarado el rango de capacidad del mismo, es decir la cantidad de datos que podrá contener

El primer número , el 1 , indica el límite inferior del mismo, y el número 15 indica el límite máximo del arreglo, conformando de esta manera un arreglo que podrá almacenar 15 datos de tipo string.

En el segundo ejemplo, declaramos un arreglo de 11 elementos de tipo string. Como podés ver hemos indicado solo un número que representa el valor máximo del mismo. Cabe aclarar que hemos puesto de índice el número 10, pero en realidad el arreglo contiene 11 elementos ya que cuando NO indicamos el limite inferior , se asume que el mismo comienza desde el 0.

Importante: los arreglos se dividen en 2 grupos, los vectores y las matrices. Los vectores son arreglos que contienen una sola dimensión y las matrices 2 o mas dimensiones.

Arreglos y Vectores en Visual Basic 6.0


Los Arreglos se utilizan para almacenar un conjunto de variables, que sean del mismo tipo de dato, y todas estas bajo un mismo nombre.

Por ejemplo imaginemos que tenemos 20 variables de tipo String que almacenan nombres (nombre1, nombre2, etc..). si yo ahora quisiera pasar todas estas cadenas a minúsculas tendría que utilizar la función Lcase con cada variable: nombre1 = Lcase(nombre1), nombre2 = Lcase(nombre2), etc..

En cambio si utilizara un arreglo solucionaría mi problema solo a esto

Dim nombres(30) As String

For x = 0 To 30

nombres(x) = LCase(nombres(x))

Next

Siguiendo el ejemplo anterior: en vez de escribir la sentencia Lcase 30 veces para cada variable, hemos utilizado un arreglo llamado nombres con un número de índice 30 , es decir que almacena 30 datos de tipo String

Funciones para presentar mensajes en Visual Basic 6.0


Visual Basic posee 2 tipos de funciones para presentar mensajes, ellas son MsgBox e InputBox.

Función InputBox:

La función InputBox presenta un mensaje al usuario, permitiéndole ingresar un valor en una caja de texto:

Como se dijo la función InputBox presenta un cuadro de diálogo donde el usuario puede ingresar un texto y luego aceptar o cancelar dicho cuadro de diálogo.

Los parámetros principales de esta función son:

InputBox (Promt,Title, Default)

El parámetro Prompt específica la leyenda que mostrará la caja de mensajes.
El parámetro Title especifica el título que llevará el cuadro de diálogo.
El parámetro Default es el texto que mostrará la caja de texto.

El aspecto mas importante de InputBox es que nos devuelve una cadena con lo que haya ingresado el usuario en la caja de texto. Luego podemos realizar una tarea específica dependiendo del valor devuelto.

Ejemplo:

Dim retorno As String

retorno = InputBox("Ingrese algo en la caja de texto", "Ejemplo")

MsgBox "Usted ingresó:" & retorno


En el ejemplo anterior, en la variable Retorno se almacenará el valor que haya ingresado el usuario cuando haga Click en el botón de Aceptar.

Cuando el usuario presiona Candelar, el InputBox devuelve una cadena vacía. Esto es importante tenerlo en cuenta para realizar una o tal acción

Si quiseramos por ejemplo desplegar un InputBox, y que este no se cierre hasta que el usuario si o si haya ingresado un valor, podemos hacerlo de la siguiente forma, utilizando una condición en un bucle Do Loop

Código fuente en el formulario

Private Sub Form_Load()

Dim Dato As String

' Hasta que no se ingrese un dato, _
el InputBox no se cerrará
Do
Dato = InputBox("Ingresar algun dato", " Ejemplo ")
Loop Until Dato <> ""

'Muestra el valor
MsgBox Dato, vbInformation

End Sub


Función MsgBox:

La función MsgBox, que ya se vió varias veces en distintos ejemplos, es muy fácil de usar y se utiliza para mostrar distintos tipos de mensajes.

Los parámetros mas importantes son:

Title : Es la leyenda que aparecerá en el título del mensaje.
Texto : Es el Texto que mostrará el mensaje.
Botones: En este parámetro se colocan las constantes que determinarán si la caja tiene uno o varios botones y el tipo de mensaje: informativo, de exclamación de alerta etc... Cuando escribimos la coma dentro de la función en el parámetro botones, Visual Basic despliega una lista con las opciones o constantes que podemos utilizar.

Funciones para calcular fechas en Visual Basic 6.0


Visual basic cuenta con una serie de funciones que nos permiten calcular fechas y horas, por ejemplo generar un intervalo de fechas, sumar y restar fechas y horas y otras operaciones y cálculos

DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado

DateDiff : Devuelve el número de intervalos de tiempo entre dos fechas determinadas

DatePart : Devuelve una parte específica de una fecha dada

DateSerial : Devuelve un valor Date para un año, mes y día determinados

Ejemplos

El siguiente ejemplo utiliza la función DateDiff para mostrar el itervalo entre dos fechas. El intervalo lo muestra en segundos , minutos, dias, semanas meses y años, como muestra el siguiente gráfico

Colocar en el formulario un Command1.

Option Explicit

' recibe las dos fechas como parámetros
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Calcular(Fecha_Inicial As Date, _
Fecha_Final As Date)


Const Formato As String = "#,##0"

Me.Cls
Me.Print "Calcular Intervalos entre las fechas " & Fecha_Inicial & _
" hasta :" & Fecha_Final & vbNewLine & String(150, "-") & vbNewLine


Me.Print Format(DateDiff("s", Fecha_Inicial, Fecha_Final), Formato) & " segundos"
Me.Print Format(DateDiff("n", Fecha_Inicial, Fecha_Final), Formato) & " minutos"
Me.Print Format(DateDiff("h", Fecha_Inicial, Fecha_Final), Formato) & " horas"

Me.Print Format(DateDiff("y", Fecha_Inicial, Fecha_Final), Formato) & " dias"
Me.Print Format(DateDiff("WW", Fecha_Inicial, Fecha_Final), Formato) & " semanas"
Me.Print Format(DateDiff("m", Fecha_Inicial, Fecha_Final), Formato) & " meses"
Me.Print Format(DateDiff("yyyy", Fecha_Inicial, Fecha_Final), Formato) & " años"

End Sub

Private Sub Command1_Click()
' le pasa las dos fechas a la función
Call Calcular("01/01/2000", Date)
End Sub

Private Sub Form_Load()

Me.AutoRedraw = True
Command1.Caption = "calcular intervalos "

End Sub


Ejemplo con DateAdd

Lo siguiente, muestra como añadir y restar fechas

' agrega 10 años a la fecha actual
MsgBox DateAdd("yyyy", 10, Date)

' Agrega cinco meses a la fecha actual
MsgBox DateAdd("m", 5, Date)

' resta 1 dias a la fecha actual ( usa el signo -)
MsgBox DateAdd("y", -1, Date)



Nota: para restar, usar el signo negativo, como se usa en el último ejemplo.

Para poder restar y agregar segundos a una hora, usar en el parámetro intervalo la "S", para minutos usar la "n", para horas la "h", para restar y sumar semanas la "ww".

Funciones de formato para fechas y hora en Visual Basic 6.0


Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas:

Funciones para Fechas

Dim cadena As String

cadena = Format("06/08/78", "General Date") ' Devuelve: "06/08/1978"

cadena = Format("19/08/79", "Long Date") ' Devuelve : "Jueves 19 de Agosto de 1979".

cadena = Format("19/8/79", "Medium Date") ' Devuelve: "19-Ago-1979"

cadena = Format("17:08", "Short Time") ' "05:08"

cadena = Format("17:08", "Medium Time") ' "05:08 PM"

cadena = Format("17:08", "Long Time") ' "05:08:00 PM"

Funciónes de Formato (Format) en Visual Basic 6.0


La función Format es mas completa que las anteriores funciones, porque puede manejar mas tipos de datos, y no devuelve solo cadenas, esta también puede devolver números y fechas.

La función Format posee dos parámetros:

Format (Expresión, formato)

En el primero debemos colocar cualquier expresión válida. El segundo es opcional y a continuación veremos una descripción de los formatos de VB:

GeneralNumber: Devuelve el número sin formato.
Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2 decimales a las derecha.
Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del decimal.
Standar: Similar a Fixed pero incluye un separador de miles.
Percent: Multiplica el número por cien y le agrega el símbolo "%"
True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para 0.
On/OFF: Devuelve "Activado" para un valor distinto de 0, y "Desactivado" para 0.
La forma de pasar el parámetro es entre comillas.

Ejemplo:

cadena = Format(75, "Currency") ' Devolvería: "$75,00"


Nota: Si ingresamos un número decimal, debemos utilizar el "." y no la coma "," ya que la coma determina el comienzo de otro parámetro dentro de la función y Visual basic daría error de sintaxis

domingo, 5 de octubre de 2008

Crear una Base de Datos en MYSQL




El comando para crear una base de datos MySQL es el siguiente:

mysqladmin -u root create base_datos

Con este comando conseguimos crear la una base de datos en el servidor de bases de datos de nuestro servidor.

Una vez conseguido esto debemos crear las tablas en la base de datos, la descripción de las tablas contienen la estructura de la información que almacenaremos en ellas. Para lo cual usaremos en lenguaje de consultas SQL común para todas las bases de datos relacionales.

En este ejemplo creamos una tabla llamada prueba con 3 campos: un campo identificador, que nos servirá para identificar unívocamente una fila con el valor de dicho campo, otro campo con el nombre de una persona y por último un campo con el apellido de la persona.

Para crear la tabla puede usar la herramienta de administración de MySQL de su servidor web o puede escribir un fichero de texto con el contenido de la sentencia SQL equivalente y luego decirle al motor de base de datos que la ejecute con la siguiente instrucción:

mysql -u root base_datos <prueba.sql


prueba.sql

CREATE TABLE prueba (
ID_Prueba int(11) DEFAULT '0' NOT NULL auto_increment,
Nombre varchar(100),
Apellidos varchar(100),
PRIMARY KEY (ID_Prueba),
UNIQUE ID_Prueba (ID_Prueba)

Estilos de Caracter en HTML



Estos estilo son tags que afectan a palabras o carácteres dentro de otras entidades de HTML modificando el aspecto de ese texto para que sea diferente del texto que lo rodea. Existen dos tipos de estilos:


  • Estilos lógicos: Indican como se va a emplear el texto que realzamos, no el como se va a formatear.

    • <em>.....</em>: Indica que los carácteres estarán enfatizados de alguna manera, generalmente en cursiva aunque dependerá del navegador.

    • <strong>.....</strong>: Los carácteres tendrán mayor énfasis, generalmente en negrita.

    • <code>.....</code>: Muestra como una fuente monoespaciada, generalmente Courier.

    • <samp>.....</samp>: Muy similar a code.

    • <kdb>.....</kdb>: Texto que el usuario debe escribir.

    • <var>.....</var>:Nombre de una variable que deba ser reemplazada por su valor real. Generalmente en cursiva o subrayada.

    • <dfn>.....</dfn>:Se usa para resaltar una palabra que se va a definir.

    • <cite>.....</cite>: Se usa para citas cortas.



  • Estilos físicos: Modifican la presentación real del texto.

    • <b>.....</b>: Pone el texto en negrita.

    • <i>.....</i>: Pone el texto en cursiva.

    • <tt>.....</tt>: Pone el texto en fuente monoespaciada.

    • <u>.....</u>: Subraya el texto afectado.



Listas en HTML



Junto con encabezados y párrafos, son otro de los elementos HTML más comunes. Pueden darse cinco tipos diferentes de listas, cada uno con tags distintas aunque con alguna en común:


  • Listas numeradas u ordenadas: Se engloban por las tags <ol>.....</ol> y cada elemento de la lista estará encabezado por la tag <li> que puede o no llevar la tag de cierre </li>. Es conveniente que cada elemento de la lista esté en una línea nueva aunque todo seguido consiga en la presentación el mismo efecto. Cuando el navegador interpreta una lista ordenada, numera y sangra cada elemento en forma secuencial, aunque se introduzcan modificaciones

  • Listas con viñetas o sin orden: Se engloban por las tags <ul>.....</ul> y cada elemento de la lista, también estará encabezado por la tag <li>. El resultado es que el navegador inserta viñetas (marcadores) delante de cada elemento.


  • Listas de menú y de directorio: Están en desuso puesto que su resultado suele ser, prácticamente, idéntico al de las listas con viñetas.

    • Menú: Englobadas por las tags <menu>.....</menu> y cada elemento encabezado por la tag <li>.

    • Directorio: Englobadas por las tags <dir>.....</dir> y cada elemento encabezado por la tag <li>.




  • Listas de glosario: Cada elemento de la lista está compuesto por un término y una definición y cada una de estas partes tiene su propia tag. Estas listas se engloban con las tags <dl>.....</dl>. Para el término se usa la tag <dt> y para la definición la tag <dd>. Generalmente el navegador colocará término y definición en dos líneas diferentes pero esto se puede evitar añadiendo a la tag de apertura el atributo compact: <dl compact>.

  • Listas anidadas: Consiste en poner una lista dentro de otra, de manera que la lista secundaria sangre respecto a la principal. Puede jugar con los diferentes tipos de lista pero recuerde estructurar bien las tags: Las tags de la lista principal englobarán todo el conjunto de las listas y las tags de las listas secundarías se cerraran antes de volver a la lista principal. Ahora quizá le empiece a convenir sangrar el propio código conforme lo va escribiendo en HTML.

Manejo de URL en HTML



Los URL son las direcciones de las informaciones que buscamos en Internet. Los URL constan de tres partes:

Protocolo: Es el programa que utilizará el navegador para obtener el archivo elegido. Les suena HTTP, FTP, Gopher...
Nombre del host: Se trata del sistema donde se encuentra almacenada la información que buscamos.
Ruta del fichero: Se trata de la ubicación del archivo dentro del host.
http://www.bienvenidos.es/publico/saludos.html

Entre los principales tipos de URL destacan:

HTTP: Son los más populares ya que son los utilizados por los servidores de WWW para mandar documentos a través de Internet.
FTP: Se utilizan para apuntar hacia los archivos que estén en servidores que usan el protocolo FTP (File Transfer Protocol). Este protocolo es normalmente utilizado para enviar y recibir ficheros. Es el protocolo que se usa para enviar nuestras páginas al servidor de internet. Como ya se puede imaginar en estos servidores se almacenan los archivos que forman parte de nuestra presentación web.
File: Apuntan hacia archivos contenidos en el mismo disco que se encuentra el navegador. No resulta muy interesante poner estos URL en nuestras presentaciones puesto que otra persona que desde otro sistema apunte hacia este URL, generalmente fallará en su intento y no podrá tener acceso a él.
Mailto: Se usa para mandar correos electrónicos. Cuando seleccionamos este tipo de URL se abre la aplicación de correo electrónico de nuestro ordenador para enviar un correo a la dirección hacia la que apunta el URL. La forma estandar es: mailto:webmaster@bienvenidos.es
News: Son URL de grupos de noticias, en estos servidores se almacenan mensajes el los que se discuten sobre direfentes temas.

<HTML>

<HEAD>

<TITLE>Ejemplo 5</TITLE>

</HEAD>

<BODY>



<H1>Diferentes tipos de URLs</H1>



Enlace a <A HREF="http://www.webestilo.com">WebEstilo</A>.

<br>

Enlace al servidor de FTP

de <A HREF="ftp://ftp.mozilla.org/pub/mozilla/">Mozilla</A>.

<br>

Enlace a <A HREF="file:///C:">la unidad C

de su ordenador</A>.

<br>

Enlace a <a href="mailto:webmaster@bienvenidos.es">

mailto:webmaster@bienvenidos.es</a>.

<br>

Enlace a las <A HREF="news://msnews.microsoft.com">News de Microsoft</A>.

<br>



</BODY>

</HTML>

Crear Enlaces en HTML



Para generar un enlace a otro documento necesitamos el nombre de un archivo (o su dirección URL) y el texto que servirá de punto de activación del otro documento. Este segundo elemento será el que veamos en pantalla y que se servirá del primero para saltar de documento.

Los enlaces se generan mediante la tag <A>.....</A> y, a diferencia de los vistos anteriormente, llevará siempre dentro de la tag un atributo ya sea <A HREF=""> o <A NAME="">.


  • <A HREF="URL">.....</A>: Es el más habitual de los atributos y sirve para saltar entre diferentes URLs. De momento veremos:

    • Saltar en una presentación del archivo 1 al archivo 2: En el archivo 1 incluiremos la directiva <A HREF="archivo2.html">Siguiente página</a>

    • Saltar de nuestra presentación a otra presentación web llamada www.bienvenidos.es: <A HREF="http://www.bienvenidos.es">Visita esta página</A>



  • <A NAME="parte1">Primera parte</A>: Utilizamos el atributo name para dar nombre a una sección de nuestro documento. Posteriormente, cuando en nuestro documento queramos incluir un vínculo a dicha sección escribiremos: <A HREF="#parte1">Ir a la primera parte</A>

Objetivos de los Sistemas Gestores de Base de Datos



Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.

Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones.

Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.

Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada. Los SGBD proveen mecanismos para garantizar la recuperación de la base de datos hasta un estado consistente (ver Consistencia, más arriba) conocido en forma automática.

Respaldo. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder.

Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.

Manejo de Transacciones. Una Transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que el estado luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.

Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.

Topologías para Redes



La topología o forma lógica de una red se define como la forma de tender el cable a estaciones de trabajo individuales; por muros, suelos y techos del edificio. Existe un número de factores a considerar para determinar cual topología es la más apropiada para una situación dada.

La topología en una red es la configuración adoptada por las estaciones de trabajo para conectarse entre si.

Topologías más Comunes

Bus: Esta topología permite que todas las estaciones reciban la información que se transmite, una estación transmite y todas las restantes escuchan. Consiste en un cable con un terminador en cada extremo del que se cuelgan todos los elementos de una red. Todos los nodos de la red están unidos a este cable: el cual recibe el nombre de "Backbone Cable". Tanto Ethernet como Local Talk pueden utilizar esta topología.

El bus es pasivo, no se produce regeneración de las señales en cada nodo. Los nodos en una red de "bus" transmiten la información y esperan que ésta no vaya a chocar con otra información transmitida por otro de los nodos. Si esto ocurre, cada nodo espera una pequeña cantidad de tiempo al azar, después intenta retransmitir la información.

Anillo: Las estaciones están unidas unas con otras formando un círculo por medio de un cable común. El último nodo de la cadena se conecta al primero cerrando el anillo. Las señales circulan en un solo sentido alrededor del círculo, regenerándose en cada nodo. Con esta metodología, cada nodo examina la información que es enviada a través del anillo. Si la información no está dirigida al nodo que la examina, la pasa al siguiente en el anillo. La desventaja del anillo es que si se rompe una conexión, se cae la red completa.

Estrella: Los datos en estas redes fluyen del emisor hasta el concentrador, este realiza todas las funciones de la red, además actúa como amplificador de los datos.

La red se une en un único punto, normalmente con un panel de control centralizado, como un concentrador de cableado. Los bloques de información son dirigidos a través del panel de control central hacia sus destinos. Este esquema tiene una ventaja al tener un panel de control que monitorea el tráfico y evita las colisiones y una conexión interrumpida no afecta al resto de la red.

Híbridas: El bus lineal, la estrella y el anillo se combinan algunas veces para formar combinaciones de redes híbridas.

Anillo en Estrella: Esta topología se utiliza con el fin de facilitar la administración de la red. Físicamente, la red es una estrella centralizada en un concentrador, mientras que a nivel lógico, la red es un anillo.

"Bus" en Estrella: El fin es igual a la topología anterior. En este caso la red es un "bus" que se cablea físicamente como una estrella por medio de concentradores.

Estrella Jerárquica: Esta estructura de cableado se utiliza en la mayor parte de las redes locales actuales, por medio de concentradores dispuestos en cascada par formar una red jerárquica.

Árbol: Esta estructura se utiliza en aplicaciones de televisión por cable, sobre la cual podrían basarse las futuras estructuras de redes que alcancen los hogares. También se ha utilizado en aplicaciones de redes locales analógicas de banda ancha.

Trama: Esta estructura de red es típica de las WAN, pero también se puede utilizar en algunas aplicaciones de redes locales (LAN). Las estaciones de trabajo están conectadas cada una con todas las demás.

Programas Informaticos



El comportamiento de un programa depende del tipo de lenguaje usado para escribirlo...

En cualquier caso, casi todos los lenguajes de programación se basan en el mismo principio:

el programa consiste en un conjunto de comandos que el equipo debe ejecutar. El equipo ejecuta los comandos a medida que va leyendo el archivo (de arriba hacia abajo) hasta que alcanza un comando (al que a menudo se hace referencia como un comando ramificado) que ordena al equipo ir a una ubicación específica del programa. En cierto modo, se parece a la búsqueda del tesoro, donde el equipo debe seguir las pistas y ejecutar los comandos hasta alcanzar el final del programa y detenerse.

El concepto de variables
Las variables se utilizan en la mayoría de los lenguajes, donde un nombre se asocia a un contenido. Por ejemplo, podemos llamar a una variable "maniquí" y asignarle el valor 8.

Tipos de datos
Algunos lenguajes permiten asociar cualquier tipo de dato con una variable (ya sea un número completo o un carácter), dicho lenguaje se denomina lenguaje sin tipos.
Como puede verse en el capítulo representación de datos, el tipo de datos establece el número de bytes en que el dato está codificado, es decir, la cantidad de memoria que este dato ocupa, así como el formato en el que está representado.
Por esta razón, los lenguajes evolucionados (C, Java) son lenguajes con tipo, lo que significa que una variable no se asocia solamente con un nombre sino también con un tipo de datos que debe especificarse cuando se declara la variable; es decir, cuando el nombre de la variable se escribe por primera vez, debe especificar en el compilador el tipo de datos que esta variable contendrá (la manera de declarar la variable dependerá del lenguaje utilizado).

Sintaxis
Los lenguajes de programación requieren una sintaxis estricta, por lo tanto, no es posible escribir de la manera que se desea.

Así, algunos lenguajes distinguen entre minúsculas y mayúsculas, lo que significa que un nombre escrito en minúscula no es considerado el equivalente del mismo nombre escrito en mayúscula. En este caso, la variable "Maniquí" sería diferente a la variable "maniquí".

Los nombres de variables requieren comúnmente una longitud máxima (dependiendo del lenguaje) y de un determinado conjunto de caracteres. Generalmente, se utilizan los siguientes caracteres:

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890_ De esta forma, un espacio (" ") se considera un tipo de carácter diferente, llamado un carácter especial. Por lo tanto, no es muy común que un lenguaje permita el uso de caracteres especiales en nombres de variables.

Palabras reservadas
En la mayoría de los lenguajes, existe un puñado de palabras que no deben utilizarse como variables de nombres, llamadas palabras reservadas. Se especifican en el capítulo correspondiente al lenguaje específico.

Constantes
Las constantes son datos cuyo valor no puede modificarse. Por lo general, se definen al comienzo del programa. El valor de la constante puede ser de cualquier tipo permitido por el lenguaje de programación.

Comentarios
Al escribir un programa es útil poder agregar líneas de texto a las que el compilador no considera como códigos. Estas líneas de texto generalmente están precedidas (o rodeadas) por comandos especiales que ordenan al compilador omitirlas.

Los comentarios son útiles para aclarar cómo está escrito el programa, explicando las partes del código. Los comentarios también sirven si otra persona está tratando de comprender cómo funciona el programa leyendo el archivo fuente, o incluso, si la persona que escribió el programa está leyendo el archivo de origen nuevamente, varios años después de haber escrito el código...

Lenguajes de Programación




CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma de ejecución y Según el paradigma de programación que poseen cada uno de ellos y esos pueden ser:

SEGÚN SU NIVEL DE ABSTRACCIÓN

Lenguajes Maquina
Estan escritos en lenguajes directamente inteligibles por la maquina (computadora), ya que sus intrucciones son cadenas binarias (0 y 1). Da la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior lo que supone una velocidad de ejecución superior, solo que con poca fiabilidad y dificuldad de verificar y poner a punto los programas.

Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.

Lenguajes de medio nivel
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.

Lenguajes de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.

SEGÚN LA FORMA DE EJECUCIÓN

Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.

Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).

Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código
Lenguajes interpretados

Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción

SEGUN EL PARADIGMA DE PROGRAMACION

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta más apropiado que otro.

Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en :
• El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC.
• El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.
• El paradigma lógico, un ejemplo es PROLOG.
• El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.

Nota: La representación orientada a objetos mejora la estructura de los datos y por lo tanto se ha aplicado a diferentes paradigmas como Redes de Petri, Imperativo Secuencial, Lógica de Predicados, Funcional, etc. No obstante, la manipulación no queda fundamentalmente afectada y por lo tanto el paradigma inicial tampoco a pesar de ser re-orientado a objetos.

Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.

Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.

Lenguajes imperativos

• BASIC
• C
• C++
• Java
• C#
• Perl
• unerg

Lenguajes Funcionales

Puros:
• Haskell
• Miranda
Híbridos:
• Lisp
• Scheme
• Ocaml
• Standard ML
• ML
• Scala


Lenguajes Lógicos
• Prolog

Lenguajes orientados a objetos
• ActionScript
• Ada
• C++
• C#
• VB.NET
• Visual FoxPro
• Clarion
• Delphi
• Harbour
• Eiffel
• Java
• JavaScript
• Lexico (en castellano)
• Objective-C
• Ocaml
• Oz
• Perl (soporta herencia múltiple)
• PHP (en su versión 5)
• Python
• Ruby
• Smalltalk
• Magik (SmallWorld)