Comunidad Gambas-es
Código de ejemplo - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html)
+--- Tema: Código de ejemplo (/thread-1480.html)



Código de ejemplo - guizans - 10-08-2023

Hola a todos.

 Esto no es una crítica ni una exigencia, vaya por delante. Y leyendo esto más de uno estará afilando la hacha de guerra. No, para nada. Voy a poner en contexto para que se vea de donde saco la reflexión. Estoy mirando para implementar en mi programa para que crear códigos de barras. He buscado en el foro y he encontrado un programa en la granja y otro programa de jsban. Funcionan perfectamente y desde luego hay que estar agradecido a todos los mienbros por usar su tiempo libre para intentar cubrir las distintas necesidades de los posibles programadores.

 Ahora bien, para adaptar a mi programa ese código para generar los códigos de barras, tengo que mirar como funciona el código fuente y traspasarlo a mi programa. Esto contradice un poco al paradigma de POO. Yo entiendo que crear una interfaz gráfica donde puedas ver el resultado y que funcione está muy bien, pero vamos a ponernos en el caso contrario. Necesito un componente, por ejemplo que genere códigos de barras. Si tengo una clase que hace su trabajo, es decir, le paso un argumento y me devuelve lo que yo quiero, no me tengo que preocupar de como funciona ese código, puedo ser más rápìdo y productivo haciendo mi programa. Es lo que hace Pip en Python, por ejemplo.

 Si, se que me estoy comportando como el típico programador vago, ya que me lo dan todo hecho. También hay gente curiosa que le gusta saber como funciona el código que implementa y habrá otros que no tienen ganas o tiempo de pararse a mirar el código para adaptarlo. Yo por mi parte no me molesta mirar como funciona el código fuente y adaptarlo a mis necesidades, pero eso va a depender de cada uno.

 Como conclusión final, creo que deberíamos (me incluyo ya que tengo algún ejemplo subido a la granja con interfaz gráfica) hacer más clases para que se puedan usar sin problemas y dejarnos de florituras, para intentar que el nuevo usuario, tenga o no experiencia en programación, se encuentre con que el lenguaje tiene variedad de clases para cubrir sus necesidades. ¿Qué opinaís?

 Un saludo.


RE: Código de ejemplo - Shordi - 10-08-2023

Pos que sí. Es lo que llevo intentando con mis caóticos controles desde hace tiempo. El problema es que no sé qué  intereses tiene la peña, con lo que es difícil atinar en por dónde van los tiros.
Pedid y se os dará, junto a gente que quiere las cosas hechas hay gente que quiere hacer las cosas. Como decía mi abuela "Siempre hay un roto para un descosío", que no sé muy bien qué quiere decir, pero que se aplicaba a estas situaciones.

Saludos.


RE: Código de ejemplo - guizans - 10-08-2023

(10-08-2023, 19:54)Shordi escribió: El problema es que no sé qué  intereses tiene la peña,

Tampoco creo que tengamos que hacer unos estudios de mercado. Es sencillo. Tu has tenido alguna necesidad, curiosidad o llámale como quieras, y has desarrollado un programa, lo compartes y ya está, independientemente de la moda o de las necesidades de la mayoría. Lo que quiero decir, es que pienso que en vez de desarrollar una interfaz gráfica para decorar ese programa que has hecho, sería mucho mas productivo hacer una clase y documentar su funcionamiento. Y si, tus controles son un buen ejemplo de lo que me refiero. Es que no estoy seguro de haber sabido expresar lo que pienso.

Un saludo.


RE: Código de ejemplo - cogier - 11-08-2023

No estoy seguro si esto ayudará, pero aquí hay una pequeña subrutina que devolverá caracteres de código de barras code128b. Usted necesitará la fuente instalada en su ordenador. Está disponible aquí.

Código:
Public Sub Code128B(sText As String) As String

  Dim iLoop, iCheckSum As Integer

  For iLoop = 0 To Len(sText) - 1
    iCheckSum += (Asc(sText[iLoop]) - 32) * (iLoop + 1)
  Next

  iCheckSum = ((iCheckSum + 104) Mod 103) + 32

  If iCheckSum < 127 Then Return "Ì" & sText & Chr(iCheckSum) & "Î" Else Return "Ì" & sText & String.Chr(iCheckSum + 68) & "Î"

End