Ms-Dos - Hacer base datos qbasic

 
Vista:
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo. (8 intervenciones) el 23/04/2013 18:52:20
Hola,quiero hacer una base de datos con qbasic,con altas,bajas,buscar....etc.Encuentro varios problemas entre otros no se delimitar el campo,por ejemplo Nombre: .............. Apellidos:............. ,pues si pongo un nombre muy largo me meto en el campo de apellidos,seria algo asi como una input limitada.Luego si estoy en Apellidos y tengo mal escrito el nombre no puedo volver porque no sé.Si alguien me puede ayudar se lo agradezco.Un saludo.
Seo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Hacer base datos qbasic

Publicado por Antoni Masana (811 intervenciones) el 24/04/2013 07:26:06
Hace años trabaje con Quick Basic y para crear ficheros de datos los definia los registros de longitud fija y utilizaba un gestor de indices llamado Fabs PC.

Tambien puedes usar campos de longitut variable pero entonces has de usar un sepadador de campo pero esto tiene una pega y es que se trata de un fichero secuencial y para modificar un registro tienes que desplazar los siguientes.

Pede ser una solución (mala pero solución) para ficheros pequeños, pero si lo que pretendes es gestionar 50.000 registros seria muy lento reescribir todo el fichero.

Para crear ficheros de longitud fija se hace asi

1
2
3
4
5
6
7
8
9
10
11
OPEN "C:\Director\Fichero.EXT" FOR RANDOM AS #1 LEN=92
 
FIELD #1, 2 as CODI$, 30 as NOMB$, 30 as APEL$, 30 as DIRE$
 
SET CODI$ = MKI$(Num%)
SET NOMB$ = "Paco Nicolas"
SET APEL$ = "Fernandez Gomez"
SET DIRE$ = "Majalahonda, 32"
 
PUT #1, Num%    ' --- Instrucción para grabar el registro n
GET #1, Num%    ' --- Instrucción para leer el registro n


Donde n Puede conincidir con el contenido del campo CODI$

Dado lo limitado del tiempo y el espacio espero haberte daro suficiente información para que puedas investigar más profundamente y realizar pruebas para crear tu Base de Datos.

NOTA Los campos son de 30 caracteres pero los puedes hacer más largos, has 64000 caracteres

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo. (8 intervenciones) el 25/04/2013 21:42:04
Hola,Antoni primero darte las gracias por contestar,me han llamado de todo por usar este programa pero tengo que intentarlo ya solo por amor propio y que es una cosa que empezé y quiero terminar.De nuevo muchas gracias.Recibe un fuerte abrazo

Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo. (8 intervenciones) el 29/04/2013 21:49:27
Hola de nuevo:el comando SET no me le reconoce qbasic 45 que es con el que estoy peleando,me ayudarias de nuevos por favor.Gracias por anticipado.

Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Hacer base datos qbasic

Publicado por Antoni Masana (811 intervenciones) el 30/04/2013 06:57:24
Hola Seo

Confundí el SET del BAT con el LSET del Quick Basic.

El QB creo que tiene dos comandos para asignar valores a una variable definida como campo de un fichero una es el LSET que puedes ver en esta página de Microsoft:

1
http://support.microsoft.com/kb/41152/es


Y el otro es el RSET, la diferencia radica en como alinea el texto en la variable del campo.
Ejemplo

1
2
3
4
5
6
7
Field #1, 6 as a$, 6 as B$
 
LSET a$="SEO"
RSET b$="SEO"
 
Print a$
Print b$


- Resultado:

1
2
|SEO   |
|   SEO|
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo (8 intervenciones) el 30/04/2013 15:39:57
Gracias de nuevo,de verdad que significa mucho para mí.

Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo. (8 intervenciones) el 19/05/2013 22:15:43
Hola,lo sigo intentando,las noches de los fines de semana se me hacen eternas,y no doy con ello,
1
2
3
4
5
6
7
8
9
CLS
LOCATE 5,1
PRINT"NOMBRE:"
LOCATE 5,15
PRINT"APELLIDOS:"
LOCATE 5,8
INPUT"",N$
LOCATE 5,26
INPUT""AP$

El resultado mas o menos seria despues de darle al F5 y meter datos:
NOMBRE: PEDRO jAVIER APELLIDOS: TARARI TARARI
Pero como lo hago para que si el nombre es muy largo no me borre el campo de apellidos??
Quiero limitar las input para que tengan una cantidad de espacios.Gracias.Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Hacer base datos qbasic

Publicado por Antoni Masana (811 intervenciones) el 30/05/2013 13:28:13
Yo utilizaba una rutina para introdicir los datos en la que le decia la longitud la mascara, el tipo de datos a introducir y la posicion en la pantalla.

Los tipos podian ser Textos, numeros, Fechas y conformes (Estos ultimos pordefecto era S o N pero podias hacer que fuese por ejempli P o I de Pantalla o Impresora)

Permitia editar, valores por defecto, Salir con ESC ( que lo usaba para ir al campo anterior) o salir del proceso en un momento dado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo (8 intervenciones) el 31/05/2013 16:09:31
Hola,ahora busco como hacer una rutina,pero es lo que necesito la "rutina" y con escape poder volver de un campo a otro para cuando te equivocas.Eres mi salvación,buscaré haber como se hace una "rutina" y lo intento otra vez,de momento ya tengo trabajo para este fin de semana.Lo quiero intentar yo.Una vez más te reitero todo mi agradecimiento por la colaboración prestada,muchas gracias "MAESTRO"
Un saludo

Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo. (8 intervenciones) el 09/06/2013 02:00:36
Hola!! un ejemplo por favor...de rutina de lo que anteriormente he comentado....
Gracias.

Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Hacer base datos qbasic

Publicado por Seo. (8 intervenciones) el 14/07/2013 18:28:46
Hola!!estoy intentadolo de verdad,pero no me funciona nada,si alguien me ayuda a entender y poder practicar para hacer una rutina,gracias .

Seo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer base datos qbasic

Publicado por Ulises Glez. Kish (1 intervención) el 12/01/2014 19:38:52
lo ideay tendria que ser asi...

1
2
3
4
5
6
7
8
9
CLS
LOCATE 5, 1
PRINT "NOMBRE: "
LOCATE 5, 26
PRINT "APELLIDOS: "
LOCATE 5, 9
INPUT "", N$
LOCATE 5, 37
INPUT "", AP$

contactame... e-mail: [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer base datos qbasic

Publicado por MATEO (1 intervención) el 05/03/2020 21:35:28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
10 CLS
20 X$ = "1010115010": GOSUB 10000: IF H$ = "" OR VAL(H$) = 0 THEN GOTO 10
30 CO$ = H$: LOCATE V, H: PRINT SPC(LM): LOCATE V, H: PRINT CO$
40 END
10000 REM CONTROL DE ENTRADAS
10010 REM c es la variable que sirve para decir si es alfanumerica (o)numerica(1)y fecha(2)
10020 REM v es la variable que sirve para decir la cantidad de caracteres del locate de su linea vertical
10030 REM h es la variable que sirve para decir la cantidad de caracteres del locate de su linea horizontal
10040 REM lm es el limite maximo de una variable cualquiera de caracteres
10050 REM lmi es el limite minimo de una variable cualquiera de caracteres
10060 REM s es si el valor es positivo o es negativo
10070 C = VAL(LEFT$(X$, 1)): V = VAL(MID$(X$, 2, 2)): H = VAL(MID$(X$, 4, 2)): LM = VAL(MID$(X$, 6, 2)): LMI = VAL(MID$(X$, 8, 2)): S = VAL(RIGHT$(X$, 1))
10080 H$ = "": LOCATE V, H: PRINT STRING$(LM, 219)
10090 FOR X = 1 TO LM
    10095 LOCATE V, X + H - 1: PRINT CHR$(219)
    10100 Z$ = INKEY$: IF Z$ = "" THEN 10100
    10110 IF Z$ = CHR$(13) THEN RETURN
    10112 IF X = 1 AND Z$ = CHR$(8) THEN BEEP: GOTO 10100
    10115 IF Z$ = CHR$(8) THEN X = X - 1: H$ = LEFT$(H$, X - 1): GOTO 10095
    10117 IF C = 1 AND (Z$ < CHR$(48) OR Z$ > CHR$(57)) THEN BEEP: GOTO 10100
    10120 H$ = H$ + Z$
    10125 LOCATE V, H: PRINT H$
10130 NEXT X: RETURN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar