Page 1 sur 1
[..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : ven. 18 sept. 2009 18:57
par splinter29
Bien le bonjour a tous,
J'ai une petite question qui m'est apparu en codant ( Oui , oui mon cerveau travail beaucoup quand je programme

)
Alors n'ayant pas trouvé de vrai réponse je vous la soumet.
Comme vous devez tous le savoir, la fonction Beep possède deux paramètres .Est-il possible de lui donner uniquement le second paramètre de durée, le premier étant par défaut.
Inutile de proposer la réponse "Il suffit de rentrer la fréquence par défaut" cela sortirait du cadre de ma question.
Re: [..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : ven. 18 sept. 2009 19:19
par Iste
Souvent, les fonction utilisent la valeur -1
Sinon, tu peux aussi utiliser Default
mais il faut que la fonction le prévoit
Re: [..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : ven. 18 sept. 2009 19:22
par kay69
Non je ne crois pas mais tu peux faire une fonction qui le fait, du style :
Et pour l'appeler tu a juste a faire "_beep(durée du beep)"
Re: [..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : ven. 18 sept. 2009 20:00
par splinter29
Oé ce serait la solution kay69 puisque le Default ne fonctionne pas , du moins dans le cas du Beep.
Voila une question résolu.
Mais j'ai ai une autre ! Bon bien sur ce ne sont pas des questions existentielles; Elles peuvent très bien être contournées assez facilement. C'est pour cela que je ne vais pas vous embêter a faire un nouveau post.
Alors, dans le cas d'un pixelsearch on nous propose une variation possible de la couleur. Quelle méthode emploieriez-vous dans une instruction conditionnelle pour ne pas avoir une seul couleur mais un panel plus ou moins large ?
par exemple pour simplifier cette expression
Code : Tout sélectionner
$a = pixelgetcolor(500,500)
If $a = 0x0000FF or $a = 0x0000FE or $a = 0x000100 then
...
(Plus très sur des notation hexadécimal

mais ca n'a pas beaucoup d'importance pour l'exemple)
ou alors peut-être serait-il plus judicieux de faire un encadrement comme cela
Si vous avez encore d'autre méthode je suis preneur

Re: [..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : ven. 18 sept. 2009 20:11
par kay69
C'est pour des couleurs prédéfini ou non ?
Si ou tu peux faire comme sa :
Code : Tout sélectionner
Dim $Pixel[999]
$Pixel[0] = 0x0000FF
$Pixel[1] = 0x0000FE
$Pixel[2] = 0x000100
$i = 0
$a = pixelgetcolor(500,500)
While 1
If $Pixel[$i]="" Then
MsgBox(0, "Erreur", "Le pixel trouvé n'est pas un de ceux noté")
Exit
EndIf
If $a = $Pixel[$i] Then
...
ExitLoop
Else
$i=$i+1
EndIf
WEnd
Re: [..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : ven. 18 sept. 2009 22:25
par splinter29
Là pour le coup ca ne conviendrait pas Kay69. J'aurais peut-être du être un peu plus explicite au niveau de mon code a savoir:
Code : Tout sélectionner
$a = pixelgetcolor(500,500)
If $a = 0x0000FF or $a = 0x0000FE or $a = 0x000100 [color=#BF0000]or ... or $a = 0x****** [/color]then
...
Ce serait vraiment un intervalle de couleur soit non défini pour l'instant soit trop important pour en faire un tableau manuellement.
Quelqu'un connaitrait-il le fonctionnement du paramètre Shade-variation pour que je puisse m'en inspirer ?
Re: [..] Ne pas ecrire le 1er parametre d'une fonction ?
Posté : sam. 19 sept. 2009 19:46
par kay69
Je viens de faire 2 fonction pour faire des variation je ne les ai pas tester par contre ^^ regarde si sa te vas :
Code : Tout sélectionner
; _variationbasse($couleur, $Variation)
; _variationhaute($couleur, $Variation)
; $Couleur = Couleur du pixel en hexadecimal (ex: "0xFF00FF")
; $Variation = un nombre en 0 et 255 pour indiquer le nombre de variation du rouge, bleu, et vert
; Les fonctions retourne le code couleur varier ex _variationbasse("0xFF00FF", 1) Retourne = "0xFE00FE"
Func _variationbasse($couleur, $Variation)
$CodeCouleur=StringReplace($Couleur, "0x", "")
$Couleur=StringSplit($CodeCouleur, "")
$R=$Couleur[1]&$Couleur[2]
$V=$Couleur[3]&$Couleur[4]
$B=$Couleur[5]&$Couleur[6]
$Rouge=Dec($R)
$Vert=Dec($V)
$Bleu=Dec($B)
$Rougevardec=$Rouge-$Variation
$Vertvardec=$Vert-$Variation
$Bleuvardec=$Bleu-$Variation
If $Rougevardec>0 Then
$Rougevar=Hex($Rougevardec, 2)
Else
$Rougevar=Hex(0, 2)
EndIf
If $Vertvardec>0 Then
$Vertvar=Hex($Vertvardec, 2)
Else
$Vertvar=Hex(0, 2)
EndIf
If $Bleuvardec>0 Then
$Bleuvar=Hex($Bleuvardec, 2)
Else
$Bleuvar=Hex(0, 2)
EndIf
$Couleurvar="0x"&$Rougevar&$Vertvar&$Bleuvar
Return $Couleurvar
EndFunc
Func _variationhaute($couleur, $Variation)
$CodeCouleur=StringReplace($Couleur, "0x", "")
$Couleur=StringSplit($CodeCouleur, "")
$R=$Couleur[1]&$Couleur[2]
$V=$Couleur[3]&$Couleur[4]
$B=$Couleur[5]&$Couleur[6]
$Rouge=Dec($R)
$Vert=Dec($V)
$Bleu=Dec($B)
$Rougevardec=$Rouge+$Variation
$Vertvardec=$Vert+$Variation
$Bleuvardec=$Bleu+$Variation
If $Rougevardec<255 Then
$Rougevar=Hex($Rougevardec, 2)
Else
$Rougevar=Hex(255, 2)
EndIf
If $Vertvardec<255 Then
$Vertvar=Hex($Vertvardec, 2)
Else
$Vertvar=Hex(255, 2)
EndIf
If $Bleuvardec<255 Then
$Bleuvar=Hex($Bleuvardec, 2)
Else
$Bleuvar=Hex(255, 2)
EndIf
$Couleurvar="0x"&$Rougevar&$Vertvar&$Bleuvar
Return $Couleurvar
EndFunc