Come Text User Interfaces (TUI) lavoro?
https://softwareengineering.stackexchange.com/questions/22623
-
22-10-2019 - |
Domanda
Ho recentemente assegnato alla porta di un vecchio programma COBOL. Sono abituato a GUI, e non riesco a capire come funziona un TUI. Ho cercato molto attraverso Google, ma non riuscivo a trovare qualcosa.
Lo sapevo che le applicazioni console potrebbe linea di uscita per linea, ma come sono i colori ecc attratti schermo del terminale? Come tutta questa roba è in fase di elaborazione? Fare terminali supportano in qualche modo? C'è uno standard? Sono davvero confuso.
Soluzione
Sono sicuro che la risposta sta andando a variare in base sulla piattaforma qui. Ci sono molti diversi tipi di terminale / console e per molti più di uno standard per la scrittura ad esso. La maggior parte di loro ho visto utilizzare una sorta di sequenza di escape (es: ANSI char fughe per DOS, YMMV) in cui si invia uno speciale carattere di fuga per interrompere la scrittura sullo schermo allora si può spostare il cursore, cambiare i colori, ecc
Se si sta scrivendo qualcosa di letteralmente per terminali stupidi allora probabilmente intenzione di usare qualcosa di simile a https: // protetto. wikimedia.org/wikipedia/en/wiki/Ncurses
Altri suggerimenti
Il termine generico per questo tipo di interfaccia è "riga di comando". Probabilmente fare meglio googling per quella che per "l'interfaccia utente di testo".
Non ti preoccupare, ci sono centinaia di standard tra cui scegliere:)
Sono purtroppo più a suo agio con le applicazioni di testo e basate su console rispetto ai loro fratelli delle finestre grafiche meno recenti. Troppi giorni su FidoNet ho paura.
La prima cosa che vorrei fare è imparare a pochi VT100 codici della vecchia società digitale. Si può mai scrivere applicazioni in VT100 codici (consigliare probabilmente contro di essa), ma si tratta di una molto buono e semplice introduzione al controllo della matrice console.
Biblioteche come maledizioni avvolgere questi codici di controllo (e molti altri terminali stile codici) e li astratto in modo che gli utenti possano accedere tramite i propri terminali. Cose come VT100 può anche fare a distanza (locale) stampa con cui oggi ancora in lotta RDP.
Per peggiorare le cose per voi, i sistemi IBM utilizzano il controllo non line- o basati su caratteri, ma schermo- e protocolli basati su blocchi. Esempi sono la 3270 e 5250 protocolli terminali che per la mancanza di una migliore atto confronto nella richiesta | architettura risposta pensano HTTP. Capace come questi sono, sono un vero e proprio PITA IMNSHO con cui lavoro e dovrebbero essere loro domanda separata.
Peggio ancora sarei qui a scrivere un'applicazione console in un mondo DOS / Windows. Non rispondere con la vostra piattaforma di sviluppo di destinazione.