Advertisement
Hugo7

hPrompteur version 1

Jun 19th, 2016
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.41 KB | None | 0 0
  1. @echo off
  2. :: Prompteur pour parler dans les vidéos. Créé par Hugo7 batch.xoo.it
  3. :: À faire tourner sur un 2e écran.
  4. :: Remplir des fichiers .hPro et les charger.
  5. :: Licence CC-BY-NC (libre, attribution, non commercial)
  6.  
  7. mode con lines=50 cols=120
  8.  
  9. :: Variables à réinitialiser
  10. set fichier=
  11. color 07
  12. set nLigne=-1
  13. :: -
  14.  
  15. :: Variables à configurer
  16. set tempsAffichageMessageInformation=1
  17. set arreterTraitementEnCasDeLigneSyntaxeIncorrecte=oui
  18. :: -
  19.  
  20. :: Ouverture du fichier, on vire les ""
  21. set fichier=%~1
  22. :: -
  23.  
  24. :: Chargement fichier, validation
  25. for %%V in ("%fichier%") do (
  26. if /i not "%%~xV"==".hPro" goto erreurformat
  27. )
  28. :: -
  29.  
  30. :: Affichage compte à rebours
  31. cls
  32. pause
  33. batbox /g 7 5 /c 0x0c /d " /!\ "
  34. batbox /g 0 0 /c 07
  35. echo 3
  36. timeout /t 1 >nul
  37. echo 2
  38. timeout /t 1 >nul
  39. echo 1
  40. timeout /t 1 >nul
  41.  
  42. cls
  43. setlocal enabledelayedexpansion enableextensions
  44. :: Traitement : chaque ligne du fichier texte doit être de forme "a;b;c;d" où a est
  45. :: toujours 0 ou 1 (1 pour afficher le message, 0 pour le masquer), b est le temps
  46. :: d'affichage en secondes, c est la couleur (juste un chiffre ou lettre jusqu'à F),
  47. :: et d est le message en lui-même.
  48. for /f "tokens=1,2,3,* delims=; eol=#" %%M in ('type "%fichier%"') do (
  49. :: %nLigne% sert à positionner le texte à la ligne suivante avec batbox
  50.  set /a nLigne+=1
  51.  if /i "%%M"=="pause" (
  52.   batbox /g 0 !nLigne!
  53.   pause
  54.  )
  55.  if /i "%%M"=="fin" (
  56.   goto fin
  57.  )
  58. :: on regarde si la syntaxe de la ligne est bonne
  59.  if /i not "%%M"=="pause" if /i not "%%M"=="fin" if not "%%M"=="" if not "%%N"=="" if not "%%O"=="" if not "%%P"=="" (
  60.  :: si 1, on affiche, si 0 on masque (dans la ligne du fichier .hPro)
  61.   if "%%M"=="1" (
  62.    batbox /g 0 !nLigne! /c 0x0%%O /d "%%P"
  63.    batbox /k_
  64.   :: Rester appuyé sur ESPACE jusqu'à l'apparition du message "PAUSE" pour mettre sur pause
  65.    if !errorlevel!==32 (
  66.     batbox /c 0x04 /d "PAUSE"
  67.    :: un délai d'attente avant le pause afin de laisser l'utilisateur relâcher ESPACE
  68.     timeout /t 3 >nul
  69.     pause
  70.     )
  71.    timeout /t %%N >nul
  72.   )
  73.  ) else if "%arreterTraitementEnCasDeLigneSyntaxeIncorrecte%"=="oui" goto erreurformat
  74. )
  75.  
  76. :fin
  77. echo.
  78. echo.
  79. color a4
  80. echo Traitement termin‚!
  81. timeout /t %tempsAffichageMessageInformation% >nul
  82. pause
  83. exit
  84.  
  85. :erreurformat
  86. cls
  87. echo Erreur dans le format du fichier.
  88. echo V‚rifiez la syntaxe des lignes.
  89. echo Le fichier doit être en .hPro.
  90. pause
  91. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement