Vereis, el caso es que ultimamente he estado programando "alguna" que otra base de datos, y he pensado en colgar aqui el codigo del programa que me ha llevado mas "quebraderos" de cabeza, por decirlo asi, por no decir que por ahora es el unico programa que he hecho, pero da igual, el caso es que he pensado en "compartirlo" a ver que opinais, y, dicho sea de paso, si veis algun fallo, lo comentais aqui si no es molestia.
Por cierto, es un programa para llevar tiendas, mas o menos.
Bueno, aqui va:
- Código: Seleccionar todo
Graphics 640,480,32,2
archivo_general$=CurrentDir$()+"\general"
If FileType(archivo_general$)=0
CreateDir archivo_general$
EndIf
archivo_general_b$=archivo_general$+"\archivo_general.dat"
If FileType(archivo_general_b$)=1
fileout=ReadFile(archivo_general_b$)
categorias=ReadByte(fileout)
If categorias=0
Goto salto_01_b
EndIf
categorias=categorias-1
Dim lista_categorias$(categorias,2)
For t=0 To categorias
For tt=0 To 2
dat$=""
dat$=ReadString(fileout)
lista_categorias$(t,tt)=dat$
Next
Next
categorias=categorias+1
.salto_01_b
subcategorias=ReadByte(fileout)
If subcategorias=0
Goto salto_02_b
EndIf
subcategorias=subcategorias-1
Dim listado_subcategorias$(subcategorias,2)
For t=0 To subcategorias
For tt=0 To 2
dat$=""
dat$=ReadString(fileout)
listado_subcategorias$(t,tt)=dat$
Next
Next
subcategorias=subcategorias+1
.salto_02_b
productos=ReadByte(fileout)
If productos=0
Goto salto_03_b
EndIf
productos=productos-1
Dim listado_productos$(productos,4)
For t=0 To productos
For tt=0 To 4
dat$=""
dat$=ReadString(fileout)
listado_productos$(t,tt)=dat$
Next
Next
productos=productos+1
.salto_03_b
beneficio_adicional=ReadByte(fileout)
beneficio_adicional=beneficio_adicional-1
If beneficio_adicional=0
Goto salto_04_b
EndIf
Dim lista_beneficio_adicional$(beneficio_adicional)
For t=0 To beneficio_adicional
dat$=""
dat$=ReadString(fileout)
lista_beneficio_adicional$(t)=dat$
Next
beneficio_adicional=beneficio_adicional+1
.salto_04_b
gasto_adicional=ReadByte(fileout)
gasto_adicional=gasto_adicional-1
If gasto_adicional=0
Goto salto_05_b
EndIf
Dim lista_gasto_adicional$(gasto_adicional)
For t=0 To gasto_adicional
dat$=""
dat$=ReadString(fileout)
lista_gasto_adicional$(t)=dat$
Next
gasto_adicional=gasto_adicional+1
.salto_05_b
CloseFile(fileout)
Cls
Locate 0,0
Print "Datos cargados."
Print "Pulse una tecla para seguir."
WaitKey()
EndIf
.inicio
Cls
Locate 0,0
Print "¿Que desea hacer?."
Print "1) Crear categorias."
Print "2) Insertar subcategorias."
Print "3) Insertar productos."
Print "4) Añadir beneficios adicionales."
Print "5) Añadir gastos adicionales."
Print "6) Modificar imagen y/o precio a un producto."
Print "7) Proceder a ventas de productos."
Print "8) Salir."
opcion=0
opcion=Input()
If opcion=1
Cls
Locate 0,0
Print "Inserte el nombre de la categoria:"
dat$=""
dat$=Input()
If dat$=""
Goto inicio
EndIf
If categorias=0
Dim lista_categorias$(categorias,2)
lista_categorias$(categorias,0)=dat$
categorias=categorias+1
Cls
Locate 0,0
Goto guardar_datos
EndIf
If categorias>0
categorias=categorias-1
For t=0 To categorias
If dat$=lista_categorias$(t,0)
Cls
Locate 0,0
categorias=categorias+1
Print "Ya hay una categoria con el nombre indicado."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
Next
Dim lista_categorias_b$(categorias,2)
For t=0 To categorias
For tt=0 To 2
dat_b$=""
dat_b$=lista_categorias$(t,tt)
lista_categorias_b$(t,tt)=dat_b$
Next
Next
categorias=categorias+1
Dim lista_categorias$(categorias,2)
categorias=categorias-1
For t=0 To categorias
For tt=0 To 2
dat_b$=""
dat_b$=lista_categorias_b$(t,tt)
lista_categorias$(t,tt)=dat_b$
Next
Next
categorias=categorias+1
lista_categorias$(categorias,0)=dat$
categorias=categorias+1
Cls
Locate 0,0
Goto guardar_datos
EndIf
EndIf
If opcion=2
If categorias=0
Cls
Locate 0,0
Print "No ha insertado categorias."
Print "Debe insertar almenos una para"
Print "poder crear subcategorias."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
Cls
Locate 0,0
Print "¿A que categoria pertenece esta subcategoria?"
dat$=""
dat$=Input()
If dat$=""
Goto inicio
EndIf
categorias=categorias-1
For t=0 To categorias
If dat$=lista_categorias$(t,0)
Cls
Locate 0,0
Print "Inserte el nombre de la subcategoria:"
dat_b$=""
dat_b$=Input()
If dat_b$=""
categorias=categorias+1
Goto inicio
EndIf
If subcategorias=0
Dim listado_subcategorias$(subcategorias,2)
listado_subcategorias$(subcategorias,0)=dat_b$
listado_subcategorias$(subcategorias,1)=t
opcion=0
opcion=lista_categorias$(t,2)
opcion=opcion+1
lista_categorias$(t,2)=opcion
subcategorias=subcategorias+1
categorias=categorias+1
Goto guardar_datos
EndIf
If subcategorias>0
subcategorias=subcategorias-1
For tt=0 To subcategorias
If listado_subcategorias$(subcategorias,0)=dat_b$
If listado_subcategorias$(subcategorias,1)=t
Cls
Locate 0,0
Print "Ya hay una subcategoria con el"
Print "nombre insertado y con la misma"
Print "categoria principal."
Print "Pulse una tecla para volver al"
Print "menu inicial."
subcategorias=subcategorias+1
categorias=categorias+1
WaitKey()
Goto inicio
EndIf
EndIf
Next
opcion=0
opcion=lista_categorias$(t,2)
opcion=opcion+1
lista_categorias$(t,2)=opcion
Dim listado_subcategorias_b$(subcategorias,2)
For tt=0 To subcategorias
For ttt=0 To 2
dat_c$=""
dat_c$=listado_subcategorias$(tt,ttt)
listado_subcategorias_b$(tt,ttt)=dat_c$
Next
Next
subcategorias=subcategorias+1
Dim listado_subcategorias$(subcategorias,2)
subcategorias=subcategorias-1
For tt=0 To subcategorias
For ttt=0 To 2
dat_c$=""
dat_c$=listado_subcategorias_b$(tt,ttt)
listado_subcategorias$(tt,ttt)=dat_c$
Next
Next
subcategorias=subcategorias+1
listado_subcategorias$(subcategorias,0)=dat_b$
listado_subcategorias$(subcategorias,1)=t
subcategorias=subcategorias+1
Cls
Locate 0,0
categorias=categorias+1
Goto guardar_datos
EndIf
EndIf
Next
Cls
Locate 0,0
categorias=categorias+1
Print "No se han encontrado los"
Print "datos que ha indicado."
Print "Pulse una tecla para volver."
WaitKey()
Goto inicio
EndIf
If opcion=3
If categorias=0
Cls
Locate 0,0
Print "No ha insertado categorias."
Print "Debe insertar almenos una para"
Print "poder crear subcategorias."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
If subcategorias=0
Cls
Locate 0,0
Print "No ha insertado subcategorias."
Print "Debe insertar almenos una para"
Print "poder crear subcategorias."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
Dim pruebas_productos$(4)
Cls
Locate 0,0
Print "Inserte la categoria principal"
Print "del producto:"
dat$=""
dat$=Input()
If dat$=""
Goto inicio
EndIf
categorias=categorias-1
For t=0 To categorias
If dat$=lista_categorias$(t,0)
pruebas_productos$(0)=t
Cls
Locate 0,0
Print "Inserte el nombre de la subcategoria:"
dat_b$=""
dat_b$=Input()
If dat_b$=""
Goto inicio
EndIf
subcategorias=subcategorias-1
For tt=0 To subcategorias
If dat_b$=listado_subcategorias$(tt,0)
dat_xxx=listado_subcategorias$(tt,1)
If dat_xxx=t
pruebas_productos$(1)=tt
Cls
Locate 0,0
Print "Inserte el nombre del producto:"
dat$=""
dat$=Input()
If dat$=""
subcategorias=subcategorias+1
categorias=categorias+1
Goto inicio
EndIf
pruebas_productos$(2)=dat$
Cls
Locate 0,0
Print "Inserte el precio del producto:"
opciones#=0
opciones#=Input()
If opciones#<0.01
subcategorias=subcategorias+1
categorias=categorias+1
Goto inicio
EndIf
pruebas_productos$(3)=opciones#
Cls
Locate 0,0
Print "Inserte el nombre de la imagen"
Print "del producto:"
Print "(El programa añadira automaticamente"
Print " la extension .bmp al nombre que"
Print " usted inserte, por lo que es requerido"
Print " que la imagen tenga extension .bmp"
dat$=""
dat$=Input()
If dat$=""
subcategorias=subcategorias+1
categorias=categorias+1
Goto inicio
EndIf
dat_b$=dat$+".bmp"
pruebas_productos$(4)=dat_b$
Cls
Locate 0,0
If productos=0
Dim listado_productos$(productos,4)
For tx=0 To 4
dat_x$=""
dat_x$=pruebas_productos$(tx)
listado_productos$(productos,tx)=dat_x$
Next
opcion=listado_subcategorias$(tt,2)
opcion=opcion+1
listado_subcategorias$(tt,2)=opcion
productos=productos+1
categorias=categorias+1
subcategorias=subcategorias+1
Goto guardar_datos
EndIf
If productos>0
productos=productos-1
dat$=pruebas_productos$(0)
dat_b$=pruebas_productos$(1)
dat_c$=pruebas_productos$(2)
For tx=0 To productos
If listado_productos$(tx,0)=dat$
If listado_productos$(tx,1)=dat_b$
If listado_productos$(tx,2)=dat_c$
Cls
Locate 0,0
productos=productos+1
subcategorias=subcategorias+1
categorias=categorias+1
Cls
Locate 0,0
Print "Ya hay un producto dentro"
Print "de la categoria y de la"
Print "subcategoria indicada."
Print "Pulse una tecla para volver"
Print "al menu inicial."
WaitKey()
Goto inicio
EndIf
EndIf
EndIf
Next
Dim listado_productos_b$(productos,4)
For tx=0 To productos
For ty=0 To 4
dat$=""
dat$=listado_productos$(tx,ty)
listado_productos_b$(tx,ty)=dat$
Next
Next
productos=productos+1
Dim listado_productos$(productos,4)
productos=productos-1
For tx=0 To productos
For ty=0 To 4
dat$=""
dat$=listado_productos_b$(tx,ty)
listado_productos$(tx,ty)=dat$
Next
Next
productos=productos+1
For tx=0 To 4
dat_x$=""
dat_x$=pruebas_productos$(tx)
listado_productos$(productos,tx)=dat_x$
Next
opcion=listado_subcategorias$(tt,2)
opcion=opcion+1
listado_subcategorias$(tt,2)=opcion
productos=productos+1
categorias=categorias+1
subcategorias=subcategorias+1
Goto guardar_datos
EndIf
EndIf
EndIf
Next
Cls
Locate 0,0
Print "No se encuentra la subcategoria indicada."
Print "Pulse una tecla para volver al menu inicial."
subcategorias=subcategorias+1
categorias=categorias+1
WaitKey()
Goto inicio
EndIf
Next
Cls
Locate 0,0
categorias=categorias+1
Print "No se encuentra la categoria incicada."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
If opcion=4
Cls
Locate 0,0
Print "Inserte el beneficio adicional:"
dat$=""
dat$=Input()
If dat$=""
Goto inicio
EndIf
If beneficio_adicional=0
Dim lista_beneficio_adicional$(beneficio_adicional)
lista_beneficio_adicional$(beneficio_adicional)=dat$
beneficio_adicional=beneficio_adicional+1
Goto guardar_datos
EndIf
If beneficio_adicional>0
beneficio_adicional=beneficio_adicional-1
For t=0 To beneficio_adicional
If dat$=lista_beneficio_adicional$(t)
Cls
Locate 0,0
beneficio_adicional=beneficio_adicional+1
Print "Ya hay un beneficio adicional con el"
Print "nombre insertado."
Print "Pulse una tecla para volver al menu"
Print "inicial."
WaitKey()
Goto inicio
EndIf
Next
Dim lista_beneficio_adicional_b$(beneficio_adicional)
For t=0 To beneficio_adicional
dat_b$=""
dat_b$=lista_beneficio_adicional$(t)
lista_beneficio_adicional_b$(t)=dat_b$
Next
beneficio_adicional=beneficio_adicional+1
Dim lista_beneficio_adicional$(beneficio_adicional)
beneficio_adicional=beneficio_adicional-1
For t=0 To beneficio_adicional
dat_b$=""
dat_b$=lista_beneficio_adicional_b$(t)
lista_beneficio_adicional$(t)=dat_b$
Next
beneficio_adicional=beneficio_adicional+1
Goto guardar_datos
EndIf
EndIf
If opcion=5
Cls
Locate 0,0
Print "Inserte el beneficio adicional:"
dat$=""
dat$=Input()
If dat$=""
Goto inicio
EndIf
If gasto_adicional=0
Dim lista_gasto_adicional$(gasto_adicional)
lista_gasto_adicional$(gasto_adicional)=dat$
gasto_adicional=gasto_adicional+1
Goto guardar_datos
EndIf
If gasto_adicional>0
gasto_adicional=gasto_adicional-1
For t=0 To gasto_adicional
If dat$=lista_gasto_adicional$(t)
Cls
Locate 0,0
gasto_adicional=gasto_adicional+1
Print "Ya hay un gasto adicional con el"
Print "nombre insertado."
Print "Pulse una tecla para volver al menu"
Print "inicial."
WaitKey()
Goto inicio
EndIf
Next
Dim lista_gasto_adicional_b$(gasto_adicional)
For t=0 To gasto_adicional
dat_b$=""
dat_b$=lista_gasto_adicional$(t)
lista_gasto_adicional_b$(t)=dat_b$
Next
gasto_adicional=gasto_adicional+1
Dim lista_gasto_adicional$(gasto_adicional)
gasto_adicional=gasto_adicional-1
For t=0 To gasto_adicional
dat_b$=""
dat_b$=lista_gasto_adicional_b$(t)
lista_gasto_adicional$(t)=dat_b$
Next
gasto_adicional=gasto_adicional+1
Goto guardar_datos
EndIf
EndIf
If opcion=6
If categorias=0
Cls
Locate 0,0
Print "No ha insertado categorias."
Print "Debe insertar almenos una para"
Print "poder crear subcategorias."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
If subcategorias=0
Cls
Locate 0,0
Print "No ha insertado subcategorias."
Print "Debe insertar almenos una para"
Print "poder crear subcategorias."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
Dim pruebas_productos$(4)
Cls
Locate 0,0
Print "Inserte la categoria principal"
Print "del producto:"
dat$=""
dat$=Input()
If dat$=""
Goto inicio
EndIf
categorias=categorias-1
For t=0 To categorias
If dat$=lista_categorias$(t,0)
Cls
Locate 0,0
Print "Inserte el nombre de la subcategoria:"
dat_b$=""
dat_b$=Input()
If dat_b$=""
Goto inicio
EndIf
subcategorias=subcategorias-1
For tt=0 To subcategorias
If dat_b$=listado_subcategorias$(tt,0)
dat_xxx=listado_subcategorias$(tt,1)
If dat_xxx=t
pruebas_productos$(1)=tt
Cls
Locate 0,0
Print "Inserte el nombre del producto:"
dat$=""
dat$=Input()
If dat$=""
subcategorias=subcategorias+1
categorias=categorias+1
Goto inicio
EndIf
productos=productos-1
For t=0 To productos
If dat$=listado_productos$(t,2)
Cls
Locate 0,0
Print "Inserte el precio del producto:"
opciones#=0
opciones#=Input()
If opciones#<0.01
subcategorias=subcategorias+1
categorias=categorias+1
Goto inicio
EndIf
listado_productos$(t,3)=opciones#
Cls
Locate 0,0
Print "Inserte el nombre de la imagen"
Print "del producto:"
Print "(El programa añadira automaticamente"
Print " la extension .bmp al nombre que"
Print " usted inserte, por lo que es requerido"
Print " que la imagen tenga extension .bmp"
dat$=""
dat$=Input()
If dat$=""
subcategorias=subcategorias+1
categorias=categorias+1
Goto inicio
EndIf
dat_b$=dat$+".bmp"
productos=productos+1
subcategorias=subcategorias+1
categorias=categorias+1
listado_productos$(t,4)=dat_b$
Goto guardar_datos
EndIf
Next
Cls
Locate 0,0
Print "No se encuentra el producto indicado."
Print "Pulse una tecla para volver."
productos=productos+1
subcategorias=subcategorias+1
categorias=categorias+1
WaitKey()
Goto inicio
EndIf
EndIf
Next
Cls
Locate 0,0
Print "No se encuentra la subcategoria indicada."
Print "Pulse una tecla para volver al menu inicial."
subcategorias=subcategorias+1
categorias=categorias+1
WaitKey()
Goto inicio
EndIf
Next
Cls
Locate 0,0
categorias=categorias+1
Print "No se encuentra la categoria incicada."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
If opcion=7
Goto configuracion
EndIf
If opcion=8
.salida_programa
Cls
Locate 0,0
Print "¿Desea salir del programa?(S/N)"
dat$=""
dat$=Input()
If dat$="n" Or dat$="N"
Goto inicio
EndIf
If dat$="S" Or dat$="s"
End
EndIf
Goto salida_programa
EndIf
Goto inicio
.guardar_datos
fileout=WriteFile(archivo_general_b$)
WriteByte(fileout,categorias)
If categorias=0
Goto salto_01
EndIf
categorias=categorias-1
For t=0 To categorias
For tt=0 To 2
dat$=""
dat$=lista_categorias$(t,tt)
WriteString(fileout,dat$)
Next
Next
categorias=categorias+1
.salto_01
WriteByte(fileout,subcategorias)
If subcategorias=0
Goto salto_02
EndIf
subcategorias=subcategorias-1
For t=0 To subcategorias
For tt=0 To 2
dat$=""
dat$=listado_subcategorias$(t,tt)
WriteString(fileout,dat$)
Next
Next
subcategorias=subcategorias+1
.salto_02
WriteByte(fileout,productos)
If productos=0
Goto salto_03
EndIf
productos=productos-1
Cls
Locate 0,0
For t=0 To productos
For tt=0 To 4
dat$=""
dat$=listado_productos$(t,tt)
WriteString(fileout,dat$)
Next
Next
productos=productos+1
.salto_03
WriteByte(fileout,beneficio_adicional)
If beneficio_adicional=0
Goto salto_04
EndIf
beneficio_adicional=beneficio_adicional-1
For t=0 To beneficio_adicional
dat$=""
dat$=lista_beneficio_adicional$(t)
WriteString(fileout,dat$)
Next
beneficio_adicional=beneficio_adicional+1
.salto_04
WriteByte(fileout,gasto_adicional)
If gasto_adicional=0
Goto salto_05
EndIf
gasto_adicional=gasto_adicional-1
For t=0 To gasto_adicional
dat$=""
dat$=lista_gasto_adicional$(t)
WriteString(fileout,dat$)
Next
gasto_adicional=gasto_adicional+1
.salto_05
CloseFile(fileout)
Cls
Locate 0,0
Print "Datos guardados."
Print "Pulse una tecla para volver"
Print "al menu inicial."
WaitKey()
Goto inicio
.configuracion
Cls
Locate 0,0
Print "Inserte el archivo a guardar los datos:"
dat$=""
dat$=Input()
If dat$=""
Cls
Locate 0,0
Print "No ha insertado ningun nombre de archivo."
Print "Pulse una tecla para volver."
WaitKey()
Goto inicio
EndIf
categorias=categorias-1
subcategorias=subcategorias-1
productos=productos-1
gasto_adicional=gasto_adicional-1
beneficio_adicional=beneficio_adicional-1
datos_variables_01$=CurrentDir()+"\variable"
If FileType(datos_variables_01$)=0
CreateDir datos_variables_01$
EndIf
mis_datos_productos$=datos_variables_01$+"\disponibilidad.dat"
If datos_variables_02$=mis_datos_productos$
Cls
Locate 0,0
Print "Ha insertado un nombre de archivo que esta"
Print "reservado para el programa."
Print "Pulse una tecla para volver al menu inicial."
categorias=categorias+1
subcategorias=subcategorias+1
productos=productos+1
gasto_adicional=gasto_adicional+1
beneficio_adicional=beneficio_adicional+1
WaitKey()
Goto inicio
EndIf
Dim disponibilad_productos(productos)
Dim mi_beneficio_adicional#(beneficio_adicional)
Dim mi_gasto_adicional#(gasto_adicional)
Dim precio_compra_venta#(productos,1)
datos_variables_02$=datos_variables_01$+"\"+dat$
If FileType(mis_datos_productos)=1
fileout=ReadFile(mis_datos_productos$)
productos_x=ReadByte(fileout)
For t=0 To productos_x
opcion=0
opcion=ReadByte(fileout)
disponibilad_productos(t)=opcion
Next
CloseFile(fileout)
EndIf
If FileType(datos_variables_02$)=1
fileout=ReadFile(datos_variables_02$)
productos_z=ReadByte(fileout)
For t=0 To productos_z
For tt=0 To 1
opcion_xz#=0
opcion_xz#=ReadFloat(fileout)
precio_compra_venta#(t,tt)=opcion_xz#
Next
Next
gasto_adicional_z#=ReadFloat(fileout)
If gasto_adicional_z#=-1
Goto mi10
EndIf
For t=0 To gasto_adicional_z#
opcion_xz#=0
opcion_xz#=ReadFloat(fileout)
mi_gasto_adicional#(t)=opcion_xz#
Next
.mi10
beneficio_adicional_z#=ReadFloat(fileout)
If beneficio_adicional_z#=-1
Goto mi11
EndIf
For t=0 To beneficio_adicional_z#
opcion_xz#=0
opcion_xz#=ReadFloat(fileout)
mi_beneficio_adicional#(t)=opcion_xz#
Next
.mi11
mycompras=ReadByte(fileout)
If mycompras=0
Goto zona_compras_y
EndIf
mycompras=mycompras-1
Dim lista_compra#(mycompras,2)
For t=0 To mycompras
For tt=0 To 2
opciones#=0
opciones#=ReadFloat(fileout)
lista_compra#(t,tt)=opciones#
Next
Next
mycompras=mycompras+1
.zona_compras_y
myventas=ReadByte(fileout)
If myventas=0
Goto zona_ventas_y
EndIf
myventas=myventas-1
Dim lista_ventas#(myventas,2)
For t=0 To myventas
For tt=0 To 2
opciones#=0
opciones#=ReadFloat(fileout)
lista_ventas#(t,tt)=opciones#
Next
Next
myventas=myventas+1
.zona_ventas_y
CloseFile(fileout)
EndIf
.configuracion_b
Cls
Locate 0,0
Print "¿Que desea hacer?"
Print "1) Comprar productos."
Print "2) Vender productos."
Print "3) Insertar dinero a gastos adicionales."
Print "4) Insertar dinero a beneficios adicionales."
Print "5) Ver balance de cuentas."
Print "6) Ver precio de stock."
Print "7) Ver productos comprados y vendidos
Print "8) Volver al menu inicial."
opcion=0
opcion=Input()
If opcion=1
Cls
Locate 0,0
Print "Inserte la categoria del producto:"
dat$=""
dat$=Input()
For tx=0 To categorias
If dat$=lista_categorias$(tx,0)
Cls
Locate 0,0
Print "Inserte la subcategoria del producto:"
dat_b$=""
dat_b$=Input()
For ty=0 To subcategorias
If dat_b$=listado_subcategorias$(ty,0)
If listado_subcategorias$(ty,1)=tx
Cls
Locate 0,0
Print "Inserte el nombre del producto:"
dat$=""
dat$=Input()
If dat$=""
Goto configuracion_b
EndIf
For tz=0 To productos
If listado_productos$(tz,0)=tx
If listado_productos$(tz,1)=ty
If dat$=listado_productos$(tz,2)
Cls
Locate 0,0
Print "¿Cuantas copias del producto quiere comprar?"
Print "(Inserte 0 o menos para volver al menu)"
opcion=0
opcion=Input()
If opcion<1
Goto configuracion_b
EndIf
miopcionxx=0
miopcionxx=opcion
miopcionyy=0
miopcionyy=disponibilad_productos(tz)
miopcionzz=0
miopcionzz=miopcionxx+miopcionyy
Cls
Locate 0,0
Print "Inserte el precio de compra del producto:"
Print "(Inserte menos de 0 para volver al menu)"
opciones#=0
opciones#=Input()
If opciones#<0
Goto configuracion_b
EndIf
If mycompras=0
Dim lista_compra#(mycompras,2)
lista_compra#(mycompras,0)=tz
lista_compra#(mycompras,1)=opciones#
lista_compra#(mycompras,2)=opcion
mycompras=mycompras+1
Goto zona_compras
EndIf
If mycompras>0
mycompras=mycompras-1
Dim lista_compra_b#(mycompras,2)
For t=0 To mycompras
For tt=0 To 2
opcionesxxx#=0
opcionesxxx#=lista_compra#(t,tt)
lista_compra_b#(t,tt)=opcionesxxx#
Next
Next
mycompras=mycompras+1
Dim lista_compra#(mycompras,2)
mycompras=mycompras-1
For t=0 To mycompras
For tt=0 To 2
opcionesxxx#=0
opcionesxxx#=lista_compra_b#(t,tt)
lista_compra#(t,tt)=opcionesxxx#
Next
Next
mycompras=mycompras+1
lista_compra#(mycompras,0)=tz
lista_compra#(mycompras,1)=opciones#
lista_compra#(mycompras,2)=opcion
mycompras=mycompras+1
EndIf
.zona_compras
opcionesx#=0
opcionesx#=precio_compra_venta#(tz,0)
opcionesy#=opciones#+opcionesx#
precio_compra_venta#(tz,0)=opcionesy#
disponibilad_productos(tz)=miopcionzz
Goto savedata
EndIf
EndIf
EndIf
Next
EndIf
EndIf
Next
EndIf
Next
Cls
Locate 0,0
Print "No se encontro el producto con los"
Print "datos insertados."
Print "Pulse una tecla para volver al"
Print "menu inicial."
WaitKey()
Goto configuracion_b
EndIf
If opcion=2
Cls
Locate 0,0
Print "Inserte la categoria del producto:"
dat$=""
dat$=Input()
For tx=0 To categorias
If dat$=lista_categorias$(tx,0)
Cls
Locate 0,0
Print "Inserte la subcategoria del producto:"
dat_b$=""
dat_b$=Input()
For ty=0 To subcategorias
If dat_b$=listado_subcategorias$(ty,0)
If listado_subcategorias$(ty,1)=tx
Cls
Locate 0,0
Print "Inserte el nombre del producto:"
dat$=""
dat$=Input()
If dat$=""
Goto configuracion_b
EndIf
For tz=0 To productos
If listado_productos$(tz,0)=tx
If listado_productos$(tz,1)=ty
If dat$=listado_productos$(tz,2)
Cls
Locate 0,0
miopcionyy=disponibilad_productos(tz)
If miopcionyy=0
Cls
Locate 0,0
Print "No quedan copias del producto indicado."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto configuracion_b
EndIf
Print "¿Cuantas copias del producto quiere vender?"
Print "(Inserte 0 o menos para volver al menu)"
opcion=0
opcion=Input()
If opcion<1
Goto configuracion_b
EndIf
miopcionxx=0
miopcionxx=opcion
miopcionyy=0
miopcionyy=disponibilad_productos(tz)
If miopcionxx>miopcionyy
Cls
Locate 0,0
Print "Ha intentado vender " + miopcionxx + " copias cuando solo hay" + miopcionyy + "."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto configuracion_b
EndIf
miopcionzz=0
miopcionzz=miopcionyy-miopcionxx
Cls
Locate 0,0
Print "Inserte el precio de venta del producto:"
Print "(El precio de venta de cada copia es de " + listado_productos$(tz,3) + " euros)"
Print "(Inserte menos de 0 para volver al menu)"
opciones#=0
opciones#=Input()
If opciones#<0
Goto configuracion_b
EndIf
If myventas=0
Dim lista_ventas#(myventas,2)
lista_ventas#(myventas,0)=tz
lista_ventas#(myventas,1)=opciones#
lista_ventas#(myventas,2)=opcion
myventas=myventas+1
Goto zona_ventas
EndIf
If myventas>0
myventas=myventas-1
Dim lista_ventas_b#(myventas,2)
For t=0 To myventas
For tt=0 To 2
opcionesxxx#=0
opcionesxxx#=lista_ventas#(t,tt)
lista_ventas_b#(t,tt)=opcionesxxx#
Next
Next
myventas=myventas+1
Dim lista_ventas#(myventas,2)
myventas=myventas-1
For t=0 To myventas
For tt=0 To 2
opcionesxxx#=0
opcionesxxx#=lista_ventas_b#(t,tt)
lista_ventas#(t,tt)=opcionesxxx#
Next
Next
myventas=myventas+1
lista_ventas#(myventas,0)=tz
lista_ventas#(myventas,1)=opciones#
lista_ventas#(myventas,2)=opcion
myventas=myventas+1
EndIf
.zona_ventas
opcionesx#=0
opcionesx#=precio_compra_venta#(tz,1)
opcionesy#=opciones#+opcionesx#
precio_compra_venta#(tz,1)=opcionesy#
disponibilad_productos(tz)=miopcionzz
Goto savedata
EndIf
EndIf
EndIf
Next
EndIf
EndIf
Next
EndIf
Next
Cls
Locate 0,0
Print "No se encontro el producto con los"
Print "datos insertados."
Print "Pulse una tecla para volver al"
Print "menu inicial."
WaitKey()
Goto configuracion_b
EndIf
If opcion=3
Cls
Locate 0,0
Print "Inserte el gasto adicional:"
Print "(No inserte nada para volver"
Print "al menu)"
dat$=""
dat$=Input()
If dat$=""
Goto configuracion_b
EndIf
If gasto_adicional=-1
Cls
Locate 0,0
Print "No hay gastos adicionales."
Print "Pulse una tecla para volver."
WaitKey()
Goto configuracion_b
EndIf
For t=0 To gasto_adicional
If dat$=lista_gasto_adicional$(t)
Cls
Locate 0,0
Print "Indique cuanto quiere insertar en el"
Print "gasto adicional:"
Print "(Inserte menos de 0.01 para volver"
Print " al menu anterior)"
opciones#=0
opciones#=Input()
If opciones#<0.01
Goto configuracion_b
EndIf
ocpionesx#=mi_gasto_adicional#(t)
opcionesy#=opcionesx#+opciones#
mi_gasto_adicional#(t)=opcionesy#
Goto savedata
EndIf
Next
Cls
Locate 0,0
Print "No se ha encontrado el gasto adicional."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto configuracion_b
EndIf
If opcion=4
Cls
Locate 0,0
Print "Inserte el beneficio adicional:"
Print "(No inserte nada para volver"
Print "al menu)"
dat$=""
dat$=Input()
If dat$=""
Goto configuracion_b
EndIf
If beneficio_adicional-1
Cls
Locate 0,0
Print "No hay beneficios adicionales."
Print "Pulse una tecla."
WaitKey()
Goto configuracion_b
EndIf
For t=0 To beneficio_adicional
If dat$=lista_gasto_adicional$(t)
Cls
Locate 0,0
Print "Indique cuanto quiere insertar en el"
Print "gasto adicional:"
Print "(Inserte menos de 0.01 para volver"
Print " al menu anterior)"
opciones#=0
opciones#=Input()
If opciones#<0.01
Goto configuracion_b
EndIf
ocpionesx#=mi_beneficio_adicional#(t)
opcionesy#=opcionesx#+opciones#
mi_beneficio_adicional#(t)=opcionesy#
Goto savedata
EndIf
Next
Cls
Locate 0,0
Print "No se ha encontrado el gasto adicional."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto configuracion_b
EndIf
If opcion=5
opcionesa#=0
opcionesb#=0
opciones#=0
For t=0 To beneficio_adicional
opcionesa#=opcionesa#+mi_beneficio_adicional#(t)
Next
For tz=0 To productos
opcionesa#=opcionesa#+precio_compra_venta#(tz,1)
Next
For tz=0 To productos
opcionesb#=opcionesb#+precio_compra_venta#(tz,0)
Next
For t=0 To beneficio_adicional
opcionesb#=opcionesb#+mi_gasto_adicional#(t)
Next
opciones#=opcionesa#-opcionesb#
Cls
Locate 0,0
Print "Dinero gastado: " + opcionesb#
Print "Dinero conseguido: " + opcionesa#
Print "Balance de cuentas:" + opciones#
Print ""
Print "Pulse una tecla para volver."
WaitKey()
Goto configuracion_b
EndIf
If opcion=6
.busqueda_stock
Cls
Locate 0,0
Print "¿Como desea ver el precio del stock?"
Print "1) Ver el precio de todo el stock."
Print "2) Ver el precio de stock de una categoria."
Print "3) Volver."
If opcion=3
Goto configuracion_b
EndIf
opion=0
opcion=Input()
If opcion=1
opciones3#=0
For t=0 To productos
opciones#=listado_productos$(t,3)
opciones1#=disponibilad_productos(productos)
opciones2#=opciones1#*opciones#
opciones3#=opciones2#+opciones3#
Next
Cls
Locate 0,0
Print "Precio total de todo el stock:"
Print opciones3#
Print ""
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto busqueda_stock
EndIf
If opcion=3
Goto configuracion_b
EndIf
Goto busqueda_stock
EndIf
If opcion=7
.listas_compradas_vendidas
Cls
Locate 0,0
Print "¿Que desea hacer?"
Print "1) Ver listado de productos comprados de"
Print " una categoria."
Print "2) Ver listado de productos vendidos de"
Print " una categoria."
Print "3) Ver todos los productos comprados y"
Print " vendidos."
Print "4) Volver al menu anterior."
opcion=0
opcion=Input()
If opcion=1
If mycompras=0
Cls
Locate 0,0
Print "No se ha hecho ninguna compra."
Print "Pulse una tecla para volver al menu."
WaitKey()
Goto listas_compradas_vendidas
EndIf
Cls
Locate 0,0
Print "Inserte la categoria en cuestion:"
dat$=""
dat$=Input()
If dat$=""
Cls
Locate 0,0
Print "No ha insertado ninguna categoria."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto listas_compradas_vendidas
EndIf
For t=0 To categorias
If dat$=lista_categorias$(t,0)
mycompras=mycompras-1
opciones#=0
opcion=0
For tt=0 To mycompras
opcionm=0
opcionm=lista_compra#(mycompras,0)
If listado_productos$(opcion,0)=t
opciones#=opciones#+lista_compra#(tt,1)
opcion=opcion+lista_compra#(tt,2)
EndIf
Next
Cls
Locate 0,0
Print "Productos comprados: " + opcion
Print "Dinero invertido: " + opciones# + " euros."
Print ""
Print "Pulse una tecla para volver al menu anterior."
mycompras=mycompras+1
WaitKey()
Goto listas_compradas_vendidas
EndIf
Next
Cls
Locate 0,0
Print "No se ha encontrado la categoria indicada."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto listas_compradas_vendidas
EndIf
If opcion=2
If myventas=0
Cls
Locate 0,0
Print "No se ha hecho ninguna venta."
Print "Pulse una tecla para volver al menu."
WaitKey()
Goto listas_compradas_vendidas
EndIf
Cls
Locate 0,0
Print "Inserte la categoria en cuestion:"
dat$=""
dat$=Input()
If dat$=""
Cls
Locate 0,0
Print "No ha insertado ninguna categoria."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto listas_compradas_vendidas
EndIf
For t=0 To categorias
If dat$=lista_categorias$(t,0)
myventas=myventas-1
opciones#=0
opcion=0
For tt=0 To myventas
opcionm=0
opcionm=lista_compra#(mycompras,0)
If listado_productos$(opcion,0)=t
opciones#=opciones#+lista_ventas#(tt,1)
opcion=opcion+lista_ventas#(tt,2)
EndIf
Next
Cls
Locate 0,0
Print "Productos comprados: " + opcion
Print "Dinero ganado: " + opciones# + " euros."
Print ""
Print "Pulse una tecla para volver al menu anterior."
myventas=myventas+1
WaitKey()
Goto listas_compradas_vendidas
EndIf
Next
Cls
Locate 0,0
Print "No se ha encontrado la categoria indicada."
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto listas_compradas_vendidas
EndIf
If opcion=3
If mycompras=0
Cls
Locate 0,0
Print "No se ha hecho ninguna compra."
Print "Pulse una tecla para volver al menu."
WaitKey()
Goto listas_compradas_vendidas
EndIf
If myventas=0
Cls
Locate 0,0
Print "No se ha hecho ninguna venta."
Print "Pulse una tecla para volver al menu."
WaitKey()
Goto listas_compradas_vendidas
EndIf
mycompras=mycompras-1
myventas=myventas-1
For tt=0 To myventas
opciones#=opciones#+lista_ventas#(tt,1)
opcion=opcion+lista_ventas#(tt,2)
Next
For tt=0 To mycompras
opcionesxx#=opciones#+lista_compra#(tt,1)
opcionxx=opcion+lista_compra#(tt,2)
Next
Cls
Locate 0,0
Print "Productos comprados: " + opcionxx
Print "Productos vendidos: " + opcion
Print "Dinero invertido: " + opcionesxx#
Print "Dinero ganado: " + opciones#
Print ""
Print "Pulse una tecla para volver al menu anterior."
WaitKey()
Goto listas_compradas_vendidas
EndIf
If opcion=4
.listados_de_compras_y_ventas
Cls
Locate 0,0
Print "¿Desea volver al menu inicial?(S/N)"
dat$=""
dat$=Input()
If dat$="S" Or dat$="s"
Goto configuracion_b
EndIf
If dat$="N" Or dat$="n"
Goto listas_compradas_vendidas
EndIf
Goto listados_de_compras_y_ventas
EndIf
Goto listas_compradas_vendidas
EndIf
If opcion=8
.vuelta_menu
Cls
Locate 0,0
Print "¿Desea volver al menu inicial?(S/N)"
dat$=""
dat$=Input()
If dat$="S" Or dat$="s"
categorias=categorias+1
subcategorias=subcategorias+1
productos=productos+1
gasto_adicional=gasto_adicional+1
beneficio_adicional=beneficio_adicional+1
Goto inicio
EndIf
If dat$="N" Or dat$="n"
Goto configuracion_b
EndIf
Goto vuelta_menu
EndIf
Goto configuracion_b
.savedata
fileout=WriteFile(mis_datos_productos$)
WriteByte(fileout,productos)
For t=0 To productos
opcion=0
opcion=disponibilad_productos(t)
WriteByte(fileout,opcion)
Next
CloseFile(fileout)
fileout=WriteFile(datos_variables_02$)
WriteByte(fileout,productos)
For t=0 To productos
For tt=0 To 1
opcion_xz#=0
opcion_xz#=precio_compra_venta#(t,tt)
WriteFloat(fileout,opcion_xz#)
Next
Next
gasto_adicional_z#=gasto_adicional
WriteFloat(fileout,gasto_adicional_z#)
If gasto_adicional=-1
Goto mi00
EndIf
For t=0 To gasto_adicional_z#
opcion_xz#=0
opcion_xz#=mi_gasto_adicional#(t)
WriteFloat(fileout,opcion)
Next
.mi00
beneficio_adicional_z#=beneficio_adicional
WriteFloat(fileout,beneficio_adicional_z#)
If beneficio_adicional_z#=-1
Goto mi01
EndIf
For t=0 To beneficio_adicional_z#
opcion=0
opcion_xz#=mi_beneficio_adicional#(t)
WriteFloat(fileout,opcion_xz#)
Next
.mi01
WriteByte(fileout,mycompras)
If mycompras=0
Goto zona_compras_x
EndIf
mycompras=mycompras-1
For t=0 To mycompras
For tt=0 To 2
opciones#=0
opciones#=lista_compra#(t,tt)
WriteFloat(fileout,opciones#)
Next
Next
mycompras=mycompras+1
.zona_compras_x
WriteByte(fileout,myventas)
If myventas=0
Goto zona_ventas_x
EndIf
myventas=myventas-1
For t=0 To myventas
For tt=0 To 2
opciones#=0
opciones#=lista_ventas#(t,tt)
WriteFloat(fileout,opciones#)
Next
Next
myventas=myventas+1
.zona_ventas_x
CloseFile(fileout)
Cls
Locate 0,0
Print "Datos guardados."
Print "Pulse una tecla para volver."
WaitKey()
Goto configuracion_b
Y aqui el programa de busquedas:
- Código: Seleccionar todo
Graphics 640,480,32,2
.inicio
archivo_general$=CurrentDir$()+"\general"
archivo_imagenes$=CurrentDir$()+"\imagenes"
If FileType(archivo_imagenes$)=0
Cls
Locate 0,0
Print "No hay un directorio de imagenes."
Print "Pulse una tecla para salir."
WaitKey()
End
EndIf
If FileType(archivo_general$)=0
Cls
Locate 0,0
Print "La carpeta con el archivo"
Print "general no existe."
Print "Pulse una tecla para salir."
WaitKey()
End
EndIf
archivo_general_b$=archivo_general$+"\archivo_general.dat"
If FileType(archivo_general_b$)=0
Cls
Locate 0,0
Print "No hay un archivo con el"
Print "listado de categorias,"
Print "subcategorias y productos."
Print "Pulse una tecla para salir."
WaitKey()
End
EndIf
fileout=ReadFile(archivo_general_b$)
categorias=ReadByte(fileout)
If categorias=0
Goto salto_01_b
EndIf
categorias=categorias-1
Dim lista_categorias$(categorias,2)
For t=0 To categorias
For tt=0 To 2
dat$=""
dat$=ReadString(fileout)
lista_categorias$(t,tt)=dat$
Next
Next
.salto_01_b
subcategorias=ReadByte(fileout)
If subcategorias=0
Goto salto_02_b
EndIf
subcategorias=subcategorias-1
Dim listado_subcategorias$(subcategorias,2)
For t=0 To subcategorias
For tt=0 To 2
dat$=""
dat$=ReadString(fileout)
listado_subcategorias$(t,tt)=dat$
Next
Next
.salto_02_b
productos=ReadByte(fileout)
If productos=0
Goto salto_03_b
EndIf
productos=productos-1
Dim listado_productos$(productos,4)
For t=0 To productos
For tt=0 To 4
dat$=""
dat$=ReadString(fileout)
listado_productos$(t,tt)=dat$
Next
Next
.salto_03_b
archivo_variable$=CurrentDir$()+"\variable"
If FileType(archivo_variable$)=0
CreateDir archivo_variable$
EndIf
mis_datos_productos$=archivo_variable$+"\disponibilidad.dat"
Dim disponibilad_productos(productos)
If FileType(mis_datos_productos$)=1
fileout=ReadFile(mis_datos_productos$)
productos_x=ReadByte(fileout)
For t=0 To productos_x
opcion=0
opcion=ReadByte(fileout)
disponibilad_productos(t)=opcion
Next
CloseFile(fileout)
EndIf
.busquedas
x=0
Cls
Locate 0,0
Print "¿Que desea hacer?."
Print "1) Ver todos los productos, uno a uno."
Print "2) Ver los productos de una categoria."
Print "3) Ver los productos de una subcategoria."
Print "4) Buscar un producto."
Print "5) Volver."
opcion=0
opcion=Input()
If opcion=1
For t=0 To productos
.ver_imagen
x=1
Cls
Locate 0,0
Print "Nombre del producto: " + listado_productos$(t,2)
tt=0
tt=listado_productos$(t,0)
Print "Categoria del producto: " + lista_categorias$(tt,0)
tt=0
tt=listado_productos$(t,1)
Print "Subcategoria del producto: " + listado_subcategorias$(tt,0)
Print "Precio del producto: " + listado_productos$(t,3)
Print "Copias disponibles: " + disponibilad_productos(t)
Print ""
Print "(Inserte imagen para ver la"
Print " imagen del producto)"
Print "(Inserte r o R para volver"
Print " al menu inicial)"
dat$=""
dat$=Input()
If dat$="r" Or dat$="R"
Goto busquedas
EndIf
If dat$="imagen"
dat$=""
dat$="imagenes\"+listado_productos$(t,4)
If FileType(dat$)=0
Cls
Locate 0,0
Print "¡No se encuentra la imagen del producto!."
Print "Pulse una tecla para volver."
WaitKey()
Goto ver_imagen
EndIf
varx$=LoadImage(dat$)
Cls
Locate 0,0
Print dat$
Print "Pulse una tecla para volver."
DrawImage varx$,0,30
WaitKey()
Goto ver_imagen
EndIf
Next
Cls
Locate 0,0
If x=1
Print "No hay mas productos que mostrar."
Print "Pulse una tecla para volver"
Print "al menu anterior."
WaitKey()
Goto busquedas
EndIf
Print "¡No hay productos que mostrar!"
Print "No hay mas productos que mostrar."
Print "Pulse una tecla para volver"
Print "al menu anterior."
WaitKey()
Goto busquedas
EndIf
If opcion=2
Cls
Locate 0,0
Print "Inserte la categoria del producto:"
dat$=""
dat$=Input()
If dat$=""
Cls
Locate 0,0
Print "No ha insertado ninguna categoria."
Print "Pulse una tecla para volver."
WaitKey()
Goto inicio
EndIf
For tx=0 To categorias
If dat$=lista_categorias$(tx,0)
For t=0 To productos
If tx=listado_productos$(t,0)
.ver_imagen_02
x=1
Cls
Locate 0,0
Print "Nombre del producto: " + listado_productos$(t,2)
tt=0
tt=listado_productos$(t,0)
Print "Categoria del producto: " + lista_categorias$(tt,0)
tt=0
tt=listado_productos$(t,1)
Print "Subcategoria del producto: " + listado_subcategorias$(tt,0)
Print "Precio del producto: " + listado_productos$(t,3)
Print "Copias disponibles: " + disponibilad_productos(t)
Print ""
Print "(Inserte imagen para ver la"
Print " imagen del producto)"
Print "(Inserte r o R para volver"
Print " al menu inicial)"
dat$=""
dat$=Input()
If dat$="r" Or dat$="R"
Goto busquedas
EndIf
If dat$="imagen"
dat$=""
If FileType(dat$)=0
Cls
Locate 0,0
Print "¡No se encuentra la imagen del producto!."
Print "Pulse una tecla para volver."
WaitKey()
Goto ver_imagen
EndIf
dat$="imagenes\"+listado_productos$(t,4)
varx$=LoadImage(dat$)
Cls
Locate 0,0
Print dat$
Print "Pulse una tecla para volver."
DrawImage varx$,0,30
WaitKey()
Goto ver_imagen_02
EndIf
EndIf
Next
EndIf
Next
Cls
Locate 0,0
If x=1
Print "No hay mas datos para mostrar."
Print "Pulse una tecla para volver"
Print "al menu anterior."
WaitKey()
Goto busquedas
EndIf
Print "No hay productos con los"
Print "datos insertados."
Print "Pulse una tecla para"
Print "volver al menu anterior."
WaitKey()
Goto busquedas
EndIf
If opcion=3
Cls
Locate 0,0
Print "Inserte la categoria del producto:"
dat$=""
dat$=Input()
For tx=0 To categorias
If dat$=lista_categorias$(tx,0)
Cls
Locate 0,0
Print "Inserte la subcategoria del producto:"
dat_b$=""
dat_b$=Input()
For ty=0 To subcategorias
If dat_b$=listado_subcategorias$(ty,0)
For t=0 To productos
dat_z$=listado_subcategorias$(ty,0)
tz=listado_productos$(t,1)
dat_zz$=listado_subcategorias$(tz,0)
If tx=listado_productos$(t,0)
If dat_z$=dat_zz$
.ver_imagen_03
x=1
Cls
Locate 0,0
Print "Nombre del producto: " + listado_productos$(t,2)
tt=0
tt=listado_productos$(t,0)
Print "Categoria del producto: " + lista_categorias$(tt,0)
tt=0
tt=listado_productos$(t,1)
Print "Subcategoria del producto: " + listado_subcategorias$(tt,0)
Print "Precio del producto: " + listado_productos$(t,3)
Print "Copias disponibles: " + disponibilad_productos(t)
Print ""
Print "(Inserte imagen para ver la"
Print " imagen del producto)"
Print "(Inserte r o R para volver"
Print " al menu inicial)"
dat$=""
dat$=Input()
If dat$="r" Or dat$="R"
Goto busquedas
EndIf
If dat$="imagen"
dat$=""
If FileType(dat$)=0
Cls
Locate 0,0
Print "¡No se encuentra la imagen del producto!."
Print "Pulse una tecla para volver."
WaitKey()
Goto ver_imagen
EndIf
dat$="imagenes\"+listado_productos$(t,4)
varx$=LoadImage(dat$)
Cls
Locate 0,0
Print dat$
Print "Pulse una tecla para volver."
DrawImage varx$,0,30
WaitKey()
Goto ver_imagen_03
EndIf
EndIf
EndIf
Next
Cls
Locate 0,0
If x=1
Print "No hay mas datos para mostrar."
Print "Pulse una tecla para volver"
Print "al menu anterior."
WaitKey()
Goto busquedas
EndIf
EndIf
Next
EndIf
Next
Cls
Locate 0,0
Print "No hay productos con los"
Print "datos insertados."
Print "Pulse una tecla para"
Print "volver al menu anterior."
WaitKey()
Goto busquedas
EndIf
If opcion=4
Cls
Locate 0,0
Print "Inserte el nombre del productos:"
dat$=""
dat$=Input()
If dat$=""
Cls
Locate 0,0
Print "No ha insertado ningun nombre de producto."
Print "Pulse una tecla para volver al menu inicial."
WaitKey()
Goto inicio
EndIf
For t=0 To productos
If dat$=listado_productos$(t,2)
.ver_imagen_04
x=1
Cls
Locate 0,0
Print "Nombre del producto: " + listado_productos$(t,2)
tt=0
tt=listado_productos$(t,0)
Print "Categoria del producto: " + lista_categorias$(tt,0)
tt=0
tt=listado_productos$(t,1)
Print "Subcategoria del producto: " + listado_subcategorias$(tt,0)
Print "Precio del producto: " + listado_productos$(t,3)
Print "Copias disponibles: " + disponibilad_productos(t)
Print ""
Print "(Inserte imagen para ver la"
Print " imagen del producto)"
Print "(Inserte r o R para volver"
Print " al menu inicial)"
dat$=""
dat$=Input()
If dat$="r" Or dat$="R"
Goto busquedas
EndIf
If dat$="imagen"
dat$=""
If FileType(dat$)=0
Cls
Locate 0,0
Print "¡No se encuentra la imagen del producto!."
Print "Pulse una tecla para volver."
WaitKey()
Goto ver_imagen
EndIf
dat$="imagenes\"+listado_productos$(t,4)
varx$=LoadImage(dat$)
Cls
Locate 0,0
Print dat$
Print "Pulse una tecla para volver."
DrawImage varx$,0,30
WaitKey()
Goto ver_imagen_04
EndIf
EndIf
Next
If x=1
Cls
Locate 0,0
Print "No hay mas productos que mostrar."
Print "Pulse una tecla para volver"
Print "al menu anterior."
WaitKey()
Goto busquedas
EndIf
Cls
Locate 0,0
Print "No hay productos con los"
Print "datos insertados."
Print "Pulse una tecla para"
Print "volver al menu anterior."
WaitKey()
Goto busquedas
EndIf
If opcion=5
.actualizacion
Cls
Locate 0,0
Print "¿Desea actualizar los datos?(S/N)"
dat$=""
dat$=Input()
If dat$="S" Or dat$="s"
Goto inicio
EndIf
If dat$="N" Or dat$="n"
Goto busquedas
EndIf
Goto actualizacion
EndIf
Goto busquedas
Espero que os guste.
PD: Inicialmente el programa estaba en dos partes, y el sistema de busquedas estaba en la segunda parte, pero por una "serie" de problemas, elimine la segunda parte y volvi a crear el codigo (por decirlo asi) en la primera parte, y, luego, cuando intente meter el sistema de busquedas, pues tuve problemas al acceder al sistema de busquedas y luego al sistema de compra/venta (accedia al sistema de busquedas y, cuando volvia a entrar al sistema de compra/venta, me saltaba "array index of bounds), y decidi dejar el sistema de busquedas y el principal por separado.
