¿Cómo funcionan las interfaces de usuario de texto (TUI)?

8

Recientemente me asignaron un puerto de un programa COBOL antiguo. Estoy acostumbrado a las GUI, y no puedo entender cómo funciona una TUI. Busqué mucho en Google pero no pude encontrar algo.

Sabía que las aplicaciones de la consola podían salir línea por línea, pero ¿cómo se dibujan los colores, etc., en la pantalla del terminal? ¿Cómo se está dibujando todo esto? ¿Los terminales lo soportan de alguna manera? ¿Hay algún estándar? Estoy realmente confundido.

    
pregunta GorillaApe 30.11.2010 - 20:00

3 respuestas

7

Bastante seguro de que su respuesta variará según la plataforma aquí. Hay muchos tipos diferentes de terminales / consolas y para muchos más de un estándar para escribir en él. La mayoría de los que he visto utilizan algún tipo de secuencia de escape (por ejemplo, ANSI char escapes for dos, YMMV) donde se envía un char especial de escape para interrumpir la escritura en la pantalla y luego puede mover el cursor, cambiar de color, etc.

Si está escribiendo algo literalmente para terminales tontas, entonces probablemente vaya a utilizar algo como enlace

    
respondido por el Bill 30.11.2010 - 20:14
0

El término genérico para ese tipo de interfaz es "línea de comando". Probablemente harás mejor en Google para eso que para "interfaz de usuario de texto".

    
respondido por el Dan Ray 30.11.2010 - 20:49
0

No se preocupe, hay cientos de estándares para elegir :)

Lamentablemente me siento más cómodo con las aplicaciones basadas en texto y consola que sus hermanos de ventanas gráficas más antiguos. Demasiados días en FidoNet, me temo.

Lo primero que haría sería aprender algunos códigos VT100 de la antigua compañía Digital. Nunca puede escribir aplicaciones en códigos VT100 (probablemente no lo recomiende), pero es una introducción muy buena y sencilla. para controlar la matriz de la consola.

Las bibliotecas como curses envuelven estos códigos de control (y muchos otros códigos de terminales de estilo) y los abstraen Para que los usuarios puedan iniciar sesión a través de sus propios terminales. Cosas como la VT100 pueden incluso hacer impresiones remotas (locales) con las que aún luchamos hoy en día en RDP.

Para empeorar las cosas para usted, los sistemas de IBM no utilizan control basado en caracteres o líneas, sino protocolos basados en pantalla y bloques. Los ejemplos son 3270 y 5250 protocolos de terminal que, por falta de una mejor comparación, actúan en la arquitectura de solicitud y respuesta, por ejemplo HTTP. Tan capaces como son, son un verdadero PITA IMNSHO con el que trabajar y deben ser sus propias preguntas por separado.

Peor que eso sería escribir una aplicación de consola en un mundo DOS / Windows. Responda con su plataforma de desarrollo de destino.

    
respondido por el Jé Queue 30.11.2010 - 23:47

Lea otras preguntas en las etiquetas