Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C]dovrei evitare utilizzo di ncurses

    Ciao a tutti ragazzi. Ho un programma molto semplice che prende dei dati da un dispositivo seriale, e tramite l'utilizzo delle ncurses, riesco a visualizzare questo input in una finestrella a video.

    Ora, dato che devo portare questo stesso programma su di un pc dove questo stesso input da seriale dev'essere visualizzato su un altro dispositivo seriale, stavo provando a vedere le stesse cose a video ma senza l'utilizzo delle librerie ncurses.

    In particolare i problemi che sto avendo sono i seguenti:

    Non riesco ad avere la data e l'ora di sistema in tempo reale (cioè, che indica anche il passare dei secondi). In pratica, a video vedo:

    Fri Oct 6 13:09:xx(i secondi passano in tempo reale) 2006


    Senza l'utilizzo delle ncurses, ho provato a fare così:

    codice:
    struct timeval timeout;
    
    t = time(NULL);
    char *tempo = ctime(&t);
    puts(tempo);
    Ovviamente in questo caso, quello che ottengo è (in base ad un timeout impostato in precedenza)

    Fri Oct 6 13:10:01 2006
    Fri Oct 6 13:10:02 2006

    etc... (con il timeout impostato ad un secondo).

    Nella versione con le ncurses, c'è invece una funzione che mi permette di fare il refresh in questo modo:

    codice:
    t = time(NULL);
    mvaddstr(ft, 0, 0, ctime(&t));
    wrefresh(ft);
    In quest'altro caso invece, l'ora e la data di sistema con il tempo che passa in tempo reale(scusate il gioco di parole), funziona perfettamente.

    Mi dareste una mano a fare la stessa cosa senza l'utilizzo delle librerie curses?

    Grazie mille.

    Raoul.

    [/code]

  2. #2
    Per fare il refresh senza curses ci sono due modi:
    Su winzoz:
    codice:
    #include <conio.h>
    /*codice*/
    clrscr();
    /*codice*/
    Su Linux c'è una bella pillola su questo FORUM
    Bisognerebbe leggerle prima di postare

  3. #3
    Originariamente inviato da menphisx
    Per fare il refresh senza curses ci sono due modi:
    Su winzoz:
    codice:
    #include <conio.h>
    /*codice*/
    clrscr();
    /*codice*/
    Su Linux c'è una bella pillola su questo FORUM
    Bisognerebbe leggerle prima di postare
    Su windows purtroppo non mi interessa, la macchina dove dovrà girare il programma è anch'essa linux. Inoltre, la funziona clrscr() (sarebbe clear screen) non ho ben capito cosa centra con il mio problema

    Sulla pillola che mi hai indicato, oltre a poter cambiare il colore delle stringhe, sinceramente (incapacità mia) non vedo come ottenere la data e ora di sistema a video in tempo reale.

    Grazie per l'interessamento

  4. #4
    Sulla pillola che mi hai indicato, oltre a poter cambiare il colore delle stringhe, sinceramente (incapacità mia) non vedo come ottenere la data e ora di sistema a video in tempo reale.
    codice:
    *Clear Screen!*/
    #ifndef cls
    #define cls() printf("\e[2J\e[H")
    #endif
    #ifndef fcls
    #define fcls() fprintf(stderr,"\033[2J\033[H")
    #endif

  5. #5
    bingo, grazie mille, al momento funziona (male ma funziona).

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 © 2024 vBulletin Solutions, Inc. All rights reserved.