PREGUNTAS CONTESTADAS - pascal/turbo pascal

 Hay un total de 203 Preguntas.<<  >> 

    Pregunta:  26879 - PARALELISMO
Autor:  Pedro
Hola a todos...
Al realizar un buclè en Pascal ( ej. un contador de tiempo), de que forma puedo realizar otra acciòn (ej. ingresar informacion) en el programa al mismo tiempo que se ejecuta el buclè (de tiempo).
pd: Creo que hay algo con keypressed.
Chao y gracias de antemano.
  Respuesta:  Rodolfo Burlando Makthon
Bueno. En Win32 yo haria un hilo (thread) para DOS se me ocurre crear una interrpcion, es decir podria desviar un vector (digamos el $1C o $1B no me acuerdo bien),
Algo asi:

var
vector:pointer;
...
procedure mi_rutina;interrupt
begin
... Hacer algo cuidando el tiempo con una buena idea,
end;
...
begin
getintvec($1c,vector);
setintvec($1c,mi_rutina);
.. hacer otra cosa cualquiera
..
setintvec($1c,vector);
end.

Podrias poner tu contador en la rutina que es llamada por la interrupcion del reloj.

    Pregunta:  27079 - COMO PUEDO BUSCAR UN REGISTRO EN UN A BASE DE DATOS
Autor:  hugo martinez hernandez
Mi programa crea un archivo, tengo un porcedimiento que almacena datos en la base de datos y uno que muestra todos los datos....pero lo que no puedo hacer es buscar un determinado registro utilizando como campo llave el nombre de la persona.

Mi programa debe pedir el nombre de una persona, debe buscar el registro que tenga ese nombre y debe mostrar los datos de ese registro.
  Respuesta:  el cave
tengo un programa echo como el que vos describis, y si podes leer los datos de la base de datos con solo ingresar su nombre, o mejor dicho el numero correspondiente en tu base de datos, si queres escribime un mail, y te lo paso en formato .pas asi lo modificas a tu gusto. suerte
  Respuesta:  Rodolfo Burlando
Puedes crear un archivo indice de la base de datos.
El archivo indice debe estar ordenado del mejor metodo de ordenamiento que conoces.
La busqueda tambien debe ser por el mejor metodo de busqueda para archivos ordenados que conoscas.

En el archivo indice solo debes poner el campo indexado y el numero de registro en la base de datos. Cuando trabajes no dejes en ningun momento el archivo indice de lado, la idea es no desactualizarlo.

Si tienes problemas con archivos indices, lo mas facil seria hacer la busqueda dentro del mismo archivo de base de datos. sabiendo la estructura del registro:

record data
nombre:String[30];
edad: byte;
sexo : boolean;
end

te pones en el primer registro
seek(archivo,1);
ahora en un buque buscas y comparas
cuando encuentres sales del bucle y tienes el numero de registro.
Es algo lento, dicho sea de paso.

    Pregunta:  27388 - IMPRIMIR RESULTADOS EN PASCAL 7.0
Autor:  J H
Quisiera saber como es qu epuedo mandar a un imprimir los resultados de una base de datos. Es decir, Introdusco los datos de algunos alumnos, sus calificaciones y obtengo los promedios, como mando a imprimir los resultados:

Carlos ........................8 isaac...........................9
Fidel ............................7 Jorge.........................10. etc
Por favor . diganme.
  Respuesta:  Roberto Garcia Garcia
Para imprimir a traves de pascal tienes que usar "lst" dentro de write o writeln, colocando la unidad printer dentro de "uses"

por ejemplo

program imprimir;
uses crt,printer;

type
registro=record
nombre:string[20]
promedio:real;
end;

var
reg:registro;
archivo:file of registro

begin
clrscr;
{sentencias para capturar y obtener promedios
.......
}
while not eof(archivo) do begin
read(archivo,reg);
writeln(lst,reg.nombre,'..........',reg.promedio);
end;
end.

lst lo que hace es mandar lo que esta dentro de write o dentro de writeln a la impresora, tal como lo haria en la pantalla, esto incluye espacios, variables o cadenas, por ejemplo para dejar lineas vacias entre registro y registro usarias

writeln(lst);

cualquier cosa escribeme.

    Pregunta:  27458 - RUTINA PARA GNU PASCAL!!!!
Autor:  David Herrera Torrado
Buenas tardes en el foro. Vereis, necesito ke alguien me pueda echar una mano. Me hace falta una función que trabaje en gpc, ke lea caracteres directamente desde el buffer del teclado, sin mostralos por pantalla y otra que los muestre cuando nos interese. Con esto quiero controlar los posibles datos erroneos que se puedan introducir. Las funciones de turbo pascal no sirven. Esto no es todo. Además, es imprescindible que funcione en una makina unix (intel,no intel). Me han hablado de una rutina en asm AT&T para la no intel, y otra en otro asm para intel.
Si alguien me pudiera echar una mano, le estaría muy agradecido. Necesito esa función con mucha urgencia.

¿No sabeis si hay algún sitio donde haya units para gnu pascal?

GRACIAS!!
  Respuesta:  MARTIN flores
el buffer lo lee la funcion readkey y no escribe la tecla en pantalla,
esta funcion solo lee una tecla tipo char y la puedes guardar en cualquiere variable char c:=readkey; , otra funcion es la keypressed
que solo se fija si se ha apretado una tecla si su valor es true entonces alguien presiono una tecla y luego llamas a readkey que leera la tecla en el buffer , key pressed scanea el telcado nada mas , bueno espero que te sirva , espero a verte entedido tb saludos

    Pregunta:  27466 - MANEJO DE MASCARAS EN PASCAL USANDO EL MODO GRAFICO.
Autor:  Amy Gutierrez A.
Deseo información de como relalizar la lectura y la escritura en el Puerto paralelo, haciendo uso de la programación hibrida.
Agradecería la ayuda de quien lo haga.
  Respuesta:  Jose Israel Hernández G.
Saludos!.

Mira, la solucion la encuentras en 3 formas, utilizando código de turbo pascal, usando ensamblador, o usando código inline que se usa dentro de pascal.

Turbo Pascal cuenta con una libreria de manejo de los componentes internos de la computadora, al igual que Turbo C.

Si necesitas código fuente de lo que quieres hacer, mandame un correo y te reenviare los datos que necesitas.

    Pregunta:  27990 - TURBOPASCAL Y LA IMPRESION POR USB
Autor:  Javier Pescador
¿ cómo se puede direccionar un puerto USB desde TurboPascal 7.0?
El TP 7 ya está parcheado para evitar el error en tiempo de ejecucion sobre máquinas rápidas.,
pero la impresora paralelo ha sido sustituida por una impresora USB

El programa se ejecuta en un K7 a 1.3 GHz con Windows 98 SE en una ventana DOS .
¿ cómo imprimo por la impresora USB ? ¿ alguna pista?
  Respuesta:  Juan Mamani
La impresora debería traer un driver para entorno DOS. O bien reinstala e indica que tus aplicaciones DOS harán uso de la impresora.

Espero que sirva...

    Pregunta:  28293 - CóMO ESCRIBIR UNA VARIABLE DE ENTORNO EN TP7
Autor:  Marcelo Limori
Mi problema es que puedo leer vairables de entorno DOS (como PATH o COMSPEC), pero nu puedo modificarlas o escribir una nueva.
Alguin sabe cómo se hace?

Desde ya, muchas gracias.
  Respuesta:  SuNcO
Eso es facil mi chavo, se hace con el comando EXEC, con ese mismo leo las variables de entorno, enviame un mail y te envio el ejemplo

Mi mail (temporal) por falta de internet es [email protected]

    Pregunta:  28737 - COMO COMPARAR DOS ARCHIVOS PARA ACTUALIZAR DATOS
Autor:  yully margarita ballesteros
tengo dos archivos, uno pertenece a un banco y el otro pertenece a la nomina de una empresa, debo leer el archivo de la empresa para actulizar los datos en el banco, a fin de hacer el pago de la nomina, como puedo actualizarlos usando como llave de identificación el número de la cuenta?
  Respuesta:  Roberto Garcia Garcia
Creo que comprendo a medias la pregunta, se trata de actualizar los datos en el banco, me imagino que los datos a actualizar son los dias trabajados para saber cuanto se va a pagar,

para actualizarlo segun el numerto de cuenta, es necesario que el trabajador tenga tabien el numero de cuenta, pues es solo de leer el numero de cuenta del trabajador y buscarlo en el archivo del banco y actualizar los datos.

Espero sirva

Si no puedes escribirme

    Pregunta:  28939 - MATRICES EN DINAMICA
Autor:  ezequiel careño
Necesito hacer una asignacion en una matriz que esta en memoria dinamica. Aparte la matriz tiene registros.
Me ayudaria un monton si me decis como se hace el type, el var y la asinacion.
Muchas Gracis
  Respuesta:  Roberto Garcia
type
puntero=^matriz;

registros=record;
nombre:strin[10];
edad:byte;
sexo:char;
end;

matriz=array[1..10,1..10] of registros;

var
p:puntero {variable que guardara la matriz}

begin
clrscr;
new(p) {se crea el espacio para la matriz}

p^[1,1].nombre:='Roberto';
p^[1,1].edad:=21;
p^[1,1].sexo:='m';

writeln( 'Nombre: ', p^[1,1].nombre);
writeln('Edad: ',p^[1,1].edad);
writeln('Sexo: ',p^[1,1].sexo);

readkey;
end.

    Pregunta:  30088 - LIMPIAR BUFFER EN PASCAL
Autor:  jesus camacho garcia
Hola quisiera sabe como se limpia el buffer de memoria en pascal, es decir el equivalente en pascal de fflush(stdin) de c.
Gracias
  Respuesta:  martin flores
creo y no estoy del todo seguro pero creo que es FLUSH(bufer);
si no es este es muy similar , cualqueir duda ve a la ayuda y busca esta palabra algo encontraras
saludos

|<  <<  8 9 10 11 12 13 14 15 16 17 18  >>  >|