|
Página 1 de 2
|
Chooser No Acepta Mas De 62 Argumentos :(
Autor |
Mensaje |
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Chooser No Acepta Mas De 62 Argumentos :(
Select Case libro
Case 1 To 66
Xcoleccion = Choose(libro, cGenesis, cExodo, cLevitico, cNumeros,
cDeuteronomio, cJosue, cJueces, cRut, c1Samuel, cVacia, cVacia,
cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia,
cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia,
cOseas, cJoel, cAmos, cAbdias, cJonas, cMiqueas, cNahum, cHabacuc,
cSofonias, cHageo, cZacarias, cMalaquias,
cMateo, cMarcos, cLucas, cJuan, cHechos, cRomanos, c1Corintios,
c2Corintios, cGalatas, cEfesios, cFilipenses, cColosenses,
c1Tesalonicenses, c2Tesalonicenses, c1Timoteo,
c2Timoteo, cTito, cFilemon, cHebreos, cSantiago, c1Pedro,
c2Pedro, c1Juan) ' c2Juan, c3Juan, cJudas, cApocalipsis)
'demasiados argumentos al parecer chooser no acepta mas de 62 argumentos???
Return Xcoleccion
Case Else
Message.Error("(Valor incorrecto " & libro & ") Libro debe estar entre 1 y 66")
Return cVacia
End Select
la idea de hacerlo asi es evitar esto:
que opinan o que experiencia tienen ustedes?
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#1 Viernes, 10 Agosto 2018, 21:35 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
Propongo un array de cadenas.
Ad exemplum:
Public Sub Main()
Dim libro As New String[]
libro = ["cGenesis", "cExodo", "cLevitico", "cNumeros", "cDeuteronomio", "cJosue", "cJueces", "cRut",
"c1Samuel", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia",
"cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia",
"cVacia", "cVacia", "cVacia", "cOseas", "cJoel", "cAmos", "cAbdias", "cJonas",
"cMiqueas", "cNahum", "cHabacuc", "cSofonias", "cHageo", "cZacarias", "cMalaquias", "cMateo",
"cMarcos", "cLucas", "cJuan", "cHechos", "cRomanos", "c1Corintios", "c2Corintios", "cGalatas",
"cEfesios", "cFilipenses", "cColosenses", "c1Tesalonicenses", "c2Tesalonicenses", "c1Timoteo", "c2Timoteo",
"cTito", "cFilemon", "cHebreos", "cSantiago", "c1Pedro", "c2Pedro", "c1Juan", "63", "64",
"65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80",
"81", "82", "83", "84", "85", "86", "87", "88", "89", "90",
"91", "92", "93", "94", "95", "96", "97", "98", "99", "centum"]
Print "Total elementos: "; libro.Count
Print "Elegido elemento: "; libro[99]
End
última edición por vuott el Viernes, 10 Agosto 2018, 23:15; editado 1 vez
|
#2 Viernes, 10 Agosto 2018, 23:15 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
Vuott:
Se supone que tiene que devolver una colección, creo.
v3ctor:
¿ Cómo elige el usuario el libro ?. ¿ Un ListBox ?.
¿ Y con el indice de este se conoce la colección ?
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Sabado, 11 Agosto 2018, 00:17 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
Se supone que tiene que devolver una colección, creo.
No me parece, porqué la función Choose( ) no es concebida ni es estructurada como una Collection: no tiene una " llave".
No te gusta el array de String ? .....sobre lo he escrito como si fuera una serpiente: en zig zag.
|
#4 Sabado, 11 Agosto 2018, 00:56 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
Propongo un array de cadenas.
Ad exemplum:
Public Sub Main()
Dim libro As New String[]
libro = ["cGenesis", "cExodo", "cLevitico", "cNumeros", "cDeuteronomio", "cJosue", "cJueces", "cRut",
"c1Samuel", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia",
"cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia", "cVacia",
"cVacia", "cVacia", "cVacia", "cOseas", "cJoel", "cAmos", "cAbdias", "cJonas",
"cMiqueas", "cNahum", "cHabacuc", "cSofonias", "cHageo", "cZacarias", "cMalaquias", "cMateo",
"cMarcos", "cLucas", "cJuan", "cHechos", "cRomanos", "c1Corintios", "c2Corintios", "cGalatas",
"cEfesios", "cFilipenses", "cColosenses", "c1Tesalonicenses", "c2Tesalonicenses", "c1Timoteo", "c2Timoteo",
"cTito", "cFilemon", "cHebreos", "cSantiago", "c1Pedro", "c2Pedro", "c1Juan", "63", "64",
"65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80",
"81", "82", "83", "84", "85", "86", "87", "88", "89", "90",
"91", "92", "93", "94", "95", "96", "97", "98", "99", "centum"]
Print "Total elementos: "; libro.Count
Print "Elegido elemento: "; libro[99]
End
tiene que devolver una coleccion:
ejemplo de una coleccion:
Public cGenesis As Collection = [
"1": "31", "2": "25", "3": "24", "4": "26", "5": "32",
"6": "22", "7": "24", "8": "22", "9": "29", "10": "32",
"11": "32", "12": "20", "13": "18", "14": "24", "15": "21",
"16": "16", "17": "27", "18": "33", "19": "38", "20": "18",
"21": "34", "22": "24", "23": "20", "24": "67", "25": "34",
"26": "35", "27": "46", "28": "22", "29": "35", "30": "43",
"31": "55", "32": "32", "33": "20", "34": "31", "35": "29",
"36": "43", "37": "36", "38": "30", "39": "23", "40": "23",
"41": "57", "42": "38", "43": "34", "44": "34", "45": "28",
"46": "34", "47": "31", "48": "22", "49": "33", "50": "26"] ''1
primer numero es capitulo, segundo numero cantidad de versiculos que tiene el capitulo
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#5 Sabado, 11 Agosto 2018, 02:10 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
Vuott:
Se supone que tiene que devolver una colección, creo.
v3ctor:
¿ Cómo elige el usuario el libro ?. ¿ Un ListBox ?.
¿ Y con el indice de este se conoce la colección ?
Saludos
1-de varias formas en particular un clase nueva que estoy terminando
2-no
3-si
Public Function ObtenerColeccion(libro As Byte) As Collection
Dim cVacia As New Collection
Dim Xcoleccion As Collection
' Select Case libro
' Case 1 To 66
' Xcoleccion = Choose(libro, cGenesis, cExodo, cLevitico, cNumeros,
' cDeuteronomio, cJosue, cJueces, cRut, c1Samuel, cVacia, cVacia,
' cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia,
' cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia, cVacia,
' cOseas, cJoel, cAmos, cAbdias, cJonas, cMiqueas, cNahum, cHabacuc,
' cSofonias, cHageo, cZacarias, cMalaquias,
' cMateo, cMarcos, cLucas, cJuan, cHechos, cRomanos, c1Corintios,
' c2Corintios, cGalatas, cEfesios, cFilipenses, cColosenses,
' c1Tesalonicenses, c2Tesalonicenses, c1Timoteo,
' c2Timoteo, cTito, cFilemon, cHebreos, cSantiago, c1Pedro,
' c2Pedro, c1Juan) ' c2Juan, c3Juan, cJudas, cApocalipsis)
' 'demasiados argumentos al parecer chooser no acepta mas de 62 argumentos???
' Return Xcoleccion
' Case Else
' Message.Error("(Valor incorrecto " & libro & ") Libro debe estar entre 1 y 66")
' Return cVacia
' End Select
'**********************************************************************
Select Case libro
Case 1
Return cGenesis
Case 2
Return cExodo
Case 3
Return cLevitico
Case 4
Return cNumeros
Case 5
Return cDeuteronomio
Case 6
Return cJosue
Case 7
Return cJueces
Case 8
Return cRut
Case 9
Return c1Samuel
Case 10
Case 11
Case 12
Case 13
Case 14
Case 15
Case 16
Case 17
Case 18
Case 19
Case 20
Case 21
Case 22
Case 23
Case 24
Case 25
Case 26
Case 27
Case 28
Return cOseas
Case 29
Return cJoel
Case 30
Return cAmos
Case 31
Return cAbdias
Case 32
Return cJonas
Case 33
Return cMiqueas
Case 34
Return cNahum
Case 35
Return cHabacuc
Case 36
Return cSofonias
Case 37
Return cHageo
Case 38
Return cZacarias
Case 39
Return cMalaquias
' NUEVO TESTAMENTO ****************************************
Case 40
Return cMateo
Case 41
Return cMarcos
Case 42
Return cLucas
Case 43
Return cJuan
Case 44
Return cHechos
Case 45
Return cRomanos
Case 46
Return c1Corintios
Case 47
Return c2Corintios
Case 48
Return cGalatas
Case 49
Return cEfesios
Case 50
Return cFilipenses
Case 51
Return cColosenses
Case 52
Return c1Tesalonicenses
Case 53
Return c2Tesalonicenses
Case 54
Return c1Timoteo
Case 55
Return c2Timoteo
Case 56
Return cTito
Case 57
Return cFilemon
Case 58
Return cHebreos
Case 59
Return cSantiago
Case 60
Return c1Pedro
Case 61
Return c2Pedro
Case 62
Return c1Juan
Case 63
Return c2Juan
Case 64
Return c3Juan
Case 65
Return cJudas
Case 66
Return cApocalipsis
Case Else
Return cVacia
End Select
End
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
última edición por v3ctor el Sabado, 11 Agosto 2018, 02:17; editado 1 vez
|
#6 Sabado, 11 Agosto 2018, 02:14 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#7 Sabado, 11 Agosto 2018, 02:37 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
tiene que devolver una coleccion:
En los ejemplos de las preguntas sería oportuno explicitar también la declaración de los tipos de valores existentes en los ejemplos.
|
#8 Sabado, 11 Agosto 2018, 13:47 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
v3ctor:
¿ Qué te parece una estructura tal como esta ?.
Por ejemplo para devolver una colección al azar. Un libro.
'Número capitulo, número de versículos
Private cGenesis As Collection = [
"1": "31", "2": "25", "3": "24", "4": "26", "5": "32",
"6": "22", "7": "24", "8": "22", "9": "29", "10": "32",
"11": "32", "12": "20", "13": "18", "14": "24", "15": "21",
"16": "16", "17": "27", "18": "33", "19": "38", "20": "18",
"21": "34", "22": "24", "23": "20", "24": "67", "25": "34",
"26": "35", "27": "46", "28": "22", "29": "35", "30": "43",
"31": "55", "32": "32", "33": "20", "34": "31", "35": "29",
"36": "43", "37": "36", "38": "30", "39": "23", "40": "23",
"41": "57", "42": "38", "43": "34", "44": "34", "45": "28",
"46": "34", "47": "31", "48": "22", "49": "33", "50": "26"] ''1
'Invento el número de capitulos y versículos del Exodo
Private cExodo As Collection = [
"1": "12", "2": "30", "3": "25"
] ''2
Private libros As Collection = ["0": cGenesis, "1": cExodo]
Public Sub Main()
Dim coleciondevuelta As Collection 'En ella devuelve el contenido de un libro
Randomize
coleciondevuelta = DevuelveLibroAzar(libros)
Stop
End
Public Sub DevuelveLibroAzar(unacoleccion As Collection) As Collection
Dim libroazar As Integer
libroazar = Int(Rnd(unacoleccion.Count))
Return unacoleccion[CStr(libroazar)]
End
Como el valor es variant en una colección, se le pude asignar otra colección.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#9 Viernes, 17 Agosto 2018, 01:11 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Chooser No Acepta Mas De 62 Argumentos :(
v3ctor:
¿ Qué te parece una estructura tal como esta ?.
Por ejemplo para devolver una colección al azar. Un libro.
'Número capitulo, número de versículos
Private cGenesis As Collection = [
"1": "31", "2": "25", "3": "24", "4": "26", "5": "32",
"6": "22", "7": "24", "8": "22", "9": "29", "10": "32",
"11": "32", "12": "20", "13": "18", "14": "24", "15": "21",
"16": "16", "17": "27", "18": "33", "19": "38", "20": "18",
"21": "34", "22": "24", "23": "20", "24": "67", "25": "34",
"26": "35", "27": "46", "28": "22", "29": "35", "30": "43",
"31": "55", "32": "32", "33": "20", "34": "31", "35": "29",
"36": "43", "37": "36", "38": "30", "39": "23", "40": "23",
"41": "57", "42": "38", "43": "34", "44": "34", "45": "28",
"46": "34", "47": "31", "48": "22", "49": "33", "50": "26"] ''1
'Invento el número de capitulos y versículos del Exodo
Private cExodo As Collection = [
"1": "12", "2": "30", "3": "25"
] ''2
Private libros As Collection = ["0": cGenesis, "1": cExodo]
Public Sub Main()
Dim coleciondevuelta As Collection 'En ella devuelve el contenido de un libro
Randomize
coleciondevuelta = DevuelveLibroAzar(libros)
Stop
End
Public Sub DevuelveLibroAzar(unacoleccion As Collection) As Collection
Dim libroazar As Integer
libroazar = Int(Rnd(unacoleccion.Count))
Return unacoleccion[CStr(libroazar)]
End
Como el valor es variant en una colección, se le pude asignar otra colección.
Saludos
interesante lo pruebo, también estoy manejando esta posibilidad que no he probado porque me faltan unas diez colecciones (los datos) por terminar.
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#10 Viernes, 17 Agosto 2018, 14:22 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|