Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Domanda sul Pascal
Forum - Pascal - Domanda sul Pascal

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
DarkLight (Normal User)
Newbie


Messaggi: 5
Iscritto: 06/01/2008

Segnala al moderatore
Postato alle 23:51
Venerdì, 11/01/2008
Ciao a tutti :)

Problema:

Io ho un programma "master" che gira e che e' arrivato ad un punto che aspetta che premo dei tasti ovviamente per continuare a eseguire altre istruzioni; quindi, mentre aspetta me che digito, questo programma "master" e' ovviamente in attesa;

Ecco il punto:
Io avrei bisogno che ogni tot secondi lui esegua altre istruzioni a prescindere che stia aspettando me o no... (non so' se mi sono spiegato)

E' possibile sempre in pascal mettere in esecuzione un programma "slave" a parte che faccia in modo che ogni tot secondi interagisca nel programma "master" ???????

Vi pregooo ditemi di siiii ;)

PM Quote
Avatar
DarkLight (Normal User)
Newbie


Messaggi: 5
Iscritto: 06/01/2008

Segnala al moderatore
Postato alle 23:54
Venerdì, 11/01/2008
mmm....forse non sono stato molto chiaro... :(

PM Quote
Avatar
Due (Normal User)
Pro


Messaggi: 68
Iscritto: 19/10/2007

Segnala al moderatore
Postato alle 11:22
Sabato, 12/01/2008
Effettivamente non ho capito molto il tuo problema...
Forse ti è utile la funzione "delay()", dove tra parentesi va messo il numero di millisecondi che il programma deve aspettare prima di continuare.

PM Quote
Avatar
John (Ex-Member)
Pro


Messaggi: 191
Iscritto: 18/11/2007

Segnala al moderatore
Postato alle 17:32
Sabato, 12/01/2008
il comandfo delay BLOCCA il programma, non permette di fare altre operazioni.
potresti fare

Codice sorgente - presumibilmente Plain Text

  1. istruzione1;
  2. controllotasti;
  3. delay(1000)
  4. istuzione2;
  5. controllotasti;
  6. delay(1000);



contollo tasti è una proceura che ti devi scrivere per sapere se il tasto è premuto.
se stasera ho tempo provo un codice e poi te lo posto.
:k::k::k::k:

PM Quote
Avatar
Fedingo (Ex-Member)
Newbie


Messaggi: 11
Iscritto: 05/11/2007

Segnala al moderatore
Postato alle 18:08
Domenica, 13/01/2008
Potresti utilizzare la procedura Keypressed. è una funzione boolean che diventa vera se viene premuto un tasto. Esempio:

var c: char;

  Repeat
   Istruzione1;  
  until keypressed= true;
  c:=readkey;

la variabile c è il tasto premuto.
Capito?

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 22:26
Mercoledì, 05/03/2008
Testo quotato

Postato originariamente da Fedingo:

Potresti utilizzare la procedura Keypressed. è una funzione boolean che diventa vera se viene premuto un tasto. Esempio:

var c: char;

  Repeat
   Istruzione1;  
  until keypressed= true;
  c:=readkey;

la variabile c è il tasto premuto.
Capito?


perchè metti :
until keypressed= true; ?
basta anche solo:
until keypressed;
e poi perchè leggi il tasto premuto ?
è inutile...almeno credo...:k:

PM Quote
Avatar
Dark_Limit (Ex-Member)
Expert


Messaggi: 220
Iscritto: 15/01/2008

Segnala al moderatore
Postato alle 23:18
Mercoledì, 05/03/2008
Probabilmente legge il tasto per fare vedere che il programma non è bloccato e per (forse) fare meglio comprendere l'esempio e il suo utilizzo..

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 17:06
Giovedì, 06/03/2008
Testo quotato

Postato originariamente da Dark_Limit:

Probabilmente legge il tasto per fare vedere che il programma non è bloccato e per (forse) fare meglio comprendere l'esempio e il suo utilizzo..


Già forse è per fargli capire meglio il concetto, però non credo sia per far capire che il programma non è bloccato perchè non stampa nulla a video...:k:

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 17:45
Giovedì, 06/03/2008
Qui la soluzione migliore è la programmazione multithreading, di cui il pascal è sprovvisto o che comunque io non conosco.
Effettivamente potresti creare un procedura che richiami ogni volta le istruzioni e una funzione che registri i tasti premuti, ma il tutto sarebbe molto grezzo e difficilmente funzionante in modalità sicura.
Consiglio: implementare il tutto in un altro linguaggio.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo