Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

C'e' un DELAY() in VB?

131 views
Skip to first unread message

Paolo Rosa

unread,
Jan 18, 1999, 3:00:00 AM1/18/99
to
Ciao a tutti!
e' da pochissimo che ho iniziato a programmare in
Visual Basic, prima lavorar\vo su Pascal e Delphi.

Ebbene... c'e' in Visual Basic una funzione analoga alla DELAY() del
Pascal? Una funzione cioe' che faccia passare tot secondi (o
centesimi di secondo) senza fare nulla?

Grazie!

Ciao, Paolo.

SW

unread,
Jan 19, 1999, 3:00:00 AM1/19/99
to
On Mon, 18 Jan 1999 22:07:39 GMT, paolo...@usa.net (Paolo Rosa)
wrote:

FACILE...

Public Sub Delay(Secondi as integer)
Dim start As Single
start = Timer
Do While Timer < start + delay
DoEvents
Loop
End Sub


PS il doevents e' necessario per non bloccare tutti gli altri
processi...
SW.

Francesco C.

unread,
Jan 19, 1999, 3:00:00 AM1/19/99
to

SW ha scritto nel messaggio <36a43b05...@194.243.161.66>...

>On Mon, 18 Jan 1999 22:07:39 GMT, paolo...@usa.net (Paolo Rosa)
>wrote:
>
>>Ciao a tutti!
>> e' da pochissimo che ho iniziato a programmare in
>>Visual Basic, prima lavorar\vo su Pascal e Delphi.
>>
>>Ebbene... c'e' in Visual Basic una funzione analoga alla DELAY() del
>>Pascal? Una funzione cioe' che faccia passare tot secondi (o
>>centesimi di secondo) senza fare nulla?
>>
>
>FACILE...
>
>Public Sub Delay(Secondi as integer)
> Dim start As Single
> start = Timer
> Do While Timer < start + delay
> DoEvents
> Loop
>End Sub
>


E se start + delay superano la mezzanotte ?

Ciao
Francesco C.


Gian Michele Bertoni

unread,
Jan 19, 1999, 3:00:00 AM1/19/99
to
Paolo Rosa ha scritto nel messaggio
<36a3ad0...@news.interbusiness.it>...

>Ebbene... c'e' in Visual Basic una funzione analoga alla DELAY() del
>Pascal? Una funzione cioe' che faccia passare tot secondi (o
>centesimi di secondo) senza fare nulla?

Puoi usare anche la funzione Sleep del Kernel. La trovi nelle API.
Questa funzione "congela" il tuo thread per il tempo specificato. Non va
bene se la tua applicazione ha timers attivi, poiche' anch'essi vengono
congelati. E' ottima, invece, se ci sono altri threads o processi
diversi da quello cui chiami Sleep, perche' tempo di CPU viene dedicato
a loro.

Ciao

Gian Michele Bertoni
--
Home Page: http://space.tin.it/computer/gbertoni/

>Ciao a tutti!
> e' da pochissimo che ho iniziato a programmare in
>Visual Basic, prima lavorar\vo su Pascal e Delphi.
>
>

>Grazie!
>
>
>
>Ciao, Paolo.

SW

unread,
Jan 20, 1999, 3:00:00 AM1/20/99
to
On Tue, 19 Jan 1999 16:00:50 +0100, "Francesco C."
<rimuover...@tin.it> wrote:


>E se start + delay superano la mezzanotte ?

E' vero ho controllato....


SW.

Fulvio Senore

unread,
Jan 20, 1999, 3:00:00 AM1/20/99
to
On Mon, 18 Jan 1999 22:07:39 GMT, paolo...@usa.net (Paolo Rosa)
wrote:

>Ciao a tutti!


> e' da pochissimo che ho iniziato a programmare in
>Visual Basic, prima lavorar\vo su Pascal e Delphi.
>

>Ebbene... c'e' in Visual Basic una funzione analoga alla DELAY() del
>Pascal? Una funzione cioe' che faccia passare tot secondi (o
>centesimi di secondo) senza fare nulla?
>

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

A questo punto l'istruzione

Sleep(100)

manda a dormire il tuo programma per un decimo di secondo (senza
consumare CPU).

Ciao


--------------------------------------------------------------------
Fulvio Senore

Eliminate "zz" dall'indirizzo e-mail per scrivermi (spammers...)
Remove "zz" from e-mail address to write me (spammers...)
--------------------------------------------------------------------

Blisset

unread,
Jan 20, 1999, 3:00:00 AM1/20/99
to
>E se start + delay superano la mezzanotte ?

Si aspettano 24 ore in più.

>Ciao
>Francesco C.

Paolo Rosa

unread,
Jan 20, 1999, 3:00:00 AM1/20/99
to
On Wed, 20 Jan 1999 17:51:35 GMT, fulzz...@tin.it (Fulvio Senore)
wrote:

>>Ebbene... c'e' in Visual Basic una funzione analoga alla DELAY() del
>>Pascal? Una funzione cioe' che faccia passare tot secondi (o
>>centesimi di secondo) senza fare nulla?
>
>Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
>A questo punto l'istruzione
>Sleep(100)
>manda a dormire il tuo programma per un decimo di secondo (senza
>consumare CPU).

Grazie mille a tutti!
Risolto :)

Solo una cosa.... lo so che dovra' necessariamente essere una
stronzata ma non ho trovato nell'help nessun chiarimento:

Per cosa si mette il segno del dollaro dopo una variabile o una
funzione? Chr$() o Buffer$
Cosa sta ad indicare?

Scusate ma....


Ciao, Paolo.

Francesco C.

unread,
Jan 21, 1999, 3:00:00 AM1/21/99
to

Blisset ha scritto nel messaggio <785i69$d1$6...@nslave1.tin.it>...

>>E se start + delay superano la mezzanotte ?
>
>Si aspettano 24 ore in piů.


No non si esce piů

SW

unread,
Jan 21, 1999, 3:00:00 AM1/21/99
to
On Wed, 20 Jan 1999 17:51:35 GMT, fulzz...@tin.it (Fulvio Senore)
wrote:

>Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
>
>A questo punto l'istruzione
>
>Sleep(100)

Interessante....

SW.

A. A. Martinoli

unread,
Jan 21, 1999, 3:00:00 AM1/21/99
to
1) Altro metodo di delay()

Sub Sleep (delay As Double)
'Attende "delay" secondi prima di proseguire
Dim tempTime As Double
tempTime = Timer
While Timer - tempTime < delay
DoEvents
If Timer < tempTime Then
tempTime = tempTime - 24# * 3600#
End If
Wend
End Sub

2) Il carattere di definizione di tipo serve a forzare il tipo di dato che
riporta una funzione.
Dato dim x as variant
Se invochi
x=chr(65)
x sarà di tipo "variant", chr(65) sarà anche lui "variant"
se invochi
x=chr$(65)
x sarà di tipo "variant" ma chr$(65) verrà forzato come tipo "string" e
quindi avviene la conversione da string a variant.

In generale, a parere mio, i caretteri identificatori di tipo servono più
che altro per mantenere un certo grado di compatribilità con lo standard del
BASIC e con i vecchi compilatori Microsoft

Hi to all

Andrea Alberto "Jack" Martinoli
From Italy with a smile! :-)
aa.mar...@pccom.it
andrea.m...@manpower.it


Paolo Rosa ha scritto nel messaggio

<36a64d52...@news.interbusiness.it>...


>On Wed, 20 Jan 1999 17:51:35 GMT, fulzz...@tin.it (Fulvio Senore)
>wrote:
>

>>>Ebbene... c'e' in Visual Basic una funzione analoga alla DELAY() del
>>>Pascal? Una funzione cioe' che faccia passare tot secondi (o
>>>centesimi di secondo) senza fare nulla?
>>

>>Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
>>A questo punto l'istruzione
>>Sleep(100)

Blisset

unread,
Jan 22, 1999, 3:00:00 AM1/22/99
to

SW ha scritto nel messaggio <36a50e85....@194.243.161.66>...

>On Tue, 19 Jan 1999 16:00:50 +0100, "Francesco C."
><rimuover...@tin.it> wrote:
>
>
>>E se start + delay superano la mezzanotte ?
>
>E' vero ho controllato....

Hai aspettato 24 ore davanti al PC ?

>SW.


GIAN

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
che quella variabile e' una stringa

ciao

SW

unread,
Jan 25, 1999, 3:00:00 AM1/25/99
to
On Fri, 22 Jan 1999 22:59:01 +0100, "Blisset" <bli...@i.am> wrote:


>
>Hai aspettato 24 ore davanti al PC ?
>

Si puo fare di meglio :-)))
Cambi l'ora a 23.59 e aspetti con il programma delay in esecuzione...

SW.

0 new messages