Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    68

    creazione di un file batch

    vorrei creare un file batch che richiami un'altro programma.
    Come posso fare con visual basic?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Originariamente inviato da depasoft
    vorrei creare un file batch che richiami un'altro programma.
    Come posso fare con visual basic?
    Intendi creare il file batch direttamente da un'applicazione realizzata con Visual Basic?

    Specifica la versione di VB che utilizzi... VB6, VB.NET, ...?

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Ti basta scriverlo come fai con i file sequenziali:
    codice:
      Open "C:\MioBatch.bat" For Append As #1
          Print #1, "@ECHO OFF"
          Print #1, "REM questo è un commento !"
          Print #1, "ECHO."
          Print #1, "ECHO Batch avvio applicazione"
          Print #1, "PAUSE"
          Print #1, "ECHO."
          Print #1, "REM *** Lancia il programma... ***"
          Print #1, "C:\AltroProgramma.exe"
          Print #1, "Exit"
      Close #1
    poi lo lanci con Shell
    codice:
    Shell "C:\MioBatch.bat", vbNormalFocus
    Puoi usare vbHide al posto di vbNormalFocus per lanciare il batch senza che il prompt sia visualizzato. In tal caso però evita di usare il comando PAUSE.

    Se ti interessa sincronizzare l'esecuzione ddel batch, nel caso il tuo codice debba rimanere in attesa fino a quando l'applicazione lanciata non viene chiusa, puoi utilizzare questa funzioncina.
    codice:
    '
    Sub ShellSync(ByVal cmdLine As String, ByVal WindowStyle As VbAppWinStyle)
    ' Esegue Shell sincronizzato
    
        Dim d As Double
        
        d = Shell(cmdLine, WindowStyle)
        
    Ciclo:
      ' Ciclo di attivazione dell'applicazione
      ' shelled, termina alla chiusura dell'applicazione
      On Error GoTo ErrOut
      AppActivate d, True
      GoTo Ciclo
      
    ErrOut:
    
    End Sub
    da richiamare così:
    codice:
      ShellSync "C:\MioBatch.bat", vbNormalFocus
      MsgBox "Applicazione terminata !"
    Ciao ciao
    Simo

  4. #4
    Toglimi un dubbio
    Perchè dichiari come double la variabile che conterrà il percorso?

  5. #5
    Perche' la funzione shell ritorna l'ID del processo che e' un numero.

    Saluti.

  6. #6
    Perche' la funzione shell ritorna l'ID del processo che e' un numero.
    Esattamente per questo !

  7. #7
    Fin qui ci siamo.
    Ma ciò che ritorna è un numero a doppia precisione?

  8. #8
    L'argomento ritornato e' il numero univoco del processo legato all'esecuzione della funzione shell ed e' un numero che probabilmente ha bisogno di parecchie cifre per garantire l'univocita' del processo. Inoltre visto che VB non e' fortemente tipato non farei molto caso a questo aspetto.
    Saluti.
    (

    Comunque per renderti conto meglio di cio' puoi fare:

    msgbox(shell("... file da eseguire ...", modalita'))

    per visualizzare il valore tornato da shell

    )

  9. #9
    tutte le funzioni di sistema in un sistema a 32 bit ritornano esclusivamente interi a 32 bit
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  10. #10
    Originariamente inviato da xegallo
    tutte le funzioni di sistema in un sistema a 32 bit ritornano esclusivamente interi a 32 bit
    Ecco, lo ha detto.
    Interi. Se non ricordo male double è un valore con la virgola...
    Quindi si sarebbe dovuto fare un integer se si cerca il pelo nell'uovo.
    Giusto?

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.