Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 15-07-2004, 12.17.47   #1
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
Blocco caratteri e controllo ------> C

Ciao,

in C vorrei, dopo aver chiesto in input una stringa, avere il controllo "istantaneo" di ciò che viene digitato sulla tastiera!

nello specifico, vorrei stampare a video solo un determinato carattere, tutti gli altri digitati dovrebbero essere scartati e non mandati in output...

es: (voglio che stampi solo la 'X') l'utente appena digita una qualsiasi lettera diversa da 'X' non viene stampata. Quindi scrivendo TAXI, uscirebbe solo X...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 15-07-2004, 12.30.31   #2
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Acquisisci l'input carattere per carattere e stampi solo i caratteri compresi in un certo range .. oppure costruisci un'array parallela dei caratteri da stampare che scansioni ad ogni ciclo di passaggio.. se vuoi uno spunto, guarda la mia implementazione della PosizioneNavi() nel thread della battaglia navale, in quella funzione sono stampati e consentiti solo i caratteri validi...

Bye

P.S.: più tardi rispondo al tuo pvt.
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 15-07-2004, 12.40.57   #3
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
(Y)
___________________________________

...ad ogni alba sorgerà il tuo profumo

Ultima modifica di NS-1 : 15-07-2004 alle ore 12.48.20
NS-1 non è collegato   Rispondi citando
Vecchio 15-07-2004, 12.48.31   #4
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
.
___________________________________

...ad ogni alba sorgerà il tuo profumo

Ultima modifica di NS-1 : 16-07-2004 alle ore 18.14.03
NS-1 non è collegato   Rispondi citando
Vecchio 15-07-2004, 13.21.09   #5
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Già.
Attento che se usi getch(), per evitare che vengano considerati anche i tasti funzione, devi utilizzare kbhit().
Ricordati inoltre di scaricare (flush) il buffer della tastiera (fflush(stdin)) prima di eseguire un'altro getch()
LoryOne non è collegato   Rispondi citando
Vecchio 15-07-2004, 15.30.48   #6
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
non è che potreste scrivermi 2 righe di codice?
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 15-07-2004, 15.44.28   #7
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
forse mi sono spiegato male oppure non ho capito niente io...
ciò che digita l'utente non deve comparire sullo schermo se non fà parte del range di caratteri scelti da me...

ok?
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 15-07-2004, 16.15.38   #8
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Ecco qui:

Codice:
#include <stdio.h>
#include <windows.h>
#include <conio.h>

int main(void)
{
   BOOL EndInput = TRUE;
   unsigned int Count;
   int Count2=0;
   char Allowed[] = {'a', 'b', 'c', 'd', 'e'};
   char Buff[1000];
   char Current = ' ';
   Buff[0] = '\0';


   // L'utente può inserire solo: a,b,c,d,e - invio: termina l'input
   while( EndInput)
   {
      Current = getch();
      switch(Current)
      {
         case 13: EndInput = FALSE;
                  Buff[Count2] = '\0';
                  printf("\nStringa inserita: %s\n", Buff);
                  break;
            
         default: for(Count=0;Count<strlen(Allowed);Count++)
                  {
                     if(Current == Allowed[Count])
                     {
                        printf("%c", Current);
                        Buff[Count2] = Current;
                        Count2++;
                     }
                  } 
                  break;
                  
      }
   }
   return 0;
}
Questo pezzo di codice visualizza e memorizza in un buffer (che può essere poi gestito e restituito) solo i caratteri inseriti dall'utente che corrispondono al range che decidi di dare in "Allowed". Non penso ci siano commenti da fare riguardo al codice .. forse può essere ottimizzata ancora, ma direi che così può anche andare

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 15-07-2004, 17.37.08   #9
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
(Y)

grazie....
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 16-07-2004, 11.06.08   #10
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
era tutto in questa funzione la soluzione:

int _getch( void );
Get a character from the console without echo

..ma porc******
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[Outlook Express] Lettura caratteri agimar Software applicativo 1 31-03-2009 11.42.38
Google Blocco Note 1.0.2.19 / 1.0.0.17 Thor Archivio News Software 0 01-06-2007 09.28.48
[XP/SP2] Controllo in corso del file System primoair Windows 7/Vista/XP/ 2003 2 28-02-2006 21.13.01
Per la felicita di Dav82...JAVA!! Downloader Programmazione 65 29-06-2005 00.22.52
Ricorsione in C NS-1 Programmazione 8 17-07-2004 14.45.23

Orario GMT +2. Ora sono le: 10.35.04.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.