Advertisement
juanesperanza

principal.bas

Mar 4th, 2014
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Private Sub Form_activate()
  3.  
  4. Dim textolinea As String
  5. Dim textoleido As String
  6.  
  7.     Open ruta For Input As #1
  8.      
  9.     Do Until EOF(1)
  10.         Line Input #1, textolinea
  11.         textoleido = textoleido + textolinea + vbCrLf
  12.    
  13.     Loop
  14.     Close #1
  15. '------------------------------
  16. longitud = Len(textoleido)
  17. For a = 1 To longitud
  18. individual = Mid$(textoleido, a, 1)
  19. If (individual <> Chr$(10) Or individual <> Chr$(13)) Then
  20. ult_letra = a
  21.  
  22. End If
  23. Next a
  24. texto_aux = Mid$(textoleido, 1, ult_letra - 2)
  25.  
  26. Text1.Text = texto_aux
  27. '------------------------------
  28.    
  29.    
  30.    
  31. End Sub
  32.  
  33. Private Sub Command1_Click()
  34.     StatusBar1.Panels.Add , "Impresion", "Imprimiendo trabajo.....", sbrText, LoadPicture(App.Path & "\imagenimpresora2.jpg")
  35.     StatusBar1.Panels(1).AutoSize = sbrContents
  36.     label1.Caption = "IMPRIMIENDO"
  37.  
  38.     Call filtro
  39. End Sub
  40. Private Function filtro()
  41.  
  42.  
  43.     mayusculas = 0
  44.     numero = 0
  45.  
  46.  
  47.     For b = 1 To Len(Text1.Text)
  48.         X = Mid$(Text1.Text, b, 1)
  49.         If (X >= "a" And X <= "z") Or (X >= "A" And X <= "Z") Or (X >= "0" And X <= "9") Or (X = " ") Or (X = "á") Or (X = "é") Or (X = "í") Or (X = "ó") Or (X = "ú") Or (X = "Á") Or (X = "É") Or (X = "Í") Or (X = "Ó") Or (X = "Ú") Or (X = "ü") Or (X = ".") Or (X = ",") Or (X = ";") Or (X = ":") Or (X = "-") Or (X = "(") Or (X = ")") Or (X = "¿") Or (X = "?") Or (X = "¡") Or (X = "!") Or (X = "'") Or (X = Chr$(10)) Or (X = Chr$(13)) Then
  50.             filtro_caracter = filtro_caracter + X
  51.         End If
  52.     Next b
  53.  
  54.  
  55. cant_caracteres = Len(filtro_caracter)
  56. texto = filtro_caracter
  57.  
  58. For a = 1 To cant_caracteres
  59.     letra = Mid(texto, a, 1)
  60.  
  61.     Select Case letra
  62.         Case "a" To "z"
  63.          
  64.         If numero = 1 Then
  65.             textoagregado1 = textoagregado1 + "%"
  66.             mayusculas = 0
  67.             numero = 0
  68.             cont_mayusculas = 0
  69.         End If
  70.        
  71.         textoagregado1 = textoagregado1 + letra
  72.          
  73.         Case "A" To "Z"
  74.             cont_mayusculas = cont_mayusculas + 1
  75.             If mayusculas = 1 Then
  76.                 textoagregado1 = textoagregado1 + letra
  77.             End If
  78.        
  79.             If mayusculas = 0 Then
  80.                 textoagregado1 = textoagregado1 + "$"
  81.                 textoagregado1 = textoagregado1 + letra
  82.                 posición = a
  83.                 mayusculas = 1
  84.                 numero = 0
  85.             End If
  86.        
  87.         Case " "
  88.             textoagregado1 = textoagregado1 + letra
  89.             mayusculas = 0
  90.             numero = 0
  91.             cont_mayusculas = 0
  92.        
  93.         Case "0" To "9"
  94.             If numero = 1 Then
  95.                 textoagregado1 = textoagregado1 + letra
  96.             End If
  97.             If numero = 0 Then
  98.                 textoagregado1 = textoagregado1 + "#"
  99.                 textoagregado1 = textoagregado1 + letra
  100.                 mayusculas = 0
  101.                 numero = 1
  102.             End If
  103.             cont_mayusculas = 0
  104.        
  105.         Case Chr$(10)
  106.             textoagregado1 = textoagregado1 + Chr$(10)
  107.             mayusculas = 0
  108.             numero = 0
  109.          
  110.         Case Chr$(13)
  111.             textoagregado1 = textoagregado1 + Chr$(13)
  112.  
  113.             mayusculas = 0
  114.             numero = 0
  115.        
  116.     Case Else
  117.         textoagregado1 = textoagregado1 + letra
  118.     End Select
  119. Next
  120.  
  121.  
  122.  
  123.  
  124. Call mayuscula
  125. End Function
  126.  
  127. Private Function mayuscula()
  128.    
  129.     For a = 1 To Len(textoagregado1)
  130.         X = Mid$(textoagregado1, a, 1)
  131.         If X = "$" Then
  132.             Y = Mid$(textoagregado1, a + 1, 1)
  133.             z = Mid$(textoagregado1, a + 2, 1)
  134.             If Y <> " " And (z >= "A" And z <= "Z") Then
  135.                 X = X + "$"
  136.             End If
  137.         End If
  138.         textoagregado2 = textoagregado2 + X
  139.     Next a
  140. Call separarenglon
  141. End Function
  142.  
  143. Private Function separarenglon()
  144.  
  145. cont_30 = 0
  146. ult_esp = 0
  147. a = 0
  148. cant_caracteres3 = Len(textoagregado2)
  149.  
  150. pri_esp = 0
  151. mul = 0
  152. mitexto = ""
  153. dif_esp = 0
  154. a = 0
  155.  
  156. If cant_caracteres3 <= 30 Then
  157.     For d = 1 To cant_caracteres3
  158.     X = Mid$(textoagregado2, d, 1)
  159.  
  160.     If X = Chr$(13) Then
  161.         cont_enter = d
  162.         dif_esp = d - pri_esp - 1
  163.         textomacho = Mid(textoagregado2, (pri_esp + 1), dif_esp)
  164.         espaciado = espaciado + textomacho
  165.        
  166.        
  167.         For c = Len(textomacho) To 30
  168.         espaciado = espaciado + " "
  169.         Next c
  170.        
  171.         espaciado = espaciado + Chr$(13) & Chr$(10)
  172.         pri_esp = d + 1
  173.        
  174.     End If
  175.     Next d
  176.      
  177. dif_esp_fin = cant_caracteres3 - cont_enter
  178.    
  179.     If dif_esp_fin >= 1 Then
  180.         textomacho = Mid(textoagregado2, (cont_enter + 1), dif_esp_fin)
  181.         espaciado = espaciado + textomacho
  182.        
  183.         For e = Len(textomacho) To 30
  184.         espaciado = espaciado + " "
  185.         Next e
  186.     End If
  187.    
  188.      
  189. End If
  190.  
  191.  
  192. If cant_caracteres3 > 30 Then
  193.  
  194.     Do
  195.      
  196.     a = a + 1
  197.     X = Mid$(textoagregado2, a, 1)
  198.     cont_30 = cont_30 + 1
  199.                
  200.         If X = " " Then
  201.         ult_esp = a
  202.         End If
  203.  
  204.          
  205.  
  206.         If X = Chr$(13) Then
  207.         dif_esp = a - pri_esp - 1
  208.         textomacho = Mid(textoagregado2, (pri_esp + 1), dif_esp)
  209.         espaciado = espaciado + textomacho
  210.        
  211.        
  212.         esp_faltantes = 31 - Len(textomacho)
  213.             For b = 1 To esp_faltantes
  214.             espaciado = espaciado + " "
  215.             Next b
  216.         espaciado = espaciado + Chr$(13) & Chr$(10)
  217.         pri_esp = a + 1
  218.         cont_30 = 0
  219.         ult_esp = a + 1
  220.         final_esp = ult_esp
  221.         End If
  222.        
  223.        
  224.         If cont_30 >= 31 Then
  225.        
  226.         final_esp = ult_esp
  227.         dif_esp = ult_esp - pri_esp
  228.         textomacho = Mid(textoagregado2, (pri_esp + 1), dif_esp)
  229.         espaciado = espaciado + textomacho
  230.          
  231.        
  232.         esp_faltantes = 31 - Len(textomacho)
  233.             For b = 1 To esp_faltantes
  234.                 espaciado = espaciado + " "
  235.             Next b
  236.        
  237.      
  238.        espaciado = espaciado + Chr$(13) & Chr$(10)
  239.        pri_esp = ult_esp
  240.        cont_30 = a - ult_esp
  241.        End If
  242.  
  243.    
  244.     Loop Until a >= cant_caracteres3
  245.  
  246. If ult_esp < a Then
  247.         dif_esp = cant_caracteres3 - final_esp
  248.         textomacho = Mid(textoagregado2, (final_esp + 1), dif_esp)
  249.         espaciado = espaciado + textomacho
  250.         esp_faltantes = 30 - Len(textomacho)
  251.             For b = 1 To esp_faltantes
  252.                 espaciado = espaciado + " "
  253.             Next b
  254.            
  255. End If
  256.  
  257. End If
  258.  
  259.  
  260. Call inversor
  261. End Function
  262.  
  263. Private Function inversor()
  264.  
  265. re = ""
  266.  
  267. For a = 1 To Len(espaciado)
  268. X = Mid$(espaciado, a, 1)
  269.  
  270.  
  271. If X = Chr$(10) Then X = ""
  272. If X = Chr$(13) Then
  273.     For b = Len(re) - 1 To 1 Step -1
  274.         invertido = invertido + Mid$(re, b, 1)
  275.     Next b
  276.         re = ""
  277.         invertido = invertido + Chr$(13) + Chr$(10)
  278. End If
  279. re = re + X
  280.  
  281. Next a
  282.    
  283.     If re <> "" Then
  284.  
  285.     For b = Len(re) To 1 Step -1
  286.         If (Mid$(re, b, 1) <> Chr$(13)) And (Mid$(re, b, 1) <> Chr$(10)) Then
  287.             invertido = invertido + Mid$(re, b, 1)
  288.         End If
  289.     Next b
  290.  
  291. End If
  292. Call codificacion
  293. End Function
  294.  
  295. Private Function codificacion()
  296.  
  297. linea1 = ""
  298. linea2 = ""
  299. linea3 = ""
  300.  
  301. long5 = Len(invertido)
  302. cont_31 = 0
  303. mitexto = invertido
  304.  
  305. renglon = long5 / 31
  306.  
  307. For a = 1 To long5
  308.     letra2 = Mid$(mitexto, a, 1)
  309.      
  310.     Select Case letra2
  311.        
  312.         'MINUSCULAS
  313.        
  314.         Case "a"
  315.         linea1 = linea1 + "01"
  316.         linea2 = linea2 + "00"
  317.         linea3 = linea3 + "00"
  318.                                    
  319.                                    
  320.         Case "b"
  321.         linea1 = linea1 + "01"
  322.         linea2 = linea2 + "01"
  323.         linea3 = linea3 + "00"
  324.                                    
  325.         Case "c"
  326.         linea1 = linea1 + "11"
  327.         linea2 = linea2 + "00"
  328.         linea3 = linea3 + "00"
  329.                                    
  330.         Case "d"
  331.         linea1 = linea1 + "11"
  332.         linea2 = linea2 + "10"
  333.         linea3 = linea3 + "00"
  334.                                      
  335.         Case "e"
  336.         linea1 = linea1 + "01"
  337.         linea2 = linea2 + "10"
  338.         linea3 = linea3 + "00"
  339.        
  340.         Case "f"
  341.         linea1 = linea1 + "11"
  342.         linea2 = linea2 + "01"
  343.         linea3 = linea3 + "00"
  344.        
  345.         Case "g"
  346.         linea1 = linea1 + "11"
  347.         linea2 = linea2 + "11"
  348.         linea3 = linea3 + "00"
  349.  
  350.                                          
  351.         Case "h"
  352.         linea1 = linea1 + "01"
  353.         linea2 = linea2 + "11"
  354.         linea3 = linea3 + "00"
  355.                                      
  356.         Case "i"
  357.         linea1 = linea1 + "10"
  358.  
  359.         linea2 = linea2 + "01"
  360.         linea3 = linea3 + "00"
  361.                                                                    
  362.         Case "j"
  363.         linea1 = linea1 + "10"
  364.         linea2 = linea2 + "11"
  365.         linea3 = linea3 + "00"
  366.                                                                    
  367.         Case "k"
  368.         linea1 = linea1 + "01"
  369.         linea2 = linea2 + "00"
  370.         linea3 = linea3 + "01"
  371.          
  372.         Case "l"
  373.         linea1 = linea1 + "01"
  374.         linea2 = linea2 + "01"
  375.         linea3 = linea3 + "01"
  376.        
  377.         Case "m"
  378.         linea1 = linea1 + "11"
  379.         linea2 = linea2 + "00"
  380.         linea3 = linea3 + "01"
  381.        
  382.         Case "n"
  383.         linea1 = linea1 + "11"
  384.         linea2 = linea2 + "10"
  385.         linea3 = linea3 + "01"
  386.        
  387.         Case "ñ"
  388.         linea1 = linea1 + "11"
  389.         linea2 = linea2 + "11"
  390.         linea3 = linea3 + "10"
  391.        
  392.          
  393.         Case "o"
  394.         linea1 = linea1 + "01"
  395.         linea2 = linea2 + "10"
  396.         linea3 = linea3 + "01"
  397.        
  398.         Case "p"
  399.         linea1 = linea1 + "11"
  400.         linea2 = linea2 + "01"
  401.         linea3 = linea3 + "01"
  402.        
  403.         Case "q"
  404.         linea1 = linea1 + "11"
  405.         linea2 = linea2 + "11"
  406.         linea3 = linea3 + "01"
  407.        
  408.         Case "r"
  409.         linea1 = linea1 + "01"
  410.         linea2 = linea2 + "11"
  411.         linea3 = linea3 + "01"
  412.        
  413.         Case "s"
  414.         linea1 = linea1 + "10"
  415.         linea2 = linea2 + "01"
  416.         linea3 = linea3 + "01"
  417.          
  418.         Case "t"
  419.         linea1 = linea1 + "10"
  420.         linea2 = linea2 + "11"
  421.         linea3 = linea3 + "01"
  422.        
  423.         Case "u"
  424.         linea1 = linea1 + "01"
  425.         linea2 = linea2 + "00"
  426.         linea3 = linea3 + "11"
  427.                                      
  428.  
  429.         Case "v"
  430.         linea1 = linea1 + "01"
  431.         linea2 = linea2 + "01"
  432.         linea3 = linea3 + "11"
  433.        
  434.         Case "w"
  435.         linea1 = linea1 + "10"
  436.         linea2 = linea2 + "11"
  437.         linea3 = linea3 + "10"
  438.        
  439.         Case "x"
  440.         linea1 = linea1 + "11"
  441.         linea2 = linea2 + "00"
  442.         linea3 = linea3 + "11"
  443.        
  444.         Case "y"
  445.         linea1 = linea1 + "11"
  446.         linea2 = linea2 + "10"
  447.         linea3 = linea3 + "11"
  448.        
  449.         Case "z"
  450.  
  451.         linea1 = linea1 + "01"
  452.         linea2 = linea2 + "10"
  453.         linea3 = linea3 + "11"
  454.                                                                                                                                              
  455.        
  456.         'MAYUSCULAS
  457.        
  458.         Case "A"
  459.         linea1 = linea1 + "01"
  460.         linea2 = linea2 + "00"
  461.         linea3 = linea3 + "00"
  462.                                    
  463.                                      
  464.         Case "B"
  465.         linea1 = linea1 + "01"
  466.         linea2 = linea2 + "01"
  467.         linea3 = linea3 + "00"
  468.                                    
  469.         Case "C"
  470.         linea1 = linea1 + "11"
  471.         linea2 = linea2 + "00"
  472.         linea3 = linea3 + "00"
  473.                                    
  474.         Case "D"
  475.         linea1 = linea1 + "11"
  476.         linea2 = linea2 + "10"
  477.         linea3 = linea3 + "00"
  478.                                    
  479.         Case "E"
  480.         linea1 = linea1 + "01"
  481.         linea2 = linea2 + "10"
  482.         linea3 = linea3 + "00"
  483.          
  484.         Case "F"
  485.         linea1 = linea1 + "11"
  486.         linea2 = linea2 + "01"
  487.         linea3 = linea3 + "00"
  488.          
  489.         Case "G"
  490.         linea1 = linea1 + "11"
  491.         linea2 = linea2 + "11"
  492.         linea3 = linea3 + "00"
  493.                                          
  494.         Case "H"
  495.         linea1 = linea1 + "01"
  496.         linea2 = linea2 + "11"
  497.         linea3 = linea3 + "00"
  498.                                      
  499.         Case "I"
  500.         linea1 = linea1 + "10"
  501.         linea2 = linea2 + "01"
  502.         linea3 = linea3 + "00"
  503.                                                                    
  504.         Case "J"
  505.         linea1 = linea1 + "10"
  506.         linea2 = linea2 + "11"
  507.  
  508.  
  509.         linea3 = linea3 + "00"
  510.                                                                    
  511.         Case "K"
  512.         linea1 = linea1 + "01"
  513.         linea2 = linea2 + "00"
  514.         linea3 = linea3 + "01"
  515.        
  516.         Case "L"
  517.         linea1 = linea1 + "01"
  518.         linea2 = linea2 + "01"
  519.         linea3 = linea3 + "01"
  520.        
  521.         Case "M"
  522.         linea1 = linea1 + "11"
  523.         linea2 = linea2 + "00"
  524.         linea3 = linea3 + "01"
  525.          
  526.         Case "N"
  527.         linea1 = linea1 + "11"
  528.         linea2 = linea2 + "10"
  529.         linea3 = linea3 + "01"
  530.        
  531.         Case "Ñ"
  532.         linea1 = linea1 + "11"
  533.         linea2 = linea2 + "11"
  534.         linea3 = linea3 + "10"
  535.        
  536.        
  537.         Case "O"
  538.         linea1 = linea1 + "01"
  539.         linea2 = linea2 + "10"
  540.         linea3 = linea3 + "01"
  541.        
  542.         Case "P"
  543.         linea1 = linea1 + "11"
  544.         linea2 = linea2 + "01"
  545.         linea3 = linea3 + "01"
  546.          
  547.         Case "Q"
  548.         linea1 = linea1 + "11"
  549.         linea2 = linea2 + "11"
  550.         linea3 = linea3 + "01"
  551.        
  552.         Case "R"
  553.         linea1 = linea1 + "01"
  554.         linea2 = linea2 + "11"
  555.         linea3 = linea3 + "01"
  556.        
  557.         Case "S"
  558.         linea1 = linea1 + "10"
  559.         linea2 = linea2 + "01"
  560.         linea3 = linea3 + "01"
  561.        
  562.         Case "T"
  563.         linea1 = linea1 + "10"
  564.         linea2 = linea2 + "11"
  565.         linea3 = linea3 + "01"
  566.        
  567.         Case "U"
  568.         linea1 = linea1 + "01"
  569.         linea2 = linea2 + "00"
  570.         linea3 = linea3 + "11"
  571.                                      
  572.         Case "V"
  573.         linea1 = linea1 + "01"
  574.         linea2 = linea2 + "01"
  575.         linea3 = linea3 + "11"
  576.        
  577.         Case "W"
  578.         linea1 = linea1 + "10"
  579.         linea2 = linea2 + "11"
  580.         linea3 = linea3 + "10"
  581.        
  582.         Case "X"
  583.         linea1 = linea1 + "11"
  584.         linea2 = linea2 + "00"
  585.         linea3 = linea3 + "11"
  586.  
  587.        
  588.         Case "Y"
  589.         linea1 = linea1 + "11"
  590.         linea2 = linea2 + "10"
  591.         linea3 = linea3 + "11"
  592.        
  593.         Case "Z"
  594.         linea1 = linea1 + "01"
  595.         linea2 = linea2 + "10"
  596.         linea3 = linea3 + "11"
  597.        
  598.         'OTROS
  599.        Case Chr$(10) ' ENTER
  600.        linea1 = linea1 + "-*"
  601.         linea2 = linea2 + "-*"
  602.         linea3 = linea3 + "-*"
  603.          
  604.        
  605.         Case " "
  606.         linea1 = linea1 + "00"
  607.         linea2 = linea2 + "00"
  608.         linea3 = linea3 + "00"
  609.        
  610.         Case "$" 'simbolo mayus
  611.        linea1 = linea1 + "10"
  612.         linea2 = linea2 + "00"
  613.         linea3 = linea3 + "10"
  614.                                    
  615.                                      
  616.         Case "#" 'simbolo numero
  617.        linea1 = linea1 + "10"
  618.         linea2 = linea2 + "10"
  619.         linea3 = linea3 + "11"
  620.                                      
  621.         Case ","
  622.         linea1 = linea1 + "00"
  623.         linea2 = linea2 + "01"
  624.         linea3 = linea3 + "00"
  625.                                    
  626.         Case "."
  627.         linea1 = linea1 + "00"
  628.         linea2 = linea2 + "00"
  629.         linea3 = linea3 + "01"
  630.                                    
  631.         Case ";"
  632.         linea1 = linea1 + "00"
  633.         linea2 = linea2 + "01"
  634.         linea3 = linea3 + "01"
  635.        
  636.         Case ":"
  637.         linea1 = linea1 + "00"
  638.         linea2 = linea2 + "11"
  639.         linea3 = linea3 + "00"
  640.        
  641.         Case "-"
  642.         linea1 = linea1 + "00"
  643.         linea2 = linea2 + "00"
  644.         linea3 = linea3 + "11"
  645.                                      
  646.                                    
  647.         Case "¿"
  648.         linea1 = linea1 + "00"
  649.         linea2 = linea2 + "01"
  650.         linea3 = linea3 + "10"
  651.                                    
  652.         Case "?"
  653.         linea1 = linea1 + "00"
  654.         linea2 = linea2 + "01"
  655.         linea3 = linea3 + "10"
  656.                                    
  657.         Case "¡"
  658.         linea1 = linea1 + "00"
  659.         linea2 = linea2 + "11"
  660.         linea3 = linea3 + "01"
  661.                                      
  662.         Case "!"
  663.         linea1 = linea1 + "00"
  664.  
  665.  
  666.         linea2 = linea2 + "11"
  667.         linea3 = linea3 + "01"
  668.        
  669.         Case "'"
  670.         linea1 = linea1 + "00"
  671.         linea2 = linea2 + "01"
  672.         linea3 = linea3 + "11"
  673.        
  674.          Case "("
  675.         linea1 = linea1 + "01"
  676.         linea2 = linea2 + "01"
  677.         linea3 = linea3 + "10"
  678.                                      
  679.                                    
  680.         Case ")"
  681.         linea1 = linea1 + "10"
  682.         linea2 = linea2 + "10"
  683.         linea3 = linea3 + "01"
  684.                                    
  685.            
  686.        
  687.       'NUMEROS
  688.        
  689.         Case "1"
  690.         linea1 = linea1 + "01"
  691.         linea2 = linea2 + "00"
  692.         linea3 = linea3 + "00"
  693.                                    
  694.                                      
  695.         Case "2"
  696.         linea1 = linea1 + "01"
  697.         linea2 = linea2 + "01"
  698.         linea3 = linea3 + "00"
  699.                                      
  700.         Case "3"
  701.         linea1 = linea1 + "11"
  702.         linea2 = linea2 + "00"
  703.         linea3 = linea3 + "00"
  704.                                    
  705.         Case "4"
  706.         linea1 = linea1 + "11"
  707.         linea2 = linea2 + "10"
  708.         linea3 = linea3 + "00"
  709.                                    
  710.         Case "5"
  711.         linea1 = linea1 + "01"
  712.         linea2 = linea2 + "10"
  713.         linea3 = linea3 + "00"
  714.        
  715.         Case "6"
  716.         linea1 = linea1 + "11"
  717.         linea2 = linea2 + "01"
  718.         linea3 = linea3 + "00"
  719.          
  720.         Case "7"
  721.         linea1 = linea1 + "11"
  722.         linea2 = linea2 + "11"
  723.         linea3 = linea3 + "00"
  724.                                          
  725.         Case "8"
  726.         linea1 = linea1 + "01"
  727.         linea2 = linea2 + "11"
  728.         linea3 = linea3 + "00"
  729.                                      
  730.         Case "9"
  731.         linea1 = linea1 + "10"
  732.         linea2 = linea2 + "01"
  733.  
  734.         linea3 = linea3 + "00"
  735.                                                                    
  736.         Case "0"
  737.         linea1 = linea1 + "10"
  738.         linea2 = linea2 + "11"
  739.         linea3 = linea3 + "00"
  740.        
  741.       'letras con acento
  742.        
  743.          Case "á"
  744.  
  745.         linea1 = linea1 + "01"
  746.         linea2 = linea2 + "11"
  747.         linea3 = linea3 + "11"
  748.                                      
  749.                                    
  750.         Case "é"
  751.         linea1 = linea1 + "10"
  752.         linea2 = linea2 + "01"
  753.         linea3 = linea3 + "11"
  754.                                    
  755.         Case "í"
  756.         linea1 = linea1 + "10"
  757.         linea2 = linea2 + "00"
  758.         linea3 = linea3 + "01"
  759.                                    
  760.         Case "ó"
  761.         linea1 = linea1 + "10"
  762.         linea2 = linea2 + "00"
  763.         linea3 = linea3 + "11"
  764.                                    
  765.         Case "ú"
  766.         linea1 = linea1 + "10"
  767.         linea2 = linea2 + "11"
  768.         linea3 = linea3 + "11"
  769.          
  770.         Case "ü"
  771.         linea1 = linea1 + "01"
  772.         linea2 = linea2 + "11"
  773.         linea3 = linea3 + "10"
  774.  
  775.            
  776.       End Select
  777.        
  778. Next a
  779.  
  780.  
  781.         linea1 = linea1 + "-*"
  782.         linea2 = linea2 + "-*"
  783.         linea3 = linea3 + "-/"
  784.         'linea1 = linea1 + "//"
  785.  
  786. Call generador
  787. End Function
  788.  
  789. Private Function generador()
  790. Call posic_ini
  791.  
  792. Texto1 = linea1
  793. texto2 = linea2
  794. texto3 = linea3
  795.  
  796.  
  797.  
  798.  
  799.  
  800. cant_caracteres = Len(Texto1)
  801.  
  802. a = 0
  803. noentra = 0
  804. mitexto = Texto1
  805. texto = ""
  806. '--------------------------------
  807.  
  808. b = 1
  809. For a = 1 To renglon
  810.     X = Mid$(Texto1, b, 62)
  811.      
  812.     texto = texto + X
  813.     X = Mid$(texto2, b, 62)
  814.    
  815.     texto = texto + X
  816.     X = Mid$(texto3, b, 62)
  817.    
  818.     texto = texto + X
  819. b = b + 62
  820. DoEvents
  821. If detiene = 1 Then
  822.  
  823.  
  824. Call detener
  825. End If
  826. Next a
  827.  
  828. '-------------------------
  829. a = 0
  830. rng = 0
  831. cant_caracteres2 = Len(texto)
  832.  
  833. For a = 1 To cant_caracteres2
  834.     Sleep 2
  835.     lt = Mid(texto, a, 1)
  836.     Sleep 2
  837.     Select Case lt
  838.         Case "0"  'AVANZA MOTORCC 1
  839.            DoEvents
  840.             If detiene = 1 Then
  841.             Call detener
  842.             End If
  843.              Call vacio
  844.         Case "1" 'ACTIVA ELECTROIMAN - AVANZA MOTORCC 1
  845.            DoEvents
  846.             If detiene = 1 Then
  847.             Call detener
  848.             End If
  849.  
  850.              Call marca
  851.         Case "*"  'CAMBIA DE LINEA DE LECTURA(AVANZA MOTORPP 2)
  852.            DoEvents
  853.             If detiene = 1 Then
  854.             Call detener
  855.             End If
  856.             Call nueva_linea
  857.             rng = rng + 1
  858.             If rng = 3 Then
  859.             For r = 1 To 5
  860.                 Out Val(888), Val(16)
  861.                 Sleep 5
  862.                 Out Val(888), Val(32)
  863.                 Sleep 5
  864.                 Out Val(888), Val(8)
  865.                 Sleep 5
  866.                 Out Val(888), Val(64)
  867.                 Sleep 5
  868.                 Next r
  869.             rng = 0
  870.             End If
  871.         Case "/" 'FIN DE LA IMPRESION
  872.            DoEvents
  873.             If detiene = 1 Then
  874.             Call detener
  875.             End If
  876.  
  877.             Call final
  878.          
  879.     End Select
  880. Next a
  881.  
  882. End Function
  883.  
  884.  
  885.  
  886. Private Function vacio()
  887. 'izquierda (888) 1
  888. 'derecha (888) 2
  889. opt1 = 0
  890. opt2 = 0
  891. cont = 0
  892. co = 1
  893. Do
  894. Out Val(888), Val(1)
  895. Sleep 4
  896. Out Val(888), Val(0)
  897. Sleep 40
  898.     opto2 = Inp(889)
  899.     opto3 = opto2 And 16
  900.     If opto3 = 16 Then
  901.     opt1 = 1
  902.  
  903.     End If
  904.     If (opto3 = 0) And (opt1 = 1) Then
  905.     opt2 = 1
  906.     End If
  907.     If (opt1 = 1) And (opt2 = 1) Then
  908.     opt1 = 0
  909.     opt2 = 0
  910.     cont = cont + 1
  911.     End If
  912.             DoEvents
  913.             If detiene = 1 Then
  914.             Call detener
  915.             End If
  916.  
  917. Loop Until cont >= co
  918.  
  919. End Function
  920.  
  921. Private Function marca()
  922. 'izquierda (888) 1
  923. 'derecha (888) 2
  924. opt1 = 0
  925. opt2 = 0
  926. cont = 0
  927. co = 1
  928. Do
  929. Out Val(888), Val(1)
  930. Sleep 4
  931. Out Val(888), Val(0)
  932. Sleep 40
  933.     opto2 = Inp(889)
  934.     opto3 = opto2 And 16
  935.     If opto3 = 16 Then
  936.     opt1 = 1
  937.     End If
  938.     If (opto3 = 0) And (opt1 = 1) Then
  939.     opt2 = 1
  940.     End If
  941.     If (opt1 = 1) And (opt2 = 1) Then
  942.     opt1 = 0
  943.     opt2 = 0
  944.     Out Val(888), Val(0)
  945. Sleep 100
  946.     Out Val(888), Val(4)
  947. Sleep 10
  948. Out Val(888), Val(0)
  949. Sleep 100
  950.     cont = cont + 1
  951.     End If
  952.             DoEvents
  953.             If detiene = 1 Then
  954.             Call detener
  955.             End If
  956.  
  957.  
  958. Loop Until cont >= co
  959. End Function
  960.  
  961.  
  962. Private Function nueva_linea()
  963. 'izquierda (888) 1
  964. 'derecha (888) 2
  965. opt1 = 0
  966. opt2 = 0
  967. cont = 0
  968. co = 60
  969. Do
  970. Out Val(888), Val(2)
  971. Sleep 4
  972. Out Val(888), Val(0)
  973. Sleep 40
  974.     opto2 = Inp(889)
  975.     opto3 = opto2 And 16
  976.     If opto3 = 16 Then
  977.     opt1 = 1
  978.     End If
  979.     If (opto3 = 0) And (opt1 = 1) Then
  980.  
  981.  
  982.     opt2 = 1
  983.     End If
  984.     If (opt1 = 1) And (opt2 = 1) Then
  985.     opt1 = 0
  986.     opt2 = 0
  987.     cont = cont + 1
  988.     End If
  989.  
  990.             DoEvents
  991.             If detiene = 1 Then
  992.             Call detener
  993.             End If
  994.  
  995.  
  996. Loop Until cont >= co
  997.  
  998. a = 0
  999. For a = 1 To 5
  1000. Out Val(888), Val(16)
  1001. Sleep 5
  1002. Out Val(888), Val(32)
  1003. Sleep 5
  1004. Out Val(888), Val(8)
  1005. Sleep 5
  1006. Out Val(888), Val(64)
  1007. Sleep 5
  1008.  
  1009.             DoEvents
  1010.             If detiene = 1 Then
  1011.             Call detener
  1012.             End If
  1013.  
  1014. Next a
  1015. Out Val(888), Val(0)
  1016. Sleep 10
  1017.  
  1018. End Function
  1019.  
  1020.  
  1021. Private Function final()
  1022. 'izquierda (888) 1
  1023. 'derecha (888) 2
  1024. opt1 = 0
  1025. opt2 = 0
  1026. cont = 0
  1027. co = 1
  1028.  
  1029. Do
  1030. Out Val(888), Val(2)
  1031. Sleep 4
  1032. Out Val(888), Val(0)
  1033. Sleep 2
  1034.     opto2 = Inp(889)
  1035.     opto3 = opto2 And 64
  1036.     If opto3 = 0 Then
  1037.     opt1 = 1
  1038.     End If
  1039.     If (opto3 = 64) And (opt1 = 1) Then
  1040.     opt2 = 1
  1041.     End If
  1042.     If (opt1 = 1) And (opt2 = 1) Then
  1043.     opt1 = 0
  1044.     opt2 = 0
  1045.    
  1046.     Out Val(888), Val(16)
  1047.     Sleep 5
  1048.     Out Val(888), Val(32)
  1049.     Sleep 5
  1050.     Out Val(888), Val(8)
  1051.     Sleep 5
  1052.     Out Val(888), Val(64)
  1053.     Sleep 5
  1054.    
  1055.     cont = cont + 1
  1056.     End If
  1057.  
  1058.  
  1059.  
  1060.  
  1061.             DoEvents
  1062.             If detiene = 1 Then
  1063.             Call detener
  1064.             End If
  1065.  
  1066.  
  1067. Loop Until cont >= co
  1068.  
  1069.  
  1070. For a = 1 To 350
  1071. Out Val(888), Val(16)
  1072. Sleep 5
  1073. Out Val(888), Val(32)
  1074. Sleep 5
  1075. Out Val(888), Val(8)
  1076. Sleep 5
  1077. Out Val(888), Val(64)
  1078. Sleep 5
  1079.  
  1080.             DoEvents
  1081.             If detiene = 1 Then
  1082.             Call detener
  1083.             End If
  1084.  
  1085.  
  1086. Next a
  1087. Out Val(888), Val(0)
  1088. Sleep 10
  1089.  
  1090.  
  1091.     cartel = MsgBox("El Proceso de impresion se realizo correctamente", vbInformation + vbOKOnly, "Informacion")
  1092.  
  1093.  
  1094. End Function
  1095.  
  1096. Private Function posic_ini()
  1097. 'izquierda (888) 1
  1098. 'derecha (888) 2
  1099. ' ---------------------------------------------------------------------------
  1100. Out Val(888), Val(1)
  1101. Sleep 50
  1102. Out Val(888), Val(0)
  1103. Sleep 10
  1104.  
  1105.  
  1106. '---------------------------------------------------------------------------
  1107. 'Avanza hasta el sensor derecho
  1108. opt1 = 0
  1109. opt2 = 0
  1110. cont = 0
  1111. co = 1
  1112. Do
  1113. Out Val(888), Val(2)
  1114.  
  1115.     opto2 = Inp(889)
  1116.     opto3 = opto2 And 64
  1117.     If opto3 = 0 Then
  1118.     opt1 = 1
  1119.     End If
  1120.     If (opto3 = 64) And (opt1 = 1) Then
  1121.     opt2 = 1
  1122.     End If
  1123.     If (opt1 = 1) And (opt2 = 1) Then
  1124.     opt1 = 0
  1125.     opt2 = 0
  1126.     cont = cont + 1
  1127.     End If
  1128.  
  1129.             DoEvents
  1130.             If detiene = 1 Then
  1131.             Call detener
  1132.             End If
  1133.  
  1134.  
  1135. Loop Until cont >= co
  1136.  
  1137. ' ---------------------------------------------------------------------------
  1138.  
  1139. 'Avanza hasta el sensor izquierdo
  1140.  
  1141. opt1 = 0
  1142. opt2 = 0
  1143. cont = 0
  1144. co = 1
  1145. Do
  1146. Out Val(888), Val(1)
  1147.  
  1148.     opto2 = Inp(889)
  1149.     opto3 = opto2 And 32
  1150.     If opto3 = 0 Then
  1151.     opt1 = 1
  1152.     End If
  1153.     If (opto3 = 32) And (opt1 = 1) Then
  1154.     opt2 = 1
  1155.     End If
  1156.     If (opt1 = 1) And (opt2 = 1) Then
  1157.     opt1 = 0
  1158.     opt2 = 0
  1159.     cont = cont + 1
  1160.     End If
  1161.  
  1162.             DoEvents
  1163.             If detiene = 1 Then
  1164.             Call detener
  1165.             End If
  1166.  
  1167.  
  1168.  
  1169. Loop Until cont >= co
  1170.  
  1171. ' ---------------------------------------------------------------------------
  1172. 'Toma la hoja
  1173.  
  1174.  
  1175. Out Val(888), Val(0)
  1176. Sleep 10
  1177. a = 0
  1178. For a = 1 To 200
  1179.  
  1180. Out Val(888), Val(17)
  1181. Sleep 5
  1182. Out Val(888), Val(33)
  1183. Sleep 5
  1184. Out Val(888), Val(9)
  1185. Sleep 5
  1186. Out Val(888), Val(65)
  1187. Sleep 5
  1188.  
  1189.             DoEvents
  1190.             If detiene = 1 Then
  1191.             Call detener
  1192.             End If
  1193.  
  1194.  
  1195. Next a
  1196.  
  1197. Out Val(888), Val(0)
  1198. Sleep 10
  1199. Out Val(888), Val(2)
  1200. Sleep 500
  1201. Out Val(888), Val(0)
  1202. Sleep 10
  1203. Out Val(888), Val(1)
  1204. Sleep 500
  1205. Out Val(888), Val(0)
  1206. Sleep 100
  1207.  
  1208.  
  1209. Out Val(888), Val(2)
  1210. Sleep 10
  1211. Out Val(888), Val(0)
  1212. Sleep 10
  1213.  
  1214.  
  1215. For a = 1 To 80
  1216. Out Val(888), Val(16)
  1217.  
  1218. Sleep 5
  1219. Out Val(888), Val(32)
  1220. Sleep 5
  1221. Out Val(888), Val(8)
  1222. Sleep 5
  1223. Out Val(888), Val(64)
  1224. Sleep 5
  1225.  
  1226.             DoEvents
  1227.             If detiene = 1 Then
  1228.             Call detener
  1229.             End If
  1230.  
  1231. Next a
  1232.  
  1233. Out Val(888), Val(1)
  1234. Sleep 20
  1235.  
  1236. Out Val(888), Val(0)
  1237. Sleep 10
  1238.  
  1239. ' ---------------------------------------------------------------------------
  1240. 'Avanza 80 pasos hacia la derecha y se posiciona para empezar
  1241.  
  1242. cont = 0
  1243. co = 80
  1244. Do
  1245. Out Val(888), Val(2)
  1246. Sleep 5
  1247. Out Val(888), Val(0)
  1248. Sleep 10
  1249.     opto2 = Inp(889)
  1250.     opto3 = opto2 And 16
  1251.     If opto3 = 16 Then
  1252.     opt1 = 1
  1253.     End If
  1254.     If (opto3 = 0) And (opt1 = 1) Then
  1255.     opt2 = 1
  1256.     End If
  1257.     If (opt1 = 1) And (opt2 = 1) Then
  1258.     opt1 = 0
  1259.     opt2 = 0
  1260.     cont = cont + 1
  1261.     End If
  1262.  
  1263.             DoEvents
  1264.             If detiene = 1 Then
  1265.             Call detener
  1266.             End If
  1267.  
  1268.  
  1269. Loop Until cont >= co
  1270.  
  1271.  
  1272. End Function
  1273.  
  1274. Private Function detener()
  1275. label1.Caption = ""
  1276. a = MsgBox("    EL PROCESO SE DETUVO" + vbCrLf + vbCrLf + "Desea interrumpir la operación?", vbExclamation + vbOKCancel, "Salir")
  1277. DoEvents
  1278.     If a = 1 Then
  1279.        
  1280.         Command1.Enabled = False
  1281.         Command2.Enabled = False
  1282.         Command3.Enabled = False
  1283.         label1.Caption = "ESPERE MIENTRAS SACA LA HOJA"
  1284.          
  1285.         StatusBar1.Panels.Clear
  1286.                
  1287.         StatusBar1.Panels.Add , "Impresion Abortada", "Sacando hoja.....", sbrText, LoadPicture(App.Path & "\imagenimpresora3.jpg")
  1288.         StatusBar1.Panels(1).AutoSize = sbrContents
  1289.        
  1290.         For l = 1 To 400
  1291.           Out Val(888), Val(16)
  1292.           Sleep 10
  1293.           Out Val(888), Val(32)
  1294.  
  1295.           Sleep 10
  1296.           Out Val(888), Val(8)
  1297.           Sleep 10
  1298.           Out Val(888), Val(64)
  1299.           Sleep 10
  1300.        DoEvents
  1301.        
  1302.        Next l
  1303.        
  1304.         Out Val(888), Val(0)
  1305.         Sleep 10
  1306.         End
  1307.          
  1308.         Unload Me
  1309.         detiene = 0
  1310.         Form1.Show
  1311.         Form1.Enabled = True
  1312.         Form1.SetFocus
  1313.     DoEvents
  1314.     Else
  1315.     detiene = 0
  1316.  
  1317.     DoEvents
  1318.     label1.Caption = "IMPRIMIENDO"
  1319.     StatusBar1.Panels.Add , "Impresion", "Imprimiendo trabajo.....", sbrText, LoadPicture(App.Path & "\imagenimpresora2.jpg")
  1320.     StatusBar1.Panels(1).AutoSize = sbrContents
  1321.    
  1322.     End If
  1323.  
  1324. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement