guizans   21-10-2021, 23:18
#1
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.
vuott   21-10-2021, 23:50
#2
(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

......
Última modificación: 24-10-2021, 01:15 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
guizans   22-10-2021, 21:46
#3
Gracias, siempre se aprende algo nuevo. Me lo anoto.

Un saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.