Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-04-2005
acl_gandalf acl_gandalf is offline
Miembro
 
Registrado: feb 2005
Posts: 39
Poder: 0
acl_gandalf Va por buen camino
Console aplication y readln

Hola buenas, estoy con un 'console aplication' y en vez de usar un formulario uso una ventana del cmd. Bueno, el caso, es que si uso la orden writeln('texto a mostrar'); y ejecuto el programaeste se abre y se cierra en cuestion de medio segundo. Para evitar esto use la orden readln; que pausa el programa a la espera de que pulse 'enter'. y queria saber si existe la posibilidad de no salir de la apliacion al pulsar la tecla enter

gracias de antemano
Responder Con Cita
  #2  
Antiguo 16-04-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
A ver si puedo darte alguna idea

Hola,

No estoy seguro de que esta sea la mejor respuesta: he visto algunos programas de tipo consola que seguramente no lo hacen exactamente igual.

Sin embargo, pienso que tal vez esto pueda ayudarte, darte alguna idea, en fin, servirte de algo. Echa un vistazo a este código:


Código Delphi [-]
  program consola;
  
  {$APPTYPE CONSOLE}
  
  uses
    SysUtils;
  
  var
    usuario: string = '';
  
  begin
     while (usuario <> 'Pedro') do
     begin
       Writeln('Escribe tu nombre y pulsa ENTER para salir');
       ReadLn(usuario);
     end;
  end.

Efectivamente. Gracias al procedimiento "ReadLn" podemos obtener lo que el usuario escriba en la línea de la consola. De este modo, podríamos comprobar si lo que ha escrito es lo que precisamos para dejarle "salir" de la misma.

El ejemplo hace uso de una instrucción "while", pero, la idea que trataba de transmitir con el mismo es únicamente la posibilidad de leer el contenido de la línea que escriba el usuario: el qué hagamos con lo obtenido, o sea, permitir salir al usuario, utilizar dicho contenido, etc., es ya cuestión de qué queramos conseguir.

Por otro lado, si haces uso del conjunto de clases y componentes de la Jedi Library (1) encontrarás que dentro de estos los hay para ampliar, por decirlo de algún modo, las capacidades de una aplicación de tipo consola. Concretamente encontrarás un módulo de nombre "JclConsole.pas" que tal vez pueda serte de utilidad.

(1) Proyecto Jedi

Última edición por dec fecha: 16-04-2005 a las 14:24:29. Razón: (Hacer uso de las etiquetas Delphi)
Responder Con Cita
  #3  
Antiguo 16-04-2005
acl_gandalf acl_gandalf is offline
Miembro
 
Registrado: feb 2005
Posts: 39
Poder: 0
acl_gandalf Va por buen camino
asias x la ayuda. funciona perfectamente
Responder Con Cita
  #4  
Antiguo 16-04-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Me parece mejor con un bucle repeat que no con un while

Hola,

Se me ocurre que a más de uno le puede parecer el bucle "while" de más arriba perfectamente sustituible por un bucle "repeat" (y ya no sustituible, pero más adecuado). A mí desde luego me parece que sí, así que el código quedaría como a continuación se ve:

Código Delphi [-]
 
 program consola;
 
 {$APPTYPE CONSOLE}
 
 uses
   SysUtils;
 
 var
   usuario: string = '';
 
 begin
   repeat
     Writeln('Escribe tu nombre y pulsa ENTER para salir');
     ReadLn(usuario);
   until (usuario = 'Pedro');
 end.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:51:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi