Newsgroup: it.comp.lang.c
Titolo: dilettant stressant

ciao a tutti, avrei due domande e se qualcuno potrebbe darmi una mano gli
mando volentieri
la mia benedizione (vabbè insomma si fa quel che si può).
1)Esiste una funzione che ripulisce lo schermo (msdos) e riporta il cursore
in alto a sinistra?
grazie.
2)Ho creato un programma che richiede una password ma avrei bisogno di
sapere quanto tempo è passato dal momento della richesta della password al
momento in cui l'utente l'ha effettivamente inserita.
Non posso usare un semplice contatore(ovviamente) perchè nel momento in cui
richiede l'inserimento
della password ( uso gets() ) il ciclo del programma si ferma in attesa.
Come posso fare?
grazie.
ps.Ovviamente sono un un dilettante principiante spasimante annoiante
stressante....auto-non-didatta del linguaggio C.

 Non posso usare un semplice contatore(ovviamente) perchč nel momento in


 Come posso fare?
salva il valore dell'orologio prima della richiesta, poi presenta la
richiesta della password e risalva l'orologio al termine dell'inserimento.
Poi con la differenza dei tempi...
Tutto ciņ che ti serve č in time.h.(localtime, difftime,...)
Riz

ok grazie ora ci provo.
ciao

scusa ma non ci riesco, come si fa? cosa devo scrivere nel codice?
l'avevo detto che ero stressante!
Dai mi dai una mano please?
ciao grazie.

non funziona+ACE- Ho provato anche ad inserire +ACM-include+ADw-conio.h+AD4-
ed a inserire invece di cls(che ho provato) system(+ACI-clear+ACI-)
ma niente ecco il mex di errore:
11 c:+AFw-docume+AH4-1+AFw-untitl+AH4-1.cpp
 initialization to +AGA-int' from +AGA-char +ACo-' lacks a cast

 ha scritto nel messaggio
news:1WFD6.38619$r67.8...@news2.tin.it...

ma che compilatore usi....e in più che cosa usi per scrivere i tuoi post?

 ciao a tutti, avrei due domande e se qualcuno potrebbe
^^^^^^^^
potesse
darmi una mano gli mando volentieri
                             ^^^^^
                            manderei

grazie.
Ciao.
Mi permetto di scrivere la mia..., non sono un esperto...
Se usi quella funzione (gets()) sul monitor chiunque vedra' la
password mentre viene digitata.
Vedo che chiedi una funzione non portabile per cancellare lo schermo,
percio' non portabile per non portabile... 
Usa getch().
Leggo dall'help del DJGPP che l'input non e' bufferizzato e non appare
sullo schermo.
Cio' vuol dire che 
1) non viene visualizzata la password... tipo in Linux, qundo fai il
login
2) puoi fare tutto all'interno di un ciclo e quindi memorizzare l'ora
prima di entrarvi e aggiornare continuamente il differenziale da quel
dato... e uscire dalla richiesta di password dopo es.. 1 minuto...
come i bancomat...
Spero di averti dato un buon input... 
Igor Rossetti

 cui richiede l'inserimento della password ( uso gets() ) il ciclo del programma si ferma in attesa.
Semplice!
ti scrivi una tua funzione di input
esempio: 
// Questo esempio funge in ms-dos e windows - no os/2 o *nix
void insert_pass(char *pass)
{
	char c;
	do {
// Qui ti metti il contatore del timer		
		*pass=getch();
// Qui n'altro così sai quanto tempo ci ha impiegato a mettere la
password!
		if (pass == 0x00 || pass == 0x0d || ox0a) c=0;
		else c=*pass;
		pass++;
	} while (c != 0);	
}

 ha scritto nel messaggio
news:fGFD6.38555$r67.8...@news2.tin.it...

Ti consiglio qualcosa di simile (č pari pari un esempio del Turbo C, al
quale ho fatto minime modifiche)
#include <time.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>
int main(void)
{
   time_t first, second;
   char password[20];
   clrscr();
   printf("Inserisci la password: ");
   first = time(NULL);  /* salvo in "first" il tempo attuale */
   scanf("%s", password);
   second = time(NULL); /* salvo in "second" il tempo attuale */
   printf("\n\nL'utente ha impiegato %f secondi ad inserire la
password\n",difftime(second,first));  /* la differenza dei tempi č un float
*/
   return 0;
}
poi sono assolutamente d'accordo con Igor sul fatto che non sia molto furbo
fare vedere la password in chiaro...
E' sicuramente meglio fare una routine a parte per fare vedere solo degli
asterischi o qualcosa di simile, magari con una richiesta di conferma.(si
vede che uso Linux?). Questo č solo per fare il calcolo del tempo (in
secondi)
Riz

>ma che compilatore usi....e in pi? cosa usi per scrivere i tuoi post?
dunque uso il ..aspetta che guardo...il Dev++( è un rottame?).
Per quanto riguarda i post guarda mi viene una rabbia ..ogni volta che apro
Outlook mi ritrovo le impostazioni dei caratteri settate su UNICODE
che non so nemmeno cosa diavolo sia...e mi sballa i mex sia in andata che in
uscita...devo stare ogni volta a regolare settare...grrr...

}
ti dico la verità non è che ci abbia capito molto.
cosa significa pass==0x00 pass==0x0d ecc?
ciao grazie
stressant

grazie mille ora ci provo.

                            manderei
ecciaiii raggione .....

Igor Rossetti
Certamente, grazie mille!

Evvai, problema risolto!
Ovviamente ti devo RI-ringraziare.
Un dilettante raggiante (ma non brillante)