Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    VB: posso compiere azioni cicliche??

    ciao a tutti, sono unnuovo iscritto ed ho subito una domanda da porvi.
    Ho seguito il breve corso Trattante Visual Basic, ma non mi è chiara una cosa: è possibile programmare delle azioni cicliche a tempo?? (per esempio vorrei creare un programmino che carichi determinati file a distanza di qualche secondo/minuto tra loro!) è possibile?
    Se si mi indicate il codice di programmazione??
    grazie!
    QUELLO CHE VOGLIO.......POSSO !!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    A quale versione di VB facciamo riferimento?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Originariamente inviato da alka
    A quale versione di VB facciamo riferimento?
    5/6 (xkè con quale versione è possibile, se lo è?)
    help!
    QUELLO CHE VOGLIO.......POSSO !!!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Beh ... il codice no, anche perche' non e' chiaro quello che vuoi fare ...

    Caricare file "da dove"?

    "Quali" file?

    Per leggerli in memoria e basta o per elaborarli?

    Per riscriverli?

    Insomma ... qualche dettaglio in piu' ...

    E poi, per le operazioni "a tempo", bisogna capire se ad intervalli (allora c'e' il controllo Timer) o "schedulati" ad un certo orario (allora le cose si complicano ...) ...

  5. #5
    intendo creare un programmino che mandi in esecuzione 2 file.bat.
    Fare in modo che esegua il primo, aspetti 1 minuto e poi esegua il secondo, poi aspetti un'altro minuto e rimndi il primo ..... e così via , eseguendo fino all'infinito i due file.bat fino a quando io non chiudo il programma!
    posso farlo con VB ??? o devo usare un'altro linguaggio?? quale? :master:
    Fatemi sapere!
    QUELLO CHE VOGLIO.......POSSO !!!

  6. #6
    Puoi usare un controllo Timer; purtroppo il timer di VB supporta un intervallo massimo di 32767 millisecondi, per cui per ottenere un intervallo di un minuto dovrai ricorrere a qualche trucco... inserisci nel tuo form un timer, impostane la proprietà Interval a 30000 e inserisci nel codice del form quanto segue:
    codice:
    Option Explicit
    Private halfMinutes As Integer
    
    Private Sub Timer1_Timer()
        Select Case halfMinutes
            Case 1
                '1 minuto
                Shell "filebatch1.bat"
            Case 3
                '2 minuti
                Shell "filebatch2.bat"
        End Select
        halfMinutes = (halfMinutes + 1) Mod 4
    End Sub
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Originariamente inviato da MItaly
    Puoi usare un controllo Timer; purtroppo il timer di VB supporta un intervallo massimo di 32767 millisecondi, per cui per ottenere un intervallo di un minuto dovrai ricorrere a qualche trucco... inserisci nel tuo form un timer, impostane la proprietà Interval a 30000 e inserisci nel codice del form quanto segue:
    codice:
    Option Explicit
    Private halfMinutes As Integer
    
    Private Sub Timer1_Timer()
        Select Case halfMinutes
            Case 1
                '1 minuto
                Shell "filebatch1.bat"
            Case 3
                '2 minuti
                Shell "filebatch2.bat"
        End Select
        halfMinutes = (halfMinutes + 1) Mod 4
    End Sub
    .
    Scusami se ti chiedo cose che a te sembreranno stupide, ma sto imparando ora VB.
    Quindi ricapitolando:1- devo impostare la proprietàinterval a 30000, ma come? e poi 30000 millesecondi sono solo 30 sec!!??? (mi spiegheresti meglio?!
    2- una volta impostato devo inserire nel form i comandi che mi hai postato, sostituendo ad " '1 minuto " con un valore numerico?? quale?
    3- inoltre ovviamente devo anche inserire il nome dei file bat da caricare, ma dove li posiziono?? devo inserire il percorso da dove prenderli o se li trova lui??
    4- una volta creato il programmino, continuerà all'infinito ad eseguire sempre le stesse due operazioni o no??

    Grazie e scusami del disturbo!
    QUELLO CHE VOGLIO.......POSSO !!!

  8. #8
    Originariamente inviato da blakram23
    Scusami se ti chiedo cose che a te sembreranno stupide, ma sto imparando ora VB.
    Quindi ricapitolando:1- devo impostare la proprietàinterval a 30000, ma come?
    1. Aggiungi il controllo Timer al form;
    2. seleziona il suddetto controllo;
    3. nella finestra delle proprietà cerca la sua proprietà "Interval" e impostala a 30000

    e poi 30000 millesecondi sono solo 30 sec!!??? (mi spiegheresti meglio?!
    Il massimo valore che può assumere la proprietà Interval è 32767, ossia poco più di 36 secondi; per poter lavorare con durate più lunghe bisogna ragionare in termini di multipli.
    2- una volta impostato devo inserire nel form i comandi che mi hai postato, sostituendo ad " '1 minuto " con un valore numerico?? quale?
    "1 minuto" e "2 minuti" sono dei commenti, puoi farci quello che vuoi ma comunque il compilatore (e l'interprete) non li considerano. Li ho inseriti solo per fare un po' di chiarezza.
    3- inoltre ovviamente devo anche inserire il nome dei file bat da caricare, ma dove li posiziono?? devo inserire il percorso da dove prenderli o se li trova lui??
    Devi specificarne il percorso, ma se li metti nella cartella del progetto o dell'eseguibile (una volta che il programma sarà compilato) ti basterà scrivere:
    codice:
    Shell App.Path & "nomefilebatch.bat"
    4- una volta creato il programmino, continuerà all'infinito ad eseguire sempre le stesse due operazioni o no??
    Certamente.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    MItaly ,x fortuna che ci sei tu!!

    cmq ti volevo ancora chiedere : secondo il "discorso" dei mulipli impostando l'interval a 30000, a quanto arriva il tempo max ??
    QUELLO CHE VOGLIO.......POSSO !!!

  10. #10
    A quanto vuoi (non proprio... tecnicamente può arrivare fino a 4294967295 x 30 sec = circa 4085 anni ).
    Amaro C++, il gusto pieno dell'undefined behavior.

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