elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente  (Leído 5,914 veces)
agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
[Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« en: 18 Diciembre 2010, 04:03 am »

Hola Foro Como ahora estoy empezando a Hacer módulos y demás proyectos que voy a compartir dije ... "Tengo que ponerle mi marca, Como hacen Los chicos del foro..." así que para facilitarme la creación de estos me hice un programa que los Auto completa.... y lo comparto con Ustedes, por supuesto también el Source.

Se que el Código se puede reducir... pero Lo hice rapidito y sin pensarlo mucho, lo que mas me importaba era el resultado final, igual por supuesto siempre estoy abierto a criticas constructivas... sin mas Bla, Bla, Bla:




                                                                                                                                                           
Solo mMakeHeader.bas:

Código
  1. '////////////////////////////////////////////////////////////////////////////////////////////////////////'
  2. '///                                                                                                  ///'
  3. '///  º Tite:          mMakeHeader.bas                                                                ///'
  4. '///  º Author:        agus0                                                                          ///'
  5. '///  º Mail:          agus0@vbfree.com.ar                                                            ///'
  6. '///  º Date:          17/12/10                                                                       ///'
  7. '///  º Contributors:  -                                                                              ///'
  8. '///  º Web:           www.agus0.com.ar & www.vbfree.com.ar                                           ///'
  9. '///                                                                                                  ///'
  10. '////////////////////////////////////////////////////////////////////////////////////////////////////////'
  11.  
  12. Option Explicit
  13.  
  14. Private Const cLine1 = "'/////////////////////////////////////////////////////////////////////////////////////////////////////////'"
  15. Private Const cLine2 = "'///                                                                                                   ///'"
  16. Private Const cLineT = "'///  º Tite:          TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT  ///'"
  17. Private Const cLineA = "'///  º Author:        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ///'"
  18. Private Const cLineM = "'///  º Mail:          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM  ///'"
  19. Private Const cLineD = "'///  º Date:          DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD  ///'"
  20. Private Const cLineC = "'///  º Contributors:  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  ///'"
  21. Private Const cLineW = "'///  º Web:           WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW  ///'"
  22. Private Const cLine3 = "'///                                                                                                   ///'"
  23. Private Const cLine4 = "'/////////////////////////////////////////////////////////////////////////////////////////////////////////'"
  24. Private Const cCadenaT = "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT"
  25. Private Const cCadenaA = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
  26. Private Const cCadenaM = "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM"
  27. Private Const cCadenaD = "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
  28. Private Const cCadenaC = "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
  29. Private Const cCadenaW = "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
  30.  
  31. Public Function MakeHeader(Titulo As String, Autor As String, Mail As String, Fecha As String, Ayuda As String, Web As String, Optional Style As String = "///", Optional Vig As String = "º") As Variant
  32.    Dim Linea1, Linea2, LineaT, LineaA, LineaM, LineaD, LineaC, LineaW, Linea3, Linea4 As String
  33.    Dim B As Integer
  34.    Dim Space As String
  35.    'Estilos:
  36.    Linea1 = Replace(cLine1, "///", Style)
  37.    Linea2 = Replace(cLine2, "///", Style)
  38.    Linea3 = Replace(cLine3, "///", Style)
  39.    Linea4 = Replace(cLine4, "///", Style)
  40.    LineaT = Replace(cLineT, "º", Vig)
  41.    LineaT = Replace(LineaT, "///", Style)
  42.    LineaA = Replace(cLineA, "º", Vig)
  43.    LineaA = Replace(LineaA, "///", Style)
  44.    LineaM = Replace(cLineM, "º", Vig)
  45.    LineaM = Replace(LineaM, "///", Style)
  46.    LineaD = Replace(cLineD, "º", Vig)
  47.    LineaD = Replace(LineaD, "///", Style)
  48.    LineaC = Replace(cLineC, "º", Vig)
  49.    LineaC = Replace(LineaC, "///", Style)
  50.    LineaW = Replace(cLineW, "º", Vig)
  51.    LineaW = Replace(LineaW, "///", Style)
  52.    'Pasaje de Variables (Max Len 77)
  53.    Titulo = Left(Titulo, 77)
  54.    Autor = Left(Autor, 77)
  55.    Mail = Left(Mail, 77)
  56.    Fecha = Left(Fecha, 77)
  57.    Ayuda = Left(Ayuda, 77)
  58.    Web = Left(Web, 76)
  59.    Space = ""
  60.    For B = Len(Titulo) To 77
  61.        Space = Space & " "
  62.    Next B
  63.    LineaT = Replace(LineaT, cCadenaT, Titulo & Space)
  64.    Space = ""
  65.    For B = Len(Autor) To 77
  66.        Space = Space & " "
  67.    Next B
  68.    LineaA = Replace(LineaA, cCadenaA, Autor & Space)
  69.    Space = ""
  70.    For B = Len(Mail) To 77
  71.        Space = Space & " "
  72.    Next B
  73.    LineaM = Replace(LineaM, cCadenaM, Mail & Space)
  74.    Space = ""
  75.    For B = Len(Fecha) To 77
  76.        Space = Space & " "
  77.    Next B
  78.    LineaD = Replace(LineaD, cCadenaD, Fecha & Space)
  79.    Space = ""
  80.    For B = Len(Ayuda) To 77
  81.        Space = Space & " "
  82.    Next B
  83.    LineaC = Replace(LineaC, cCadenaC, Ayuda & Space)
  84.    Space = ""
  85.    For B = Len(Web) To 77
  86.        Space = Space & " "
  87.    Next B
  88.    LineaW = Replace(LineaW, cCadenaW, Web & Space)
  89.    'Juntar
  90.    MakeHeader = Linea1 & vbCrLf & Linea2 & vbCrLf & LineaT & vbCrLf & LineaA & vbCrLf & LineaM & vbCrLf & LineaD & vbCrLf & LineaC & vbCrLf & LineaW & vbCrLf & Linea3 & vbCrLf & Linea4 & vbCrLf
  91. End Function
  92.  
  93.  


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #1 en: 18 Diciembre 2010, 06:48 am »

.
En lugar de los for next y de las constantes con gran cantidad de texto no seria mejor usar

String()

Dulces Lunas!¡.
.


En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #2 en: 18 Diciembre 2010, 11:41 am »

Ey agus0, la idea es buena! ;)
En serio, me gusto, solo unas cosas:

Podrias hacerlo más configurable:

*Poder meter las Webs que se quiera en diferentes líneas (con paramArray creo que podrias hacer algo), un ej:
Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.    TestPA "Que", "vivan", "las", "ranas"
  5. End Sub
  6.  
  7. Sub TestPA(ParamArray Frog())
  8.    MsgBox Join$(Frog, vbNewLine)
  9. End Sub

*En la fecha podrias poner por defecto la fecha actual con Date$

*Si hay un campo vacío lo puedes eliminar

*El codigo se puede optimizar/reducir bastante.
Código
  1. MakeHeader = Linea1 & vbCrLf & Linea2 & vbCrLf & LineaT & vbCrLf & LineaA & vbCrLf & LineaM & vbCrLf & LineaD & vbCrLf & LineaC & vbCrLf & LineaW & vbCrLf & Linea3 & vbCrLf & Linea4 & vbCrLf
Si usaras una array que guardara las lineas podner todo eso con join (al principio te puse un ej)

*No me gusta esto :  :-\
Código
  1. Private Const cLine1 = "'/////////////////////////////////////////////////////////////////////////////////////////////////////////'"
  2. Private Const cLine2 = "'///                                                                                                   ///'"
  3. Private Const cLineT = "'///  º Tite:          TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT  ///'"
  4. Private Const cLineA = "'///  º Author:        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ///'"
  5. Private Const cLineM = "'///  º Mail:          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM  ///'"
  6. Private Const cLineD = "'///  º Date:          DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD  ///'"
  7. Private Const cLineC = "'///  º Contributors:  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  ///'"
  8. Private Const cLineW = "'///  º Web:           WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW  ///'"
  9. Private Const cLine3 = "'///                                                                                                   ///'"
  10. Private Const cLine4 = "'/////////////////////////////////////////////////////////////////////////////////////////////////////////'"
  11. Private Const cCadenaT = "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT"
  12. Private Const cCadenaA = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
  13. Private Const cCadenaM = "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM"
  14. Private Const cCadenaD = "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
  15. Private Const cCadenaC = "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
  16. Private Const cCadenaW = "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"

*Después lo que dice Black de usar String$() para las repeticiones

*Un detallito:
Código
  1. '///  º Tite:          mMakeHeader.bas                                                                ///'
Es Title no Tite... :xD
...

Con esto ya tienes para un rato, solo son sugerencias, nada más...  :P

DoEvents! :P
« Última modificación: 18 Diciembre 2010, 11:52 am por Mr. Frog © » En línea

agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #3 en: 18 Diciembre 2010, 13:35 pm »

Gracias Ranita, Lo de La Fecha se me había ocurrido ahora cuando lo retoque le agrego que el ancho varíe según el largo de la cadena mas larga así no es exageradamente grande, Jajaj no me di cuenta de lo de Title jaja. Después Voy a Chequear todo lo que me dijeron por que hay cosas que no conocía.

Gracias por Sus Recomendaciones y me alegro que te guste la idea :)
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #4 en: 18 Diciembre 2010, 15:00 pm »

Esta linda la idea, y tambien seria mejor si pudieras poner que el usuario elija con que caracteres rellenar el cuadro!

Código
  1. '///  º Contributors:  -  
Queda muy orgulloso eso :xD
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #5 en: 18 Diciembre 2010, 15:17 pm »

Os recomiendo MZ-Tools, que ademas de tener la opcion de crear cabeceras tiene otras muchas cosas utiles :D
Código:
http://www.mztools.com/v3/download_sp.aspx

Un saludo :)
En línea

agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #6 en: 18 Diciembre 2010, 16:18 pm »

Os recomiendo MZ-Tools, que ademas de tener la opcion de crear cabeceras tiene otras muchas cosas utiles :D
Código:
http://www.mztools.com/v3/download_sp.aspx

Un saludo :)

No conocía ningún programa por el estilo. pero me imagine que habría alguno...  es mas pensé "Seguro alguien de foro tira un "Tenes X programa para hacer eso"...

Gracias Karcrack ahora lo Pruebo
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #7 en: 18 Diciembre 2010, 16:29 pm »

Os recomiendo MZ-Tools, que ademas de tener la opcion de crear cabeceras tiene otras muchas cosas utiles :D
Código:
http://www.mztools.com/v3/download_sp.aspx

Un saludo :)
Wooow Karcry, esta genial! :D

DoEvents! :P
En línea

agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: [Herramienta+Source] Creador de "Cabezeras" para Codigo Fuente
« Respuesta #8 en: 18 Diciembre 2010, 16:42 pm »

Wooow Karcry, esta genial! :D

DoEvents! :P

Si es verdad Lo Termine de probar Esta excelente!! Murió mi Proyecto :S
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines