Comunidad Gambas-es
Input en la misma linea que Print - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Input en la misma linea que Print (/thread-690.html)



Input en la misma linea que Print - guizans - 21-10-2021

Hola a todos.

Hoy trasteando con un programa en la consola me doy cuenta de un pequeño detalle. Si solicito un dato mediante un texto, el texto que está introduciendo el usuario está debajo del mensaje de texto. No se si me explico.
Código:
print "Introduce tu edad: "
input edad
Si pongo 18, ese número aparece debajo del texto "Introduce tu edad:". ¿Hay alguna forma de evitar esto? He probado a usar punto y coma en el Print, pero entonces no me aparece el mensaje. No es algo importante, pero me resulta curioso. En Python o C# se que se puede hacer, pero en Gambas ni idea.

Un saludo.


RE: Input en la misma linea que Print - vuott - 21-10-2021

(21-10-2021, 23:18)guizans escribió: está debajo del mensaje de texto

...claro, porqué "Print" escribe una cadena formateada con el valor "&h0A":  se añade un caracter de "nueva línea " como último carácter de la cadena.

Además, para mostrar el mensaje en la consola/terminal, al usar punto y coma en el "Print" antes de "Input", tienes que añadir la instrucción Flush.

Exemplum:
Código:
Public Sub Main()

  Dim edad As String

  Print "Introduce tu edad: ";
  Flush
  
  Input edad
  
  Print edad

End

...si no te gusta "punto y coma", puedes usar la instrucción "Write":
 
Código:
......

Write "Introduce tu edad: "
Flush

......



RE: Input en la misma linea que Print - guizans - 22-10-2021

Gracias, siempre se aprende algo nuevo. Me lo anoto.

Un saludo.