Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: 79137913 en 16 Enero 2012, 16:44 pm



Título: [SUB] <FUNCION> Print7913Char (Imprime en PicBox caracteres tipo Google Fair).
Publicado por: 79137913 en 16 Enero 2012, 16:44 pm
HOLA!!!

Una imagen vale mas que 1000 palabras:

(http://i.imgur.com/sNuCy.png)

Y un link de donde salio la idea (miren abajo de la pagina)
depende la conbinacion de colores que uses
http://www.google.com/intl/en/events/sciencefair/index.html
mira abajo

Código
  1. Private Sub Command1_Click()
  2. Call Print7913Char(Picture1, Text2.Text, RGB(128, 128, 128), RGB(0, 255, 0), 2, 1, 10)
  3. Call Print7913Char(Picture2, Text1.Text, RGB(128, 128, 128), RGB(0, 255, 0), 2, 1, 10)
  4. Call Print7913Char(Picture3, Text3.Text, RGB(128, 128, 128), RGB(0, 255, 0), 2, 1, 10)
  5. Call Print7913Char(Picture4, Text4.Text, RGB(128, 128, 128), RGB(0, 255, 0), 2, 1, 10)
  6. End Sub
  7.  
  8. Private Sub Print7913Char(Pic As PictureBox, expression As String, Optional ColorOff As Long = 8421504, Optional ColorOn As Long = 65280, Optional AnchorOn As Long = 3, Optional AnchorOff As Long = 2, Optional BetweenChars As Long = 0)
  9. Dim ChrPos As String
  10. Dim char(72) As Boolean
  11. Dim charpos(288) As Long
  12. Dim a() As String
  13. Dim AChr As Double
  14. '123456789
  15. '    5      0
  16. ' 25/|\75 1 125
  17. ' /|\|/|\ 2 25
  18. '|\|/|\|/|3 375
  19. '|/|\|/|\|4 500
  20. '|\|/|\|/|5 625
  21. '|/|\|/|\|6 750
  22. ' \|/|\|/ 7 875
  23. '   \|/   8 1000
  24. '                        "99.72X1...72Y1...72X2...72Y2"
  25. ChrPos = "99.0.0.0.500.500.500.0.0.0.0.250.250.250.500.750.750.750.0.0.0.250.500.500.500.750.1000.1000.0.250.250.250.500.750.750.750.1000.0.0.250.500.500.500.750.1000.1000.0.250.250.250.500.750.750.750.1000.0.0.250.500.500.500.750.1000.0.0.0.0.250.500.750.0.0.0.0.0.0.0.0.0.0.0.0.0.125.125.125.125.125.125.125.0.250.250.250.250.250.250.250.250.250.375.375.375.375.375.375.375.375.375.500.500.500.500.500.500.500.500.500.625.625.625.625.625.625.625.625.625.0.750.750.750.750.750.750.750.0.0.0.0.875.875.875.0.0.0.0.0.0.250.500.750.0.0.0.0.0.250.500.500.500.750.1000.0.0.250.250.250.500.750.750.750.1000.0.0.250.500.500.500.750.1000.1000.0.250.250.250.500.750.750.750.1000.0.0.250.500.500.500.750.1000.1000.0.250.250.250.500.750.750.750.0.0.0.0.500.500.500.0.0.0.0.0.0.125.125.125.0.0.0.0.250.250.250.250.250.250.250.0.375.375.375.375.375.375.375.375.375.500.500.500.500.500.500.500.500.500.625.625.625.625.625.625.625.625.625.750.750.750.750.750.750.750.750.750.0.875.875.875.875.875.875.875.0.0.0.0.1000.1000.1000.0.0.0"
  26. Pic.ScaleMode = 3
  27. Pic.DrawWidth = AnchorOff
  28. Pic.Cls
  29. AChr = Pic.ScaleHeight / 1000
  30. a = Split(ChrPos, ".")
  31. For x = 1 To 288
  32. charpos(x) = a(x)
  33. Next
  34. For y = 1 To Len(expression)
  35.    Select Case Asc(Mid(LCase(expression), y, 1))
  36.            Case 48 '0
  37.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  38.            Case 49 '1
  39.                a = Split("9 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0")
  40.            Case 50 '2
  41.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0")
  42.            Case 51 '3
  43.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  44.            Case 52 '4
  45.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0")
  46.            Case 53 '5
  47.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  48.            Case 54 '6
  49.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  50.            Case 55 '7
  51.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0")
  52.            Case 56 '8
  53.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  54.            Case 57 '9
  55.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0")
  56.            Case 97 'a
  57.                a = Split("9 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0")
  58.            Case 98 'b
  59.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  60.            Case 99 'c
  61.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  62.            Case 100 'd
  63.                a = Split("9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  64.            Case 101 'e
  65.                a = Split("9 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  66.            Case 102 'f
  67.                a = Split("9 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0")
  68.            Case 103 'g
  69.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  70.            Case 104 'h
  71.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0")
  72.            Case 105 'i
  73.                a = Split("9 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0")
  74.            Case 106 'j
  75.                a = Split("9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  76.            Case 107 'k
  77.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0")
  78.            Case 108 'l
  79.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  80.            Case 109 'm
  81.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0")
  82.            Case 110 'n
  83.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0")
  84.            Case 111 'o
  85.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  86.            Case 112 'p
  87.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0")
  88.            Case 113 'q
  89.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0")
  90.            Case 114 'r
  91.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0")
  92.            Case 115 's
  93.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  94.            Case 116 't
  95.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0")
  96.            Case 117 'u
  97.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0")
  98.            Case 118 'v
  99.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0")
  100.            Case 119 'w
  101.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0")
  102.            Case 120 'x
  103.                a = Split("9 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0")
  104.            Case 121 'y
  105.                a = Split("9 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0")
  106.            Case 122 'z
  107.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0")
  108.            Case 32 '" "
  109.                a = Split("9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0")
  110.            Case 46 '.
  111.                a = Split("9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0")
  112.            Case Else
  113.                a = Split("9 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0")
  114.    End Select
  115.    For x = 1 To 72
  116.    char(x) = a(x)
  117.    Next
  118.    For x = 1 To 72
  119.        If char(x) Then
  120.            Pic.DrawWidth = AnchorOn
  121.            Pic.Line (((BetweenChars + (AChr * 1000)) * (y - 1)) + charpos(x) * AChr, charpos(x + 72) * AChr)-(((BetweenChars + (AChr * 1000)) * (y - 1)) + charpos(x + 144) * AChr, charpos(x + 216) * AChr), ColorOn
  122.            Pic.DrawWidth = AnchorOff
  123.        Else
  124.            Pic.Line (((BetweenChars + (AChr * 1000)) * (y - 1)) + charpos(x) * AChr, charpos(x + 72) * AChr)-(((BetweenChars + (AChr * 1000)) * (y - 1)) + charpos(x + 144) * AChr, charpos(x + 216) * AChr), ColorOff
  125.        End If
  126.    Next
  127. Next
  128.  
  129. End Sub
  130.  

GRACIAS POR LEER!!!


Título: Re: [SUB] <FUNCION> Print7913Char (Imprime en PicBox caracteres tipo Google Fair).
Publicado por: $Edu$ en 25 Enero 2012, 20:43 pm
Hola! no entendia que es lo que hacia porque a simple vista no se ve, tienes que cerrar un poco los ojos jaja ta bueno el efecto!


Título: Re: [SUB] <FUNCION> Print7913Char (Imprime en PicBox caracteres tipo Google Fair).
Publicado por: MCKSys Argentina en 25 Enero 2012, 21:32 pm
Display de och... emmmm.. VARIOS segmentos...  ;D

Muy bueno!


Título: Re: [SUB] <FUNCION> Print7913Char (Imprime en PicBox caracteres tipo Google Fair).
Publicado por: 79137913 en 26 Enero 2012, 00:06 am
HOLA!!!

XD si, aparte pueden hacer diferentes combinaciones de colores que hacen que quede muy bueno.

para ver de donde saque la idea miren esta web al fondo:
http://www.google.com/intl/en/events/sciencefair/index.html

GRACIAS POR LEER!!!


Título: Re: [SUB] <FUNCION> Print7913Char (Imprime en PicBox caracteres tipo Google Fair).
Publicado por: BlackZeroX en 26 Enero 2012, 00:21 am
Estan curiosas las letras y a su vez llamativas.

 * Usa mejor un array para los numeros y una clase (Initialize) para iniciar los los mismos para que el codigo sea mas legible en el proceso que dibuja.

Dulces Lunas!ˇ.


Título: Re: [SUB] <FUNCION> Print7913Char (Imprime en PicBox caracteres tipo Google Fair).
Publicado por: 79137913 en 26 Enero 2012, 02:05 am
HOLA!!!

Lo decis por las bases de datos de texto que cargo con split?

GRACIAS POR LEER!!!