Hay un total de 203 Preguntas. | << >> |
Pregunta: | 10243 - CUADRO MAGICO PASCAL |
Autor: | JOSE ORTEGA ORTEGA |
DESEO SABER COMO HACER UN CUADRO MAGICO EN PASCAL, ESOS QUE DA LO MISMO SI SE SUMA PARA ARRIBA COMO PARA ABAJO HACIA LOS LADOS O DIAGONALMENTE.
LES AGRADECERIA SU AYUDA. |
Respuesta: | Nelson Quiñones López |
Yo tengo el código para el cuadrado mágico, si quieres te lo mando.
de todos modos la idea es esta 3x3 comenzar por el número uno (puede ser cualquiera pero en forma ordenada), subir uno arriba (como arriba no hay casillas, ir abajo en la misma dirección) y otro a la derecha poner 2, luego uno arriba y otro a la derecha (como a la derecha no hay casillas, ir a la izquierda) y poner el número 3, ir arriba y luego a la derecha (como ya está ocupado, retornar a lugar donde esta el 3 y bajar una casilla) poner el número 4, y así sucesivamente (UNO ARRIBA Y OTRO A LA DERECHA). Puedes hacer con cualquier cantidad de casillas, siempre y cuando sea de dimensión cuadrada (matriz cuadrada) 3x3, 5x5 o 1000x1000. Cuando comiencesa por un número utilizar la secuencia en forma ordenada y ascendente 1,2,3,4,5, etc. o puedes utilizar multiplos también (del 3 por ejemplo) 3,6,9,12,etc 2 1 6 3 5 7 4 9 2 la suma en cualquier dirección es 15. El código tu puedes hacerlo con un poco de paciencia...suerte!!! |
Pregunta: | 10778 - COMO EJECUTAR UN FICHERO *.EXE DESDE UN PROGRAMA PASCAL |
Autor: | ERNEST SURIA RUIZ |
Tengo necesidad de jecutar un fichero EXE situado en el DOS desde un programa escrito en pascal. Para entrar en el directorio especificado desde pascal no tengo problema, pero luego no consigo ejectar el fichero EXE. Gracias |
Respuesta: | Diego Romero |
Hablando siempre de Turbo Pascal 7.0 la ayuda del procedimiento estandar Exec() de la unidad DOS es muy clara. Pero por las dudas aqui repito el codigo de ejemplo.
{$M $4000,0,0 } { 16K stack, no heap } uses Dos; var ProgramName, CmdLine: string; begin Write('Program to Exec (full path): '); ReadLn(ProgramName); Write('Command line to pass to ', ProgramName, ': '); ReadLn(CmdLine); WriteLn('About to Exec...'); SwapVectors; Exec(ProgramName, CmdLine); SwapVectors; WriteLn('...back from Exec'); if DosError <> 0 then{ Error? } WriteLn('Dos error #', DosError) else WriteLn('Exec successful. ', 'Child process exit code = ', DosExitCode); end. |
Respuesta: | Dabiz Spuch Calvar |
Sólo tienes que usar la instrucción Exec. Es necesaria reducir el tamaño del Heap para que pueda ejecutar el programa. Además debes llamar swapvectors antes y después de Exec para que no se confundan los manejadores de interrupciones.
Ejemplo: {$M 50000,0,0} { Reserva 50000 bytes de la pila } USES Dos,Crt; PROCEDURE Inicio; VAR LineaParametros : string; DirString : string; Dir : integer; BEGIN FOR Dir := 1 TO 255 DO BEGIN Str (Dir,DirString); LineaParametros := '-a ' + ParamStr(1) + DirString; SwapVectors; Exec ('c:\windows\nbtstat.exe',LineaParametros); SwapVectors; END END; BEGIN Inicio END. |
Pregunta: | 10825 - COMO FORMATEAR UN DISCO FLEXIBLE DESDE UN PROCEDIMIENTO |
Autor: | ALEJANDRO ZUÑIGA SOLIS |
NECESITO LLAMAR DESDE UN PROCEDIMEINTO DE TURBO PASCAL EL COMANDO FORMAT DEL DOS PARA FORMATEAR UN DESCO DE 3 Y MEDIA.ESPERO RESPUESTA YA QUE ES LA ÚNICA PARTE DEL PROYECTO FINAL QUE ME HACE FALTA PARA TERMINAR ESTE CUATRMESTRE. |
Respuesta: | Diego Romero |
Lee la respuesta a la pregunta 10778 e invoca el comando format con los parametros que necesites con el procedimiento Exec(). |
Respuesta: | Dabiz Spuch Calvar |
Con la instrucción Exec puedes ejecutar cualquier programa desde pascal. Acuerdate de llamar a swapvectors antes y después de exec para evitar problemas con los manejadores de interrupciones. Además deberías reducir el tamaño de Heap para tener más memoria en la pila para poder ejecutar la aplicación (FORMAT.EXE). Esto último con {$M } |
Pregunta: | 10853 - DETENER UNA APLICACIÓN |
Autor: | Adolfo Acosta |
¿Como puedo detener un programa que se queda ciclado en TP7?
En versiones anteriores lo hcia con En Tp7 no se detiene. |
Respuesta: | Dabiz Spuch |
Si te refieres a detenerlo por código prueba con halt(). Si te refieres a detener un programa en ejecución desde el entorno de desarollo de TP, debería de funcionarte pulsando Contro+Break o Control+C o Control+K |
Pregunta: | 11062 - TEXTO DIFERENTE EN DOS Y WINDOWS |
Autor: | Alejandro |
Hola gente, tengo una duda que aunque me parece medio pelotuda nadie me pudo decir como solucionarla y me esta sacando de quicio. El tema es el siguiente: despues de grabar un .pas con el TP7 para DOS, abro el .pas en el Notepad, en el Wordpad, en el Word 97 y en todos me pasa lo mismo: me cambia algunos caracteres
Por ejemplo, los acentuados: Si en pascal pongo >>> á é í ó ú Cuando lo abro en Windows me aparece >>> ‚ ¡ ¢ £ (la á acentuada aparece como un espacio en blanco) y asi con otros caracteres. Necesito abrirlo correctamente en Word para poder convertir a Pseudocodigo e imprimirlo. Por favor, que alguien me conteste. Gracias. |
Respuesta: | Alejandro * |
No, la solución para esto es usar el Ultraedit32, o algun otro editor de texto que tenga conversion de caracteres OEM a ANSI y viceversa (los tipos de caracter de DOS y Windows). Yo uso el Ultraedit y funciona perfecto.
Saludos |
Respuesta: | juan c. |
bueno respecto a tu duda es muy facil si solo quieres imprimir el fuente
solo activa save as... en el menu file y guarda el archivo con extension txt asi lo podras abrir desde block de notas u otro bueno suerte |
Respuesta: | Sahid Ra Gutierrez Cruz |
Hola amigo espero que esto te pueda servir:
Mira si tienes Windows 95 y lo abres con el bloc de botas no lo podras ver bien ya que tiene una tipo de fuente predefinida la cual es Arial pero si usas el Windows 98 puesdes abrirlo con el Bloc de notas y ahora solo cambia el tipo de fuente por la Courier y listo. Espero que me haya dado ha enternder, ahora que si quieres escribeme y te explico por cierto si ocupas ayuda para la creacion de pantallas ya sea en C++, Pascal7, Clipper escribeme y te enviare un programa de 20kb que te ayuda en la creacion de las mismas. Espero que lo que trate de esplicar me haya dado a comprender. |
Pregunta: | 11438 - NUMEROS DE DOBLE PRESICION |
Autor: | Luis Dominguez |
Como puedo trabajar con numeros de doble presicion en turbo pascal 7.0 , pues cuando pongo la directiva de el compilador para trabajar en mode 8087 con numeros de doble presicion me envia un error "directiva de el compilador invalida". agrdecere mucho su ayuda |
Respuesta: | Dabiz Spuch Calvar |
¿Qué máquina tienes? ¿un 386? si tienes una máquina antigua puede que no tenga coprocesador numérico. Si es este el caso activa la opción de emular (el coprocesador) y con esto será suficiente. |
Pregunta: | 12428 - NOMBRES LARGOS EN PASCAL |
Autor: | Esteban Ugalde Murillo |
Mi pregunta es: Como puedo presentar nombres largos(como en Window)en Pascal en lugar de los 8 caracteres para el nombre que utiliza el DOS. |
Respuesta: | Diego Romero |
Existe una forma de hacerlo pero implica que realices lecturas a bajo nivel del disco rigido, debido al "truco" que utiliza Windows para almacenar los nombres largos de los archivos.
El tema es que Windows almacena la primera parte del nombre del archivo como un nombre normal en la FAT pero cuando el nombre excede los 8 caracteres reemplaza los ultimos dos con ~1 y el resto los graba como una sucecion de nombres de 8 caracteres en la FAT pero como si fueran nombres de directorios, esto, en el viejo DOS es un error de la FAT y los ignora ya que los nombres de directorios deben estar al principio de la FAT, en un lugar reservado para ellos. |
Pregunta: | 12467 - NOTACIóN ASINTóTICA("O" GRANDE) |
Autor: | Alicia Aguilar |
Dentro de la medición del tiempo de ejecución de un programa en pascal existe la notación asintótica conocida como o grande y quisiera saber que es esto y como y para que se utiliza. Gracias. |
Respuesta: | tp_tc tp_tc |
Bueno la notacion O grande no solamente se aplica a Pascal sino se aplica todos los lenguajes computacionales.
Como bien sabemos hay diferentes algoritmos para resolver un problema y estos seran mas rapidos o mas lentos dependiendo del tipo de logica que se instrumente. Bueno la notacion O grande lo que desea es saber el rendimiento o potencia no importando la maquina y el nivel de programacion. Existen diversos libros que hablan sobre este tema, y te puedes basar en un libro de Estructuras de Datos. |
Pregunta: | 12840 - PROBLEMAS AL COMPILAR UNA DLL EN LINUX CON PASCAL |
Autor: | Gustavo Enriquez |
No he podido compilar una libreria dinámica en pascal para linux. sale el siguiente error
Linking ejemplodll2 ejemplodll2.o: In function `program_init': ejemplodll2.o(.text+0xc): undefined reference to `hola' ejemplodll2.pas(12) Warning: Error while linking este es el ejemplo. El código de la libreria es : //*************************************************************** Library ejemplodll; uses SysUtils; Procedure hola; export; Begin Writeln('hola'); End; exports hola; begin end. //*************************************************** El código del programa es : //*************************************************** program ejemplodll2; uses SysUtils; Procedure hola; external 'ejemplodll'; begin Hola; Readln; end. Gracias por su ayuda |
Respuesta: | jorge alvarenga |
Antes que nada debes ver si el nombre del fuente de la libreria es igual al de la unidad, (o sea ejemplodll.pas) luego debes compilarla.
luego debes guardar el programa (no importa el nombre y lo compilas tambien). Te digo esto porque ya me paso eso, que mi library se llamaba fechas y mi archivo fecha.pas .Me compilaba todo bien pero al llamarla desde un programa cliente no lo encuentra, pues el busca la libreria compilada por el nombre que das en uses Ej. program nada; uses x; begin end. el buscará la libreria compilada x.ppu-x.o, etc segun tu compilador, o sea que debes guardar el fuente como x.pas y compilarlo.Tambien en el encabezado de x.pas debe decir library x; Espero te sirva |
Pregunta: | 12894 - COMO LEER LA ETIQUETA DE UNA UNIDAD DE DISCO |
Autor: | victor limachi loredo |
quisiera saber como se puede leer l etiqueta de un disco desde un programa pascal |
Respuesta: | kikonmx |
Utilizando la interrupción 25h que sirve para leer el sector de arranque, ya que la etiqueta se almacena en este sector, si deseas un código de ejemplo, envíame un mail |
|< << 3 4 5 6 7 8 9 10 11 12 13 >> >| |