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 05-12-2015
andrecuellar andrecuellar is offline
Miembro
NULL
 
Registrado: sep 2015
Posts: 13
Poder: 0
andrecuellar Va por buen camino
y como podría hacer para programar en consola? o sea, sin formularios, gracias
Responder Con Cita
  #2  
Antiguo 05-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
El codigo que pusiste mas arriba es correcto sin Crt te da algun problema? Porque a mi me parece correcto
Responder Con Cita
  #3  
Antiguo 05-12-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Como te comenta Agustin, quitando la alusión a la unidad Crt (y a ClrScr), ese código funciona correctamente en modo consola.

Para lo único que estas incluyendo la unidad Crt es para usar la función ClrScr y, de necesitarla si o si, podes escribir la tuya:
Código Delphi [-]
program Project1; {$APPTYPE CONSOLE}

uses SysUtils, Windows;

procedure ClrScr();
var
  hnd   : THandle;
  scrnfo: CONSOLE_SCREEN_BUFFER_INFO;
  st    : string;
  co    : _COORD;
begin
  hnd  :=  GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(hnd, scrnfo);
  st   := StringOfChar(' ', scrnfo.dwSize.X * scrnfo.dwSize.Y);
  Writeln(st);
  co.X := 0;
  co.Y := 0;
  SetConsoleCursorPosition (hnd, co);
end;

begin
  ClrScr();
  ...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 05-12-2015
andrecuellar andrecuellar is offline
Miembro
NULL
 
Registrado: sep 2015
Posts: 13
Poder: 0
andrecuellar Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
El codigo que pusiste mas arriba es correcto sin Crt te da algun problema? Porque a mi me parece correcto
entonces hay un problema aquí, por que con el código que cité arriba no corre, sale una ventana que dice "runtime error 105 at 0040A18A", alguien me podría ayudar?
Responder Con Cita
  #5  
Antiguo 05-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Edito: El mensaje me salio duplicado, aprovecho para editar este para agregar algunas lineas mas

Otra cosa que te recomiendo es que dejes una llamada a Readln al final de todo, porque cuando llega al fin del programa la consola se cierra y no vas a poder "ver los resultados"

Con un Readln al final el programa se quedara esperando hasta que alguien de enter para cerrarse (el clasico 'Presione ENTER para salir...')

Última edición por AgustinOrtu fecha: 05-12-2015 a las 23:50:31.
Responder Con Cita
  #6  
Antiguo 05-12-2015
andrecuellar andrecuellar is offline
Miembro
NULL
 
Registrado: sep 2015
Posts: 13
Poder: 0
andrecuellar Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Edito: El mensaje me salio duplicado, aprovecho para editar este para agregar algunas lineas mas

Otra cosa que te recomiendo es que dejes una llamada a Readln al final de todo, porque cuando llega al fin del programa la consola se cierra y no vas a poder "ver los resultados"

Con un Readln al final el programa se quedara esperando hasta que alguien de enter para cerrarse (el clasico 'Presione ENTER para salir...')
Gracias! que estupidez que me mandé jajaja, ahora otra cosa que no me agrada es que se cierra apenas muestra el último mensaje, es posible hacer que la ventana quede sin cerrarse? o que al menos el resultado sea visible? jaja
Responder Con Cita
  #7  
Antiguo 06-12-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por andrecuellar Ver Mensaje
Gracias! que estupidez que me mandé jajaja, ahora otra cosa que no me agrada es que se cierra apenas muestra el último mensaje, es posible hacer que la ventana quede sin cerrarse? o que al menos el resultado sea visible? jaja
Cita:
Empezado por AgustinOrtu Ver Mensaje
...
Otra cosa que te recomiendo es que dejes una llamada a Readln al final de todo, porque cuando llega al fin del programa la consola se cierra y no vas a poder "ver los resultados"

Con un Readln al final el programa se quedara esperando hasta que alguien de enter para cerrarse (el clasico 'Presione ENTER para salir...')
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 05-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Eso es porque sacaste la directiva {$APPTYPE CONSOLE};

De hecho el Wizard cuando pones Console Application te lo genera el solo, solo que hay que dejarlo

El codigo completo seria asi

Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE} // no me elimines!!! 

uses
  SysUtils;

var
  n: integer;

begin
  write('Digite un número: ');
  readln(n);
  if (n mod 2 = 0) then
    write('Es par')
  else
    write('Es impar');

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Se pueden programar apps para iOS sin saber programar? nlsgarcia La Taberna 7 04-08-2014 11:09:36
LL Modo Consola. rxaxx9 API de Windows 1 09-05-2011 10:20:34
GUI con Consola JXJ Varios 2 03-12-2007 22:08:17
Timer en consola b2k Varios 7 20-07-2007 15:26:29
Consola con IB1.5 Iván Firebird e Interbase 5 21-05-2003 09:56:42


La franja horaria es GMT +2. Ahora son las 21:09:03.


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