Un simple code :
Source / Exemple :
Type LedConst
L1 As Boolean
L2 As Boolean
L3 As Boolean
L4 As Boolean
L5 As Boolean
L6 As Boolean
L7 As Boolean
End Type
Function SetDiode(ThePicture As PictureBox, PosX As Long, PosY As Long, Optional Direction As Long = 1, Optional LedSize As Long = 400, Optional LedColor As Long = vbRed)
ThePicture.AutoRedraw = True
If Direction = 1 Then
For i = 1 To LedSize / 15
ThePicture.Line (PosX + i, PosY - i)-(PosX + i, PosY + LedSize + i), LedColor
Next i
For i = 1 To LedSize / 15
ThePicture.Line (PosX + (LedSize / 15) + i, PosY - (LedSize / 15) + i)-(PosX + (LedSize / 15) + i, PosY + LedSize + (LedSize / 15) - i), LedColor
Next i
Else
For i = 1 To LedSize / 15
ThePicture.Line (PosY + LedSize + i, PosX + i)-(PosY - i, PosX + i), LedColor
Next i
For i = 1 To LedSize / 15
ThePicture.Line (PosY + LedSize + (LedSize / 15) - i, PosX + (LedSize / 15) + i)-(PosY - (LedSize / 15) + i, PosX + (LedSize / 15) + i), LedColor
Next i
End If
End Function
Function DigitaleNumber(ThePicture As PictureBox, Number As Variant, PosX As Long, PosY As Long, Optional LedSize As Long = 500, Optional LedColor As Long = vbRed)
Dim LedNumber(0 To 9) As LedConst, Bold As Long, R As Long, V As Long, B As Long
LedNumber(0).L1 = True: LedNumber(0).L2 = True: LedNumber(0).L3 = True: LedNumber(0).L4 = True: LedNumber(0).L5 = True: LedNumber(0).L6 = False: LedNumber(0).L7 = True
LedNumber(1).L1 = False: LedNumber(1).L2 = False: LedNumber(1).L3 = True: LedNumber(1).L4 = True: LedNumber(1).L5 = False: LedNumber(1).L6 = False: LedNumber(1).L7 = False
LedNumber(2).L1 = False: LedNumber(2).L2 = True: LedNumber(2).L3 = True: LedNumber(2).L4 = False: LedNumber(2).L5 = True: LedNumber(2).L6 = True: LedNumber(2).L7 = True
LedNumber(3).L1 = False: LedNumber(3).L2 = False: LedNumber(3).L3 = True: LedNumber(3).L4 = True: LedNumber(3).L5 = True: LedNumber(3).L6 = True: LedNumber(3).L7 = True
LedNumber(4).L1 = True: LedNumber(4).L2 = False: LedNumber(4).L3 = True: LedNumber(4).L4 = True: LedNumber(4).L5 = False: LedNumber(4).L6 = True: LedNumber(4).L7 = False
LedNumber(5).L1 = True: LedNumber(5).L2 = False: LedNumber(5).L3 = False: LedNumber(5).L4 = True: LedNumber(5).L5 = True: LedNumber(5).L6 = True: LedNumber(5).L7 = True
LedNumber(6).L1 = True: LedNumber(6).L2 = True: LedNumber(6).L3 = False: LedNumber(6).L4 = True: LedNumber(6).L5 = True: LedNumber(6).L6 = True: LedNumber(6).L7 = True
LedNumber(7).L1 = True: LedNumber(7).L2 = False: LedNumber(7).L3 = True: LedNumber(7).L4 = True: LedNumber(7).L5 = True: LedNumber(7).L6 = False: LedNumber(7).L7 = False
LedNumber(8).L1 = True: LedNumber(8).L2 = True: LedNumber(8).L3 = True: LedNumber(8).L4 = True: LedNumber(8).L5 = True: LedNumber(8).L6 = True: LedNumber(8).L7 = True
LedNumber(9).L1 = True: LedNumber(9).L2 = False: LedNumber(9).L3 = True: LedNumber(9).L4 = True: LedNumber(9).L5 = True: LedNumber(9).L6 = True: LedNumber(9).L7 = True
ThePicture.AutoRedraw = True
ThePicture.Cls
Bold = LedSize / 15
R = Int(LedColor Mod 256)
V = Int((LedColor - R) / 256 Mod 256)
B = Int((LedColor - R) / 256 / 256)
If R > 0 Then R = 75
If V > 0 Then V = 75
If B > 0 Then B = 75
For i = 0 To Len(Number) - 1
If Not LedNumber(Mid(Number, i + 1, 1)).L1 Then Call SetDiode(ThePicture, i * 2 * LedSize + PosX, PosY, 1, LedSize, RGB(R, V, B))
If Not LedNumber(Mid(Number, i + 1, 1)).L2 Then Call SetDiode(ThePicture, i * 2 * LedSize + PosX, PosY + LedSize + Bold * 5, 1, LedSize, RGB(R, V, B))
If Not LedNumber(Mid(Number, i + 1, 1)).L3 Then Call SetDiode(ThePicture, i * 2 * LedSize + (PosX + LedSize + Bold * 5), PosY, 1, LedSize, RGB(R, V, B))
If Not LedNumber(Mid(Number, i + 1, 1)).L4 Then Call SetDiode(ThePicture, i * 2 * LedSize + (PosX + LedSize + Bold * 5), PosY + LedSize + Bold * 5, 1, LedSize, RGB(R, V, B))
If Not LedNumber(Mid(Number, i + 1, 1)).L5 Then Call SetDiode(ThePicture, PosY - Bold * 3, i * 2 * LedSize + (PosX + Bold * 3), 2, LedSize, RGB(R, V, B))
If Not LedNumber(Mid(Number, i + 1, 1)).L6 Then Call SetDiode(ThePicture, PosY + LedSize + Bold, i * 2 * LedSize + (PosX + Bold * 3), 2, LedSize, RGB(R, V, B))
If Not LedNumber(Mid(Number, i + 1, 1)).L7 Then Call SetDiode(ThePicture, PosY + LedSize * 2 + Bold * 6, i * 2 * LedSize + (PosX + Bold * 3), 2, LedSize, RGB(R, V, B))
Next i
For i = 0 To Len(Number) - 1
If LedNumber(Mid(Number, i + 1, 1)).L1 Then Call SetDiode(ThePicture, i * 2 * LedSize + PosX, PosY, 1, LedSize, LedColor)
If LedNumber(Mid(Number, i + 1, 1)).L2 Then Call SetDiode(ThePicture, i * 2 * LedSize + PosX, PosY + LedSize + Bold * 5, 1, LedSize, LedColor)
If LedNumber(Mid(Number, i + 1, 1)).L3 Then Call SetDiode(ThePicture, i * 2 * LedSize + (PosX + LedSize + Bold * 5), PosY, 1, LedSize, LedColor)
If LedNumber(Mid(Number, i + 1, 1)).L4 Then Call SetDiode(ThePicture, i * 2 * LedSize + (PosX + LedSize + Bold * 5), PosY + LedSize + Bold * 5, 1, LedSize, LedColor)
If LedNumber(Mid(Number, i + 1, 1)).L5 Then Call SetDiode(ThePicture, PosY - Bold * 3, i * 2 * LedSize + (PosX + Bold * 3), 2, LedSize, LedColor)
If LedNumber(Mid(Number, i + 1, 1)).L6 Then Call SetDiode(ThePicture, PosY + LedSize + Bold, i * 2 * LedSize + (PosX + Bold * 3), 2, LedSize, LedColor)
If LedNumber(Mid(Number, i + 1, 1)).L7 Then Call SetDiode(ThePicture, PosY + LedSize * 2 + Bold * 6, i * 2 * LedSize + (PosX + Bold * 3), 2, LedSize, LedColor)
Next i
End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.