Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    26

    [VB.NET] Consentire la selezione di opzioni da righe scritte in applicazione Console

    Ciao a tutti non riesco a trovare il modo di poter selezionare righe fatte scrivere dal computer.
    Ad esempio quando si installa un sistema operativo il pc mostra l'elenco delle partizioni ed uno scorre con le frecce e seleziona con invio. Io vorrei fare scrivere a VB in una applicazione console le righe con un testo predeterminato e poi muovermi con le frecce selezionarne una ed eseguire le azioni pre programmate.
    Questo è un esempio.
    codice:
    Module Module1
        Sub Main()
            Console.WriteLine("Apri")
            Console.WriteLine("Impostazioni")
            Console.WriteLine("Esci")
            Console.ReadLine()
        End Sub
    End Module
    Come faccio a rendere selezionabili le righe?
    Grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Devi costruirti tutto tu !!
    Quando un sistema operativo ti mostra l'elenco delle partizioni, la scheda grafica non è in modalità grafica, ma in modalità testo, fissa a 80 x 25 (come il buon vecchio MS-DOS) e quindi puoi costruirti tutta una serie di funzioni (come avevo fatto io quando si lavorava in C) per gestire queste cose.
    Ma tu non sei in modalità testo, sei in una schermata "console" di un sistema operativo che lavora in modalità grafica, e quindi credo non puoi farlo.

    Potresti tentare un'altra strada, e cioè quando l'utente (ad esempio) ti preme "freccia in giù", mediante i codici di controllo posizioni il cursore all'inizio dello schermo, lo sposti in giù del numero di righe giuste, cambi l'attributo del testo in "reverse" (oppure gli dai tu i codici dei colori che vuoi), e riscrivi il testo con colore diverso, come se fosse selezionato.
    Se l'utente preme di nuovo "freccia in giù", riposizioni il cursore all'inizio dello schermo, lo abbassi di un numero di righe giuste, riscrivi il testo con attributi normali in modo da togliere la selezione, lo abbassi di un'altra riga, cambi il testo in reverse e riscrivi il testo.
    Lo so, è lungo da fare, ma non c'è altra strada quando lavori in modalità testo.

    Il problema è capire se la modalità console accetti i codici di controllo, potrebbero essere quelli del protocollo VT-100,
    qui trovi un po' di documentazione: http://www.termsys.demon.co.uk/vtansi.htm

    Per provare in maniera veloce, potresti fare una semplice routine che scrive qualsiasi cosa a video, poi mandi il codice <ESC>[2J (il codice <ESC> è il carattere decimale 27) e vedi subito se funziona. Se funziona dovrebbe averti cancellato lo schermo.

    Sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    26
    Ora sono fuori casa. Ti farò sapere

  4. #4
    La console di Windows non supporta i codici di escape VT100, bisogna usare le apposite API della console di Windows.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    26
    Sirjo non funziona.
    Mitaly c'è solo c++ non vb. net.
    come posso fare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Quote Originariamente inviata da Depis Visualizza il messaggio
    Mitaly c'è solo c++ non vb.net
    Si può fare anche in VB.NET, basta dichiarare correttamente le funzioni, però mi sembra che la gestione della console tramite le API non sia poi proprio molto semplice da fare.

    .... ma perchè non lasci stare la modalità console e utilizzi Windows Form oppure WFC ???
    Ultima modifica di SirJo; 01-09-2014 a 08:16

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    26
    Mi serve per forza console ma cmq ho trovato un metodo simile.
    Ho fatto scrivere al programma le opzioni e impostato che accetta solo quelle purtroppo mi accontenterò.
    Ho notato però che dopo aver scritto alcune cose premendo freaccia su mostra tutto quello che ho scritto.
    C'é percaso un modo di inserire da codice alla pressione del tasto le istruzioni che voglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    26
    Esiste quindi un modo di inserire le scritte che voglio nei "suggerimenti" che appaiono quando si preme freccia su?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.