Come funzionano le interfacce utente di testo (TUI)?

8

Sono stato recentemente assegnato a un vecchio programma COBOL. Sono abituato alle GUI e non riesco a capire come funziona un TUI. Ho cercato molto tramite Google ma non ho trovato nulla.

Sapevo che le applicazioni della console potevano essere visualizzate riga per riga, ma come vengono disegnati i colori ecc. sullo schermo del terminale? Come vengono disegnate tutte queste cose? I terminali lo supportano in qualche modo? C'è uno standard? Sono davvero confuso.

    
posta GorillaApe 30.11.2010 - 20:00
fonte

3 risposte

7

Abbastanza sicuro che la tua risposta cambierà in base alla piattaforma qui. Esistono molti tipi diversi di terminale / console e molti più di uno standard per la scrittura. La maggior parte di essi ho visto utilizzare una sorta di sequenza di escape (es: ANSI char escape per dos, YMMV) in cui si invia uno speciale escape char per interrompere la scrittura sullo schermo, quindi è possibile spostare il cursore, cambiare i colori, ecc.

Se stai scrivendo qualcosa di letteralmente per terminali stupidi probabilmente useresti qualcosa come link

    
risposta data 30.11.2010 - 20:14
fonte
0

Il termine generico per quel tipo di interfaccia è "riga di comando". Probabilmente riuscirai a fare una ricerca su google migliore rispetto a "text user interface".

    
risposta data 30.11.2010 - 20:49
fonte
0

Non preoccuparti, ci sono centinaia di standard tra cui scegliere:)

Sono tristemente più a mio agio con le applicazioni basate su testo e su console rispetto ai loro vecchi membri della finestra grafica. Troppo giorni su FidoNet temo.

La prima cosa che vorrei fare è imparare alcuni codici VT100 dalla vecchia società digitale. Non puoi mai scrivere applicazioni in codici VT100 (probabilmente sconsigliarlo), ma è un'introduzione molto buona e semplice per controllare la matrice della console.

Le librerie come curses racchiudono questi codici di controllo (e molti altri codici terminali di stile) e li astraggono in modo che gli utenti possano accedere tramite i propri terminali. Cose come VT100 possono persino fare una stampa remota (locale) con la quale ancora oggi stiamo combattendo in RDP.

Per peggiorare le cose per te, i sistemi IBM non usano il controllo in linea o basato sui caratteri, ma i protocolli basati su schermo e su blocco. Esempi sono 3270 e 5250 protocolli terminali che per la mancanza di un migliore confronto agiscono nell'architettura request | response pensano HTTP. Per quanto capaci, sono un vero PITA IMNSHO con cui lavorare e dovrebbero essere la loro domanda separata.

Peggio di così sarebbe scrivere un'applicazione per console in un mondo DOS / Windows. Rispondi con la tua piattaforma di sviluppo target.

    
risposta data 30.11.2010 - 23:47
fonte

Leggi altre domande sui tag