Page 1 sur 1
[..] Problème inconnu sur mon script
Posté : mer. 30 mars 2011 21:21
par SpikouSsS
alors voila :
Code : Tout sélectionner
$passmaman = "Valérie"
$passmaman2 = "valérie"
$passmaman3 = "valerie"
$passmaman4 = "Valerie"
$passpapa = "Arnaud"
$passpapa2 = "arnaud"
$passpapa3 = "Arno"
$passpapa4 = "arno"
$input = InputBox("détecteur de précense", "Entrez votre nom :")
If (($input <> $passmaman) And ($input <> $passmaman2) And ($input <> $passmaman3) And ($input <> $passmaman4)) Then
MsgBox(0,"détecteur de précense", "vous n'êtes pas enregistré!")
Exit
Else
MsgBox(0,"détecteur de présence", "bienvenue Valérie!")
Exit
EndIf
If (($input <> $passpapa) And ($input <> $passpapa2) And ($input <> $passpapa3) And ($input <> $passpapa4)) Then
MsgBox(0, "détecteur de précense", "vous n'êtes pas enregistré!")
Exit
Else
MsgBox(0, "détecteur de précense", "bienvenue Arnaud!")
Exit
EndIf
le but de ce code est : je rentre le nom de la personne et le script me dit "bienvenue Valérie " ou "bienvenue arnaud" si le nom est bon et "vous n'êtes pas enregistré" si il est faut.
mais le probleme est que : avec "bienvenue valérie " sa marche trés bien mais avec l'autre sa me donne toujours "vous n'êtes pas enregistré" et je ne comprend pas pourquoi. merci de me dire mon erreur
PS: pardonnez mes fautes d'orthographe svp ^^"
SpikouSsS
Re: [..] problème inconnu sur mon script
Posté : mer. 30 mars 2011 21:29
par SpikouSsS
Code : Tout sélectionner
$passmaman = "Valérie"
$passmaman2 = "valérie"
$passmaman3 = "valerie"
$passmaman4 = "Valerie"
$passpapa = "Arnaud"
$passpapa2 = "arnaud"
$passpapa3 = "Arno"
$passpapa4 = "arno"
$input = InputBox("détecteur de précense", "Entrez votre nom :")
If (($input <> $passmaman) Or ($input <> $passmaman2) Or ($input <> $passmaman3) Or ($input <> $passmaman4)) Then
MsgBox(0,"détecteur de précense", "vous n'êtes pas enregistré!")
Exit
Else
MsgBox(0,"détecteur de présence", "bienvenue Valérie!")
Exit
EndIf
If (($input <> $passpapa) Or ($input <> $passpapa2) Or ($input <> $passpapa3) Or ($input <> $passpapa4)) Then
MsgBox(0, "détecteur de précense", "vous n'êtes pas enregistré!")
Exit
Else
MsgBox(0, "détecteur de précense", "bienvenue Arnaud!")
Exit
EndIf
j'ai changer sa fait toujours pareil
Re: [..] problème inconnu sur mon script
Posté : mer. 30 mars 2011 21:41
par xeno
Je ne suis pas le mieux placé mais ce sera plus fonctionnel ainsi
Code : Tout sélectionner
If ($input = $passmaman) or ($input = $passmaman2) or ($input = $passmaman3) or ($input = $passmaman4) Then
MsgBox(0,"détecteur de présence", "bienvenue Valérie!")
Exit
Else
If ($input = $passpapa) or ($input = $passpapa2) or ($input = $passpapa3) or ($input = $passpapa4) Then
MsgBox(0, "détecteur de présence", "bienvenue Arnaud!")
Exit
Else
MsgBox(0, "détecteur de présence", "vous n'êtes pas enregistré!")
Exit
EndIf
EndIf
Re: [..] problème inconnu sur mon script
Posté : jeu. 31 mars 2011 00:01
par Tlem
Bien compliqué tout ça !!!
Voici au plus simple :
► Afficher le texte
Code : Tout sélectionner
$passmaman = "valérie, valerie" ; inutile de préciser majuscule et/ou minuscule.
$passpapa = "arnaud, arno"
$input = InputBox("détecteur de présence", "Entrez votre nom :")
Select
Case StringInStr($passmaman, $input)
MsgBox(0, "détecteur de présence", "bienvenue Valérie!")
Case StringInStr($passpapa, $input)
MsgBox(0, "détecteur de présence", "bienvenue Arnaud!")
Case Else
MsgBox(0,"détecteur de présence", "vous n'êtes pas enregistré!")
EndSelect
Exit
Re: [..] problème inconnu sur mon script
Posté : jeu. 31 mars 2011 10:06
par zeshrek
Ouais !!! Youpi, encore un jeu ou chacun doit proposer une facon différente de résoudre le même problème.
Donc voici ma contribution :
► Afficher le texte
Code : Tout sélectionner
MsgBox(0, "Détecteur de présence", "bienvenue " & _login()) ; zou, on concatenne l'appel a la fonction de login dans la fenetre d'accueil
; ici la suite du programme apres login
Func _login()
local $i,$j
Dim $Pass[2][2] = [["Valérie", "valerie"],["Arnaud", "arno"]] ; un tableau ou le premier nom de chaque colonne est la 'bonne' orthographe du nom
For $essai = 1 To 3
$input = InputBox("Essai N° " & $essai, "Détecteur de présence" & @CRLF & "Entrez votre nom :")
For $i = 0 To UBound($Pass, 1)-1
For $j = 0 To UBound($Pass, 2)-1
If StringUpper($Pass[$i][$j]) = StringUpper($input) Then Return $Pass[$i][0]
Next
Next
Next
MsgBox(0, "Détecteur de présence", "3 echecs consécutifs,"&@crlf&"vous n'êtes pas enregistré!")
Exit
EndFunc
Re: [..] problème inconnu sur mon script
Posté : ven. 01 avr. 2011 00:46
par Tlem
C'est une façon de voir, mais c'est quand même moins simple à comprendre pour un débutant.
Au final, si cela est un jeu, mon code peut être résumé à ceci :
► Afficher le texte
Code : Tout sélectionner
Global $passmaman = "valérie, valerie", $passpapa = "arnaud, arno", $Title = "détecteur de présence", $input = InputBox($Title, "Entrez votre nom :")
Select
Case StringInStr($passmaman, $input)
MsgBox(0, $Title, "bienvenue Valérie!")
Case StringInStr([color=#FF0000]$passmaman[/color], $input)
MsgBox(0, $Title, "bienvenue [color=#FF0000]Arnaud[/color]!")
Case Else
MsgBox(0,$Title, "vous n'êtes pas enregistré!")
EndSelect
Soit 8 lignes

Re: [..] Problème inconnu sur mon script
Posté : ven. 01 avr. 2011 10:55
par jchd
Code : Tout sélectionner
Case StringInStr($passpapa, $input)
MsgBox(0, $Title, "bienvenue Arnaud!")
Case Else
Si maman en avait, on l'appellerait papa

Re: [..] Problème inconnu sur mon script
Posté : ven. 01 avr. 2011 16:58
par Tlem
Heuuuu, oups !!!

Re: [..] problème inconnu sur mon script
Posté : ven. 01 avr. 2011 22:05
par sylvanie
zeshrek a écrit :Ouais !!! Youpi, encore un jeu ou chacun doit proposer une facon différente de résoudre le même problème.
Pareil ! ^^
► Afficher le texte
Code : Tout sélectionner
$input = InputBox("détecteur de précense", "Entrez votre nom :")
If Not userexist($input) Then
MsgBox(16,"Non Authentifé","Vous n'êtes pas reconnu")
Else
MsgBox(0,"Bienvenu","Bonjour "&StringUpper($input))
EndIf
Func userexist($user)
Local $candiat[2]=["val(e|é)rie","arn(o|aud)"]
Local $ind
For $ind=0 To UBound($candiat)-1
If StringRegExp($user,"\A(?i)"&$candiat[$ind]&"\Z")<>0 Then Return 1
Next
Return 0
EndFunc
Re: [..] Problème inconnu sur mon script
Posté : ven. 01 avr. 2011 22:07
par SpikouSsS
merci pour toutes vos réponces (même si ya des trucs que j'ai pas compris mais c'est pas grave)

Re: [..] Problème inconnu sur mon script
Posté : ven. 01 avr. 2011 22:31
par zeshrek
Spikouss, si tu veux pas que le jeu continue, passe ton msg en [R]
Re: [..] Problème inconnu sur mon script
Posté : sam. 02 avr. 2011 00:21
par xeno
c'est génial ce genre de réponse, cela permet de mieux comprendre je dirais..
dommage que personne ne soit aussi inspiré pour mon problème
Re: [R] Problème inconnu sur mon script
Posté : sam. 02 avr. 2011 19:41
par SpikouSsS
encore une fois merci beaucoup ^^ (pour fermer)
Re: [..] Problème inconnu sur mon script
Posté : sam. 02 avr. 2011 21:05
par overflow
Et en ultra light ^^
Code : Tout sélectionner
$nam=InputBox("détecteur de présence","Entrez votre nom :")
If StringInStr("valérievaleriearnaudarno",$nam) Then
MsgBox(0, "détecteur de présence", "bienvenue " & $nam)
Else
MsgBox(0,"détecteur de présence", "vous n'êtes pas enregistré!")
EndIf
Re: [..] Problème inconnu sur mon script
Posté : sam. 02 avr. 2011 22:32
par zeshrek
Overflow, ton script est tres compact... peut etre trop. Tu as saccrifié l'efficacité a la compacité.
Si en mot de passe je tappe juste une lettre, au hasard, le 'e' , bin ca marche. Donc a mon avis, tu vas etre recalé...
@spikousss, c'est sur le premier message qu'il faut mettre le R

Re: [..] Problème inconnu sur mon script
Posté : lun. 04 avr. 2011 01:38
par overflow
zeshrek a écrit :Overflow, ton script est tres compact... peut etre trop. Tu as saccrifié l'efficacité a la compacité.
Si en mot de passe je tappe juste une lettre, au hasard, le 'e' , bin ca marche. Donc a mon avis, tu vas etre recalé...
et d ailleurs cette erreur est presente sur tout les script utilisant "StringInStr" ^^
Re: [..] Problème inconnu sur mon script
Posté : lun. 04 avr. 2011 06:50
par Tlem
Très juste (je suis surpris d'avoir laissé passé ça ...).
Voici une autre version, plus facilement intégrable dans un code :
Code : Tout sélectionner
Global $apass[4] = ["valérie", "valerie", "arnaud", "arno"], $Title = "détecteur de présence"
TestPass(InputBox($Title, "Entrez votre nom :"))
MsgBox(0, $Title, "La suite du code")
Func TestPass($strInput)
For $i = 1 To UBound($apass) - 1
If $strInput = $apass[$i] Then
MsgBox(0, $Title, "bienvenue " & $apass[$i] & "!")
Return
EndIf
Next
MsgBox(0, $Title, "vous n'êtes pas enregistré!")
Exit
EndFunc ;==>TestPass
Re: [..] Problème inconnu sur mon script
Posté : lun. 04 avr. 2011 12:27
par zeshrek
overflow a écrit :et d ailleurs cette erreur est presente sur tout les script utilisant "StringInStr" ^^
Cépafo !
J'avais pas vu que le boss avait fait la même !