Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
GillesH
Messages : 3 Inscription : dim. 22/oct./2023 10:52
Message
par GillesH » lun. 23/oct./2023 10:11
Bonjour,
question "idiote certainement" d'un débutant en PureBasic
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
Dernière modification par
GillesH le lun. 23/oct./2023 14:01, modifié 1 fois.
boddhi
Messages : 604 Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''
Message
par boddhi » lun. 23/oct./2023 10:35
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"
GillesH
Messages : 3 Inscription : dim. 22/oct./2023 10:52
Message
par GillesH » lun. 23/oct./2023 10:50
Hello Hoddhi,
2 fois merci ! Gilles
boddhi
Messages : 604 Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''
Message
par boddhi » lun. 23/oct./2023 10:53
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.
GillesH
Messages : 3 Inscription : dim. 22/oct./2023 10:52
Message
par GillesH » lun. 23/oct./2023 11:11
Oui... Pourtant c'est bien marqué !
Le concept de constantes comme paramètres de méthodes ne m'est pas habituel. Je me
documente . Cordialement.
boddhi
Messages : 604 Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''
Message
par boddhi » lun. 23/oct./2023 11:22
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...