Page 1 sur 1

[OK] Fermer un programme dans une structure If

Publié : lun. 23/oct./2023 10:11
par GillesH
Bonjour,

question "idiote certainement" d'un débutant en PureBasic :oops:

J'ai la structure de programme suivante :

Code : Tout sélectionner

Global appliNameWO.s =""

Procedure.s GetFileNameWithoutExtension(aName.s)
  result.s = ""
  [...]
  ProcedureReturn result
EndProcedure

Procedure AlertThread(Parameter)
  Repeat
    [...]
    Delay(15000)
  ForEver
EndProcedure

appliNameWO.s = GetFileNameWithoutExtension(GetFilePart(ProgramFilename()))
If appliNameWO.s = "" 
  Debug "Stop appliNameWO"
 ;CloseProgram() ???
EndIf  

CreateThread(@AlertThread(), 0)

MessageRequester("Info", "Click to finish the program", #PB_MessageRequester_Ok)
Comment puis-je fermer le programme dans la structure If ? Merci. Cordialement. Gilles

Re: Fermer un programme dans une structure If

Publié : lun. 23/oct./2023 10:35
par boddhi
Salut,

1) Je ne sais pas ce que contient ta procédure GetFileNameWithoutExtension mais la commande PB GetFilePart() dispose de l'option #PB_FileSystem_NoExtension qui peut peut-être satisfaire simplement ton besoin.
2) Pour fermer ton appli, tu utiliseras la commande End

Code : Tout sélectionner

Global appliNameWO.s=GetFilePart(ProgramFilename(),#PB_FileSystem_NoExtension)

; Décommmenter la ligne ci-dessous pour pouvoir valider le test
;appliNameWO=""
If appliNameWO=""
  Debug "Stop appliNameWO"
  End
EndIf
Debug "Conitnuation du programme"

Re: Fermer un programme dans une structure If

Publié : lun. 23/oct./2023 10:50
par GillesH
Hello Hoddhi,

2 fois merci ! Gilles

Re: Fermer un programme dans une structure If

Publié : lun. 23/oct./2023 10:53
par boddhi
PS : N'hésite pas à abuser de la touche F1 sur les mots-clé de PB (Note : avec la parenthèse ouvrante lorsque celle-ci est nécessaire) qui te permettra d'accéder à l'aide de la commande/fonction concernée.

Re: Fermer un programme dans une structure If

Publié : lun. 23/oct./2023 11:11
par GillesH
Oui... Pourtant c'est bien marqué ! :oops: Le concept de constantes comme paramètres de méthodes ne m'est pas habituel. Je me documente. Cordialement.

Re: Fermer un programme dans une structure If

Publié : lun. 23/oct./2023 11:22
par boddhi
L'existence et l'emploi de constantes ne sont là que pour faciliter la vie du développeur :

Code : Tout sélectionner

NomFichier.s="MonNomDeFichier.txt"
Debug "#PB_FileSystem_NoExtension = "+#PB_FileSystem_NoExtension

Debug GetFilePart(NomFichier,0)
; équivaut à :
Debug GetFilePart(NomFichier)

; et

Debug GetFilePart(NomFichier,1)
; équivaut à :
Debug GetFilePart(NomFichier,#PB_FileSystem_NoExtension)
#PB_FileSystem_NoExtension est visuellement plus parlant que '1' dont on ne sait pas au premier abord à quoi cette valeur correspond.

Remplace la valeur 0 ou 1 par une autre valeur et tu constateras le résultat...