Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Archivos Directos ABM

Acá dejamos un ejemplo de ABM en Visual Basic 6.0, que consta de un programa de registro de productos que permite ingresar código de articulo, stock, precio unitario, descripción, entre otros:


Como se observa en la imagen se debe ingresar un código de registro con el cual se trabajara (registro = código de producto) y seleccionar la opción deseada.

Programa ejecutable:

Acá pueden descargar los archivos ejecutables. Son 2, uno crea el archivo borrando todos los registros cargados y el otro es el programa en si. La descarga contiene los 2 ejecutables + 1 archivo vació (Están comprimidos en un archivo RAR):


Codificación del programa:

Acá pueden descargar los archivos de Visual no compilados para que puedan ver como esta hecho. El paquete incluye todos los archivos de los formularios (.fmr), de módulos (.bas) y de proyecto (.vbp y .vbw) necesarios para poder abrir el proyecto. Ademas dentro de la carpeta "Creación del archivo" encontraran otro proyecto que permite crear el archivo de nuevo para borrarlo completamente. Todos estos archivos están comprimidos en un archivo RAR, al descomprimirlos deben ejecutar el archivo "Proyecto1.vbp" para ejecutarlo en Visual Basic.

Ejercicios de practica Visual Basic 6.0

Como la mejor forma de aprender a usar la parte gráfica y funciones básicas de Visual Basic es haciéndolo uno mismo acá dejamos 3 ejercicios de practica que pueden hacer. El código nesesario esta incluido debajo la imagen, debajo también tienen un link para descargar el ejemplo ya terminado para comparar como les quedo o por si algo no les sale o no saben como hacerlo:

NOTA: Como los ejemplos terminados son varios archivos están comprimidos en un archivo RAR que deben descomprimir con WinRar o programa similar.


Ejercicio Nº 1: Propiedades de los Shape: En este ejercicio crearemos una figura que cambiara de forma y relleno dependiendo de las opciones que seleccionemos (Click en las imágenes para agrandarlas):



Recuerden colocar los prefijos correspondientes a cada botón, si no recuerdan cuales son pueden encontrarlos acá.



Ejercicio Nº 2: Propiedades de los TextBox: En este ejercicio aprenderemos a modificar las propiedades de un TextBox (Click en las imágenes para agrandarlas):


Este ejercicio no tiene código ya que no es necesario, se realiza solamente cambiando las propiedades de los TextBox.

Descargar ejemplo terminado


Ejercicio Nº 3: Cambiar la fuente de un TextBox: En este ejercicio aremos que la fuente de un TextBox cambie de a cuerdo a la opción que seleccionemos (Click en las imágenes para agrandarlas):

.




Esto es todo por ahora pero no dejen de pasar por esta sección que iremos completándola con muchos mas ejemplos.


Vectores

Un vector es un elemento con un único nombre y tipo de dato en la que podemos guardar un dato en una posición especifica. Los vectores se basan en un sistema lineal que va del 0 al numero anterior al colocado al declarar el vector entre los [ ], a partir del cual podemos guardar y ubicar un elemento en un vector.


Declaración:


int  vec[10];

Acá estamos declarando un vector de 10 elementos en los que cada parte de la declaración significa:
int: es el tipo de dato del vector, un vector solo puede tener un tipo de dato.
vec: es el nombre del vector, podemos utilizar cualquier nombre que deseemos.
[10]: esta es la cantidad de elementos que tendrá el vector.


Cargar un vector:


for(x=0;x<10;x++)
 {
  cin>>vec[x];
 }


Para cargar un vector debemos utilizar un for que recorra el vector y valla cargando cada dato en su lugar correspondiente.


Imprimir un vector:


for(x=0;x<10;x++)
 {
  cout<<vec[x];
 }


Para imprimir TODO un vector debemos utilizar un for que recorra todo el vector imprimiendo uno por uno cada dato.

Sentencia Switch

Definición
La sentencia Switch (OPCIÓN, en español) funciona dependiendo del contenido de una variable. Dependiendo el valor de la variable indicada realiza un proceso indicado para ese valor.

Estructura
En lenguaje C++ la sentencia switch se aplica de la siguiente manera:

switch(variable)
{
 case 'valor de la variable en este caso': proseso
                                                                         break;
 case 'valor de la variable en este caso': proseso
                                                                         break;
}

Se selecciona y realiza el proceso dependiendo del valor de la variable establecida. Es muy útil a la hora de hacer un menú con varias opciones para evitar usar varios if.

Ejemplo

#include<conio.h>
#include<iostream.h>

int op;

int main()
{
 cout<<"Seleccione una opcion:\nOpcion 1\nOpcion 2\nOpcion 3\n";
 switch(op)
 {
  case 1: cout<<"Selecciono la opcion 1";
          break;
  case 2: cout<<"Selecciono la opcion 2";
          break;
  case 3: cout<<"Selecciono la opcion 3";
          break;
 }
 getch();
}


Sentencia Do While

Definición
La sentencia Do While (HACER MIENTRAS, en español) funciona igual que el While con una pequeña diferencia que radica en que el While común, el proceso, a menos que se cumpla la condición puede nunca ejecutarse. En el Do While, en cambio, siempre se ejecutará la primera vez y luego se seguirá repitiendo si se cumple la condición.

Estructura
En lenguaje C++ la sentencia do While se aplica de la siguiente manera:

do
 {
   // Proceso
 }
while(condición);

El proceso se realizara al menos una vez y luego se comprobara si la condición es verdadera, de serlo se repetirá el proceso, de lo contrario seguirá la ejecución del programa.

Ejemplo
#include<conio.h>
#include<stdio.h>

int nro;

main()
 {
    printf("Ingrese 0 para salir del programa");
    Do
      {
        scanf("%d",&nro);
        printf("\nEl número ingresado es:%d",nro);
      }
    while(nro!=0);
  }

Sentencia While

Definición
La sentencia while (MIENTRAS,en español) es una sentencia usada en los lenguajes de programación para repeticiones. Con esta sentencia  se evalúa una condición y se repite un determinado proceso hasta que la condición deje de ser verdadera.

Estructura
En lenguaje C++ la sentencia while se aplica se la siguiente manera:

while(condición)
 {
   // proceso
 }

En la condición colocaremos la variable afectada por la condición.
El proceso de realizara mientras que la condición sea verdadera.

Ejemplo
#include<conio.h>
#include<stdio.h>

int nro;

main()
 {
   scanf("%d",&nro);
   while(nro<0)  //Se ejecuta el proceso mientras el número sea menor a 0.
   {
      printf("El número debe ser positivo");  //Corrige al usuario.
      scanf("%d",&nro);                             //Pide ingresar de nuevo el número.
   }
}

Sentencia For

Definición
La sentencia for es una sentencia usada en los lenguajes de programación para repeticiones. Con esta sentencia se define una variable numérica y se repite un determinado proceso la cantidad de veces que se le indica en la declaración de la sentencia.

Estructura
En lenguaje C++  la sentencia for se aplica de la siguiente manera:

for(definición de la variable;numero de veces que se repetirá el proceso;suma numérica del contador)
 {
    // proceso que se repite
 }

En la definición de variable se se coloca la variable que utilizaremos para la repetición.
El el numero de veces que se repetirá el proceso se coloca la condición mediante la cual se repetirá el proceso, esta debe de constar de la variable definida, un operador(>,<,=, etc.) y la cantidad de veces que se repetirá.
En la suma numérica colocaremos la variable definida seguida de un valor para incrementar esta variable hasta que se cumpla el numero de veces que se repetirá, generalmente se utiliza el operador ++ que incrementa en 1 la variable.

Ejemplo

#include<conio.h>
#include<stdio.h>

int nro,i;

main()
 {
  for(i=0;i<5;i++)
   {
     scanf("%d",&nro);
     printf("Numero %d: %d",i,nro);
   }
}

Sentencia If-Else

Definición
La sentencia if (SI,en español) es una sentencia muy usada en los lenguajes de programación. Su funcionamiento es simple. Se evalúa una condición, si es verdadera se ejecuta un proceso y si es falsa se ejecuta otro.

Estructura
En lenguaje C++  la sentencia if se aplica de la siguiente manera:

if(condición)         //si la condición es verdadera
 {
  //  proceso 1
 }
else                      //si la condición es falsa
 {
   // proceso 2
 }

El proceso 1 es el que se realiza en caso de que la condición sea verdadera. El proceso 2 no es obligatorio, es decir, puede o no estar, y se ejecuta si la condición es falsa.

Ejemplo
#include<conio.h>
#include<stdio.h>

int nro;

main()
 {
   scanf("%d",&nro);
   if(nro>0)
    {
      printf("El número es positivo");
    }
  else
   {
     printf("El número es negativo");
   }
 }

Matrices

Una matriz, al igual que un vector, es un elemento con un único nombre y tipo de dato en la que podemos guardar un dato en una posición especifica. Las matrices se basan en un sistema de coordenadas X,Y con las cuales podemos  ubicar un dato en la matriz.


Declaración:

int mat[10][20];

int: es el tipo de dato de la matriz, una matriz puede tener solo un tipo de dato.
mat: es el nombre de la matriz, podemos utilizar cualquier nombre
[10]: esta es la cantidad de columnas de la matriz (coordenada X).
[20]: esta es la cantidad de filas de la matriz (coordenada Y).


Cargar una matriz:

Para cargar una matriz, a diferencia de los vectores debemos utilizar dos for:

int mat[5][3];
int x,y;
for(x=0;x<5;x++)
{
  for(y=0;y<3;y++)
  {
   cin>>mat[x][y];
  }
}

Como se aprecia en el ejemplo los for recorren la matriz para ir cargando dato por dato desde el teclado.


Imprimir una matriz:

Para imprimir una matriz es el mismo proceso anterior:

int mat[5][3];
int x,y;
for(x=0;x<5;x++)
{
  for(y=0;y<3;y++)
  {
   cout<<mat[x][y];
  }
}

Archivos Directos ABM

Programar con archivos directos o binarios

Los archivos directos tienen una longitud de registro fija, además el archivo se abre de "w+b"(de escritura y de creación del archivo) o de "r+b"(de escritura y de lectura).
Programar con archivos directos tiene la ventaja de que,al tener una longitud de registros fija, osea yo se en donde está el dato que deseo buscar y accedo directamente a él. Además, como el archivo se abre de "r+b" ya puedo leer un registro, modificarlo y volver a guardarlo.

Descargar Ejemplo de Archivos Directos
Descargar Librerías

Atencion: Para poder ejecutar este programa debes tener Borland C++ y las librerías de Lopesoft.h, Gtext1.h y Gtext.h. Pero éstas no es necesarias para programar con archivos directos.


Crear una Estructura

Crear una estructura significa crear un nuevo tipo de dato, un nuevo tipo de registro. Este tipo de dato puede contar con campos de distintos tipos de datos.

Ejemplo:

Struct reg
 {
   int cod;                        //Variable de tipo de dato Integer.
   char nom[10];             //Variable de tipo de dato Char.
   float prom;                  //Variable de tipo de dato Float.
 }

En este ejemplo decimos que se crea un nuevo tipo de dato llamado reg.

Archivos Secuenciales ABM

Programar con archivos secuenciales

Los archivos secuenciales no tienen una longitud de registro fija, el archivo se puede abrir de "w" (de escritura y de creación del archivo),de "r" (de lectura) o de "a" (de añadir datos).
Programar con archivos directos tiene la desventaja de que al no tener una longitud de registros fija no se en donde está el dato que deseo buscar y no puedo acceder directamente a él. Además, como el archivo solo se abre de "r" o de "a" no puedo leer y escribir a la vez.

Descargar Ejemplo de Archivos secuenciales.
Descargar Librerías

Atencion: Para poder ejecutar este programa debes tener Borland C++ y las librerías de Lopesoft.h, Gtext1.h y Gtext.h. Pero éstas no es necesarias para programar con archivos directos.

Rutina de Buscar

Rutina de Búsqueda Binaria en un Vector Ordenado:

 cout<<"\nIngrese un NRO: ";
 cin>>buscar;
 esta=0;
 sup=n-1;
 inf=0;
 while((inf<=sup)&&(esta==0))
 {
  med=(sup+inf)/2;
  if(vec[med]==buscar)
  {
   esta=1;
  }
  else
  {
  if(vec[med]<buscar)
  {
   inf=med+1;
  }
  else
  {
   sup=med-1;
  }
 }

Esta rutina sirve para buscar un valor en un vector ordenado y obtener su posición en el vector. Es la rutina mas importante y la que nos da las variables que necesitamos para las demás rutinas, ya sean de añadir, eliminar, etc. En la variable n debe estar la cantidad de elementos del vector.

Rutina de Eliminar

Rutina de Eliminar un elemento en un Vector Ordenado

cout<<"Desea borrarlo? 1: SI, 2:NO";
confirm=getche();
if(confirm=='1')
{
 for(i=med;i<n;i++)
 {
  vec[i]=vec[i+1];
 }
 n--;
}

Esta rutina sirve para eliminar un elemento de un vector ordenado. recuerde definir las variables, la pocicion med indica el lugar del vector donde se encuentra el elemento a eliminar.

Rutina de Añadir

Rutina de Añadir un elemento en un Vector Ordenado:

for(i=n;i>inf;i--)
{
 vec[i]=vec[i-1];
}
vec[i]=buscar;
n++;
cout<<"Fue agregado en la posicion: "<<inf<<"\n";

Esta rutina sirve para añadir un elemento en un Vector Ordenado. No olvide definir las variables y poseer el vector vec cargado con números ordenados y en la variable inf debe estar la posición donde se colocara el numero a agregar (este lugar se obtiene de la rutina de buscar).

Rutina de Combinar

Rutina de mezcla de de dos Vectores:

while((c1<n1)&&(c2<n2))
 {          
  if(v1[c1]<v2[c2])
  {
   v3[c3]=v1[c1];
   c1++;
  }
  else
  {
   v3[c3]=v2[c2];
   c2++;
  }
  c3++;
 }
 if(c1==n1)
 {
  for(i=c2;i<n2;i++)
  {
   v3[c3]=v2[i];
   c3++;
  }
 }
 else
 {
  for(i=c1;i<n1;i++)
  {
   v3[c3]=v1[i];
   c3++;
  }
 }
 for(i=0;i<n1+n2;i++)
 {
  cout<<v3[i]<<"\n";
 }
 getch();


Esta rutina sirve para mezclar dos vectores en un tercer vector y quede ordenado. Recuerden definir las variables y tener los 2 vectores (v1 y v2) cargados y ordenados o no funcionara.

Rutina de Ordenar

Rutina de Ordenamiento de Vectores

for (int i=0;i<=m-1;i++)
{
 for (int j=i+1;j<m;j++)
 {
  if (vec[i]>vec[j])
 {
  change=vec[i];
  vec[i]=vec[j];
  vec[j]=change;
  }
 }
}

Esta rutina sirve para ordenar un vector de tipo integer de menor a mayor. Recuerde definir las variables (todas son de tipo de dato int).

Tateti


Nombre: Ta Te Ti
Plataforma: PC
Género: Clásico
Número de Jugadores: 2
Desarrollador: Lopez Soft
Distribuidor: Internet
Idioma: Español
Edad Recomendada: Mayores de 4 Años
Requisitos:
 - Sistema operativo: Windows 95 / 98 / 2000 / XP (no funciona 
   en Windows Vista y 7)
 - Memoria RAM: 16 Mb
 - Placa de video: 8 Mb

Motos Lopezsoft


Nombre: Motos Lopezsoft
Plataforma: PC
Género: Estrategia
Número de Jugadores: 2 a 4
Desarrollador: Lopez Soft
Distribuidor: Internet
Idioma: Español
Edad Recomendada: Mayores de 4 Años

Requisitos:
 - Sistema operativo: Windows  XP / Vista / Seven (32 o 64 Bits)
 - Memoria RAM: 256 Mb
 - Placa de video: Compatible con Direct X 9.0 o superior
 - Monitor: Resolución de 1200 x 800 mínimo.
 - Disco duro: 10 Mb

Buskaminas


Nombre: Buskaminas
Plataforma: PC
Género: Estrategia
Número de Jugadores: 1
Desarrollador: Lopez Soft
Distribuidor: Internet
Idioma: Español
Edad Recomendada: Mayores de 6 Años
Requisitos:
 - Sistema operativo: Windows 95 / 98 / 2000 / XP (no funciona 
   en Windows Vista y 7)
 - Memoria RAM: 16 Mb
 - Placa de video: 8 Mb

El Laverinto


Nombre: El Laverinto
Plataforma: PC
Género: Adivinanza - Plataformas
Número de Jugadores: 1
Desarrollador: Lopez Soft
Distribuidor: Internet
Idioma: Español
Edad Recomendada: Todo Público
Requisitos:
 - Sistema operativo: Windows 95 / 98 / 2000 / XP (no funciona 
   en Windows Vista y 7)
 - Memoria RAM: 16 Mb
 - Placa de video: 8 Mb