Autor |
Mensaje |
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Aplication Authors
Hola.
Si se fijan en Herramientas/Preferencias/Fragmantos de código y luego en gpl veran que existe algo así:
${1:$TITLE}
${2:$DESCRIPTION}
Copyright (C) ${3:$AUTHORS}
Luego en el editor de gambas se puede usar:
Application.Dir
Application.Env.Count
Application.Handle
Application.Id
Application.Name
Application.Path
Application.Return
Application.Title
Application.Version
Pero lo que no esta es algo así como Application.Author
¿Cual es la variable o clase que devuelve los autores del programa?
Saludos.
|
#1 Sabado, 07 Enero 2017, 21:56 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Aplication Authors
Bueno luego de fracasar en el intentento de encontrar alguna forma nativa en gambas para poner los autores del proyecto, decidi hacer una funcion para ello.
Public Function PrInfo() As String[] ''Devuelve una matriz con la información del projecto alojada en el archivo ".project", donde el orden de cada item es el siguiente:
'0 Title
'1 Description
'2 Authors
'3 Vendor
'4 Version
'5 Component
'6 Language
'7 Startup
'8 Icon
Dim stxKeys As New String[]
Dim stxInfo As New String[]
Dim strProject As String
Dim stxTmp As New String[]
Dim stxTag As New String[]
Dim stxVal As New String[]
Dim int As Integer
Dim key As Integer
Dim tag As Integer
Dim strVal As String
Dim intCount As Integer
stxKeys.Add("Title")
stxKeys.Add("Description")
stxKeys.Add("Authors")
stxKeys.Add("Vendor")
stxKeys.Add("Version")
stxKeys.Add("Component")
stxKeys.Add("Language")
stxKeys.Add("Startup")
stxKeys.Add("Icon")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
If Exist(".project") Then
strProject = File.Load(".project")
stxTmp = Split(strProject, "\n")
For int = 0 To stxTmp.Max
If InStr(stxTmp[int], "=") > 0 Then
Select Split(stxTmp[int], "=")[0]
Case "Title", "Startup", "Icon", "Version", "Component", "Description", "Authors", "Language", "Vendor"
stxTag.Add(Split(stxTmp[int], "=")[0])
strVal = Replace(Split(stxTmp[int], "=")[1], Chr(34), "")
strVal = Replace(strVal, "\n", ":")
stxVal.Add(strVal)
End Select
Endif
Next
Endif
If stxTag.Count > 0 Then
For key = 0 To stxKeys.Max
intCount = 0
For tag = 0 To stxTag.max
If stxTag[tag] = stxKeys[key] Then
Select intCount
Case 0
stxInfo[key] &= stxVal[tag]
Case Else
stxInfo[key] &= ":" & stxVal[tag]
End Select
Inc intCount
Endif
Next
Next
Endif
Return stxInfo
End
La incluiré en el compilado de funciones.
Saludos.
|
#2 Sabado, 07 Enero 2017, 22:59 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Aplication Authors
Hola Tincho
¿Nos puedes explicar para qué es esto?:
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
stxInfo.Add("")
Añades 9 elementos vacíos a un array string, pero para qué?
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#3 Domingo, 08 Enero 2017, 23:11 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Aplication Authors
Hola Tincho
¿Nos puedes explicar para qué es esto?:
.....
Añades 9 elementos vacíos a un array string, pero para qué?
Es para que luego pueda editar la posición sin tener que agregarla.
Si quiero hacer, por ejemplo, esto: stxInfo[key] = "texto" pero la array no tiene la posicion key el programa fallara.
Saludos.
|
#4 Martes, 10 Enero 2017, 14:39 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Aplication Authors
¿Por qué no usas colecciones? Son auto-explicativas y mucho más flexibles...
=================== No podemos regresar
|
#5 Martes, 10 Enero 2017, 17:52 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Aplication Authors
¿Por qué no usas colecciones? Son auto-explicativas y mucho más flexibles...
No me terminan de convencer las colecciones. Las listas se pueden recorrer con un numero entero en cambio las colecciones se deben recorrer con la estructura "for each" ya que el indice es un texto.
Luego las colecciones no tienen algunos medos muy interesante como Sort o Join, entre otros.
COlecciones
Properties
- Count
- Default
- Key
- Length
Methods
- Add
- Clear
- Copy
- Exist
- Remove
Properties
- Bounds
- Count
- Data
- Dim
- Length
- Max
- Type
Methods
- Add
- Clear
- Copy
- Delete
- Exist
- Extract
- Fill
- Find
- Insert
- Join
- Pop
- Push
- Remove
- Resize
- Reverse
- Sort
Es decir la lista frente a la colección tiene 11 métodos más.
Saludos.
|
#6 Martes, 10 Enero 2017, 18:18 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Aplication Authors
Citar: Es decir la lista frente a la colección tiene 11 métodos más.
¿y cuántos de esos métodos usas en este código? Hay que utilizar cada vez lo que sea más conveniente al problema, digo.
=================== No podemos regresar
|
#7 Martes, 10 Enero 2017, 19:31 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Aplication Authors
Citar: Es decir la lista frente a la colección tiene 11 métodos más.
¿y cuántos de esos métodos usas en este código? Hay que utilizar cada vez lo que sea más conveniente al problema, digo.
Como te comentaba antes uso .Join, .Sort y también uso .Insert y .Find. ninguno de estos métodos esta disponible en las colecciones.
Saludos.
|
#8 Martes, 10 Enero 2017, 19:44 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Aplication Authors
Citar:
Como te comentaba antes uso .Join, .Sort y también uso .Insert y .Find. ninguno de estos métodos esta disponible en las colecciones.
No en el código que muestras...
=================== No podemos regresar
|
#9 Martes, 10 Enero 2017, 21:53 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Aplication Authors
Tincho:
Citar: uso .Join, .Sort y también uso .Insert y .Find.
Se podían implementar en una nueva clase.
Yo implemente recorrer colecciones como si fueran un array:
http://jsbsan.blogspot.com.es/2014/...iones-como.html
Saludos
|
#10 Miercoles, 11 Enero 2017, 10:41 |
|
|
|