PDA

Ver la Versión Completa : limpiar pantalla en consola de delphi


neoEX
15-07-2004, 16:36:17
por si acaso no saben si hay alguna libreria o alguna funcion para limpiar la pantalla en consola de delphi...
porque en pascal es CLRSCR; pascal en modo grafico o sea con la unidad graph es CLEARDEVICE
y en consola de delphi cual es?........:confused: :confused: :confused: :confused:

delphi.com.ar
15-07-2004, 16:40:47
Hola neoEX, bienvenido al foro. Como eres nuevo, te recomiendo leer la Guía de Estilo (http://www.clubdelphi.com/foros/guiaestilo.php), ahí podrás ver que sugerimos buscar en el histórico del foro antes que crear una nueva pregunta, y mira los resultados que puedes obtener: Borrar pantalla en Console Application (http://www.clubdelphi.com/foros/showthread.php?t=5964)

Saludos!

LancER
06-09-2004, 07:05:22
Alguien puede decir cual es la respuesta?

En el link dado solo se nombran procedimientos que implican saber el tamaño de la pantalla y todo eso. No hay una solucion mas sencilla? como un simple comando o parametro?

Gracias por adelanto

lanceR

delphi.com.ar
06-09-2004, 13:48:16
En el link dado solo se nombran procedimientos que implican saber el tamaño de la pantalla y todo eso. No hay una solucion mas sencilla? como un simple comando o parametro?No es tan complejo, son solo cuatro pasos y seguramente alguno de los primeros los has ejecutado anteriormente si quieres tener buen control de la consola.

Saludos!

LancER
06-09-2004, 21:52:55
Yo no soy un experto en delphi,es por eso que se me hace dificil hacer todo eso. Yo actualmente soy un estudiante de Delphi en la universidad. Mi situacion es que tengo que hacer un trabajo de registros y quiero agregar la opcion de borrar la pantalla para asi ofrecer un mejor trabajo,aprender y ademas sacar mejor nota :P.

Si alguien me puede ayudar le agradeceria mucho,lo unico que deseo es que despues de leer cierto dato,se borre la consola y aparescan otras opciones a mostrar.

Gracias

lanceR

roman
06-09-2004, 22:03:50
para asi ofrecer un mejor trabajo,aprender y ademas sacar mejor nota :P.

Pero entonces será Federico el que saque mejor nota y, creeme, él ya tiene excelentes notas.

Si lo que quieres es aprender entonces no tienes más que ir consultando en la ayuda del SDK de Windows cada una de las funciones que Federico menciona en el hilo al que hace referencia.

Realmente no es difícil y al terminar habrás aprendido.

// Saludos

jachguate
06-09-2004, 22:04:39
para asi ofrecer un mejor trabajo,aprender y ademas sacar mejor nota :P.

Con todo respeto, me parece que lo único que te interesa es sacar una mejor nota, a costillas de que alguien te haga el código. Si lees el mensaje y haces unas cuantas pruebas, estoy seguro que aprenderias.

Hasta luego.

;)

jachguate
06-09-2004, 22:06:27
Por último acotar, que una vez visto como termina el hilo anterior... me extraña que aún sigas insistiendo en que alguien te haga el trabajo.

:confused::confused::confused::confused:

LancER
07-09-2004, 06:47:50
Me parece que el que sepan usar bien el Delphi no basta en la vida,tambien tienen que ser bueno en la COMPRENSION DEL LENGUAJE.

Si leen bien y comprenden bien,se daran cuenta que en ningun momento he pedido un codigo,un procedimiento o una funcion, lo unico que he pedido es un comando. Hay otra forma de aprender comandos que no sea la de investigando o consultando? O me van a decir que ustedes aprendieron los comandos probando todas las combinaciones de characteres posibles?

Para dejarlo bien claro porque derepente una leida no basta : yo no pido un procedimiento ni nada por el estilo, solo estoy pidiendo un comando asi como lo hay en en pascal que si no me equivoco es clnscr.

Si no existe tal comando en Delphi o no lo conocen,basta con decir,tal comando no existe y se tiene que hacer todo con una funcion o procedimiento. Es muy dificil hacer eso?

Por favor piensen con el cerebro y no con el higado...

lanceR

jachguate
07-09-2004, 07:32:46
Hola.

Creo que tenemos aca un caso de un burro hablando de orejas.... :rolleyes:

Me parece que el que sepan usar bien el Delphi no basta en la vida,tambien tienen que ser bueno en la COMPRENSION DEL LENGUAJE.

Sin ánimo de ofender, y haciendo incapie en que no conozco tu nivel en Delphi, creo que quien no ha comprendido lo que se le quiere decir sos vos. Hace falta es decirte que no existe una procedimiento o función que limpie de un solo la consola. No es cuestión de Delphi solamente. No existe en el API de windows. Punto.

Por cierto... si estamos hablando de delphi, debiera ser un procedimiento o una función y no un comando. Si lo que queres es ejecutar un comando, basta que hagas un shell y ejecutes el comando cls.

Para dejarlo claro: Delphi es un lenguaje de programación, no un interprete de comandos.

Si leen bien y comprenden bien,se daran cuenta que en ningun momento he pedido un codigo,un procedimiento o una funcion, lo unico que he pedido es un comando.

:eek::eek: es cierto. Bueno, en esta ocasión ya se ha respondido antes. Por si hace falta, el comando es CLS. (si programas en windows), si programas en linux, el comando es clear (al menos en bash, no doy fé de otros interpretes de comandos).

Hay otra forma de aprender comandos que no sea la de investigando o consultando? O me van a decir que ustedes aprendieron los comandos probando todas las combinaciones de characteres posibles?
:confused: que se supone que quiere decir esto???

Para dejarlo bien claro porque derepente una leida no basta : yo no pido un procedimiento ni nada por el estilo, solo estoy pidiendo un comando asi como lo hay en en pascal que si no me equivoco es clnscr.

Si te equivocas. Pascal tampoco incorpora un interprete de comandos. En cambio, hay un procedimiento, y es clrscr;, siempre que tengas la unidad crt en el uses, claro. ;)

Si no existe tal comando en Delphi o no lo conocen,basta con decir,tal comando no existe y se tiene que hacer todo con una funcion o procedimiento. Es muy dificil hacer eso?

Bueno... que te puedo decir. En delphi no existe ningún comando. :(. Regularmente todo se hace con llamadas a procedimientos y funciones.

Por favor piensen con el cerebro y no con el higado...

¿Hacemos una encuesta, a ver quien está pensando con el higado? :confused: :confused: :confused:

__cadetill
07-09-2004, 09:16:50
Hola LancER

Como moderador de API, sólo decirte que, en este Club, nadie, repito, NADIE tiene la obligación de responderte. Así que, puedes estar contento si alguien (en este caso otros moderadores) te dan una respuesta y te orientan en el tema. No se acostumbra a dar el trabajo hecho, y menos a los estudiantes, así que.... estudia!! que es lo que has de hacer!!!

Por otro lado, si continuas con este "aire", te cerraré el hilo

PD: espero que como mínimo hayas leido la Guía de Estilos

LancER
09-09-2004, 03:20:49
Perdon si en algun momento sone malcriado,pero esa no fue mi intencion.

Solo esperaba una respuesta como la de jachguate,la cual ya resolvio mis dudas y por eso le agredezco.

Por ahora solo me queda ver si consigo armar esos procedimientos y cumplir mi objetivo.

saludos

delphi.com.ar
09-09-2004, 13:57:02
Solo esperaba una respuesta como la de jachguate,la cual ya resolvio mis dudas y por eso le agredezco.
Si te refieres a esto:
...no existe una procedimiento o función que limpie de un solo la consola...
Solo quiero comentarte que me cuesta responder de este modo, negando la existencia de algo, ya que nunca falta una función no documentada, o simplemente algo que escape a mis conocimientos. Cunando me encontré frente a tu mismo problema, la solución que encontré a mi alcance fue exactamente lo que te describí anteriormente.

Saludos!

Juan Fuentes
14-03-2005, 17:34:04
Hola que tal, me parece interesante el hilo y el club por que me toco pascal y Delphi este semestre!!! :D, y buscando exactamente lo mismo que lancer me encontre con este foro. Bueno, yo lo hago de otra manera, tradicionalmente lo que hago cuando trabajo con consola es llamada al sistema system (sí, programo en C++ :) ) y asi uso el bash (jeje, sí, trabajo en linux :) ), me falto acotarles que me toco windows este semestre, todo un dominó, en realidad el meollo del asunto es un simulador en Glider, el Glider es otro lenguaje que requiere Delphi pascal que se usa en windows y asi llegue hasta aqui, que pesadilla, creanme que me he quemado las pestañas entre uml, TDsoo, y siga contando...

Al grano, ¿existen llamadas al sistema en Delphi Pascal 5 o 7, para hacer un cls (creo que así es el clear en windows) o cualquier otro comando?

Si es asi, ¿seria alguien tan amable de decirme la sintaxis de dicha llamada? (identificador del procedimiento o funcion, parametros y sus tipos, valor y tipo de retorno).


thanks a lot friends!!!, please, don't leave me hanging, aghhhhh :) :D



Edicion: No es solo borrar la pantalla, eso lo haria con lo de arriba, es cualquier comando de windows, yo se que esas llamadas al sistema son lo mas cochino que hay, pero hay veces en que te sacan la pata del barro durisimo, sobre todo cuando te toca correr otros programas y pasarles parametros como cuando me toco trabajar con Tcl/Tk y un archivo hash manejado por un programa en C++ corriendo debajo, welcome to the jungle!!! AAAAAHHHHHH, si, me estresa cuando me acuerdo de esos tiempos.

delphi.com.ar
16-03-2005, 15:53:44
Al grano, ¿existen llamadas al sistema en Delphi Pascal 5 o 7, para hacer un cls (creo que así es el clear en windows) o cualquier otro comando?
Si te refieres a la consola:

no existe una procedimiento o función que limpie de un solo la consola. No es cuestión de Delphi solamente. No existe en el API de windows.

¿Has leído el hilo completo?

Juan Fuentes
18-03-2005, 02:21:56
Hola Federico.

Creo que no me entendiste, yo lei esa parte, y tambien lei por cierto esta:

Por cierto... si estamos hablando de delphi, debiera ser un procedimiento o una función y no un comando. Si lo que queres es ejecutar un comando, basta que hagas un shell y ejecutes el comando cls.

dicho por jachguate (no supe como citar desde aqui).

En realidad no se a que se refirio con eso, me imagino que es una llamada al sistema y pasarle el comando como una cadena para que el interprete de comandos lo ejecutara y no el programa como tal.

Es cierto que mi pregunta se relaciona con eso de borrar la pantalla pero va mas alla, se trata de poder acceder al sistema y darle instrucciones con un programa en vez de darselas uno a pie (escribirlas tu personalmente).

Por ejemplo, ¿como hago para correr un programa desde otro?, no se como sera en windows pero una vez hice un programita en C++ para apagar la computadora en un tiempo que yo le pasara, como el sleep de los televisores, para escuchar musica un rato mientras me dormia y luego se apagara. Recibia el tiempo como una cadena y luego hacia un system y le pasaba el tiempo como argumento a la llamada del programa sleep de linux (que simplemente se guinda o cuelga por ese tiempo que le pasaste) y luego hacia otra llamada a poweroff, que simplemente apaga la compu (cosas que hace uno cuando anda ocioso).

Con el system se accede al sistema, no es el CLRSCR de pascal, no es una rutina que limpia la consola, podrias emular un administrador de sistemas con ella, esa es mi pregunta, ¿se pueden hacer llamadas al sistema con Delphi?

Gracias por su atencion. ;)




Edicion:

Aqui les pongo el codigo de la ociosidad...
----------------------------------------------------------------------------
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
void main () {
char tiempo[11],salida[17]="sleep ",man='M';
char band='n';
do{
band='n';
cout<<"escriba M para instrucciones \n";
cout<<"tiempo de espera: ";
cin.getline(tiempo,11);
if (tiempo[0]==man||strlen(tiempo)>11){
cout<<"programa para apagar la computadora en un tiempo determinado\n";
cout<<"la sintaxis es: [tiempo][opcion]\n";
cout<<"las opciones son: s para segundos, m para minutos, h para horas, d para dias\n";
band='s';
}
}while(band=='s');
for(int i=6;i<16;i++)
salida[i]=tiempo[i-6];
system(salida);
cout<<salida;
band= salida[strlen(salida)-1];
if((band=='s'||band=='m'||band=='d'||band=='h')&& salida[strlen(salida)-2]!=' ')
system("poweroff");
else
cerr<<" Error de sintaxis\n";
}

--------------------------------------------------------------------------------
Este fue uno de mis primeros programas, se evidencia por lo picapiedra del codigo, ya eso no compila con gcc 3.2 (el compilador actual), pero contiene la idea, les confieso que el proposito inicial de este programa fue sabotear el laboratorio por que me trataron mal a mi y aun pana una vez, y me dije "ya veran... esto no se queda asi..." :D, pero a la final hicimos otra cosa mejor (para nosotros, peor para ellos, jejejeje) y dejamos este para fines caseros.

jachguate
29-03-2005, 20:43:55
Hola.

Buscá en los foros y en la ayuda del api sobre ShellExecute, que te permite realizar llamadas al sistema y a otros programas.

Saludos.

linuxfresh
08-09-2006, 17:55:52
En esta pagina he encontrado una unidad llamada console, similar a la crt de Turbo Pascal (clrscr, gotoxy, textcolor, etc). La he probado en l nuevo Turbo Delphi y no me ha dado problemas.

http://rvelthuis.de/programs/console.html

Avisen si les sirvio.

mario2000
02-02-2008, 17:35:37
Hola a todos.
Buscando en estos foros y en otros lados encontré una libreria crt.dcu que trabaja en delphi en modo consola como lo hacia en turbopascal tiene una ayuda muy buena y sirve mucho para practicar los algoritmos.

mario2000
02-02-2008, 17:43:13
bueno trate de subirlo pero no dan mucho espacio aca el link:
http://www.caos.inf.uc3m.es/asignaturas/pr_itig/practicas/faq/faq.html :rolleyes:

jachguate
02-02-2008, 17:47:00
Creo que has olvidado poner el link!

mario2000
02-02-2008, 19:39:33
Aca esta de nuevo el crt.dcu para jugar a que delphi era turbo pascal 7 jeje
http://www.caos.inf.uc3m.es/asignatu...s/faq/faq.html (http://www.caos.inf.uc3m.es/asignaturas/pr_itig/practicas/faq/faq.html) :D