Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
A Partir De Números Escritos En Una Textarea, Imponer Valores
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
En una textarea tengo un seguido de numeros, uno encima del otro y quiero que sean variables para poder operar con estos valores.

Estoy haciendo un programa para resolver polinomios de hasta 7 grado, para ello, tengo que descomponer el ultimo término, normalmente el independiente, y hacer ruffini para probar si los valores divisibles del último término son  o no x de posibles respuestas.
Jguardon ya me respondió como hacer los divisibles de el último numero para que quedaran escritos en una textarea así:

(en el caso del 9):
1
3
9



Ahora quiero que cada uno sea una variable: d1, d2, d3... (divisor1, divisor2,...)

Para eso creo que se tendria que hacer algo así:

DIM contingut AS String
DIM informacio_array AS string[]

contingut = TextArea1.Text

informacio_array = Split(contingut, "") 'no sé como especificar que cada valor esta escrito debajo del otro.

d1 = informacio_array[0]
d2 = informacio_array[1]
d3 = informacio_array[2]
d4 = informacio_array[3]
d5 = informacio_array[4]
d6 = informacio_array[5]
d7 = informacio_array[6]
d8 = informacio_array[7]


Otro error que me da es que si no existe un array[4], como por ejemplo en el caso del 9, se cuelga, como podria hacer que si no hay ningún array[] mas no haga nada?


Muchas gracias y perdonen otra vez mi ignorancia.
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
la cantidad de elementos del array  con ubound

cantidad=ubound(array[])
sabiendo eso buscas la manera
de no usar elementos del array que no existen



tambien puede usar  una variable como indice del array y un bucle para recorrer el array valor por valor
 



 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
Muchas gracias, he encontrado la forma de dar su valor a cada numero, escribo el código por si hay alguien interesado:
Sigo teniendo el problema de que si no hay suficientes divisores para todas las variables, me da error.
Hay alguien que sepa como hacer para que si no hay numero no dé el error "Out of bounds"?


No entiendo mucho la función del ubound, gambas2 me dice que no lo identifica, esta función, daría el numero de array que hay?
Creo que lo suyo seria ver el numero de array que hay, y en función de eso le dices al programa que variables tienen un numero y cuales no se tienen que usar.



PUBLIC SUB Button1_Click()
  TextArea1.Clear
  trobadivisors(CInt(ValueBox8.Value))
  END

PRIVATE FUNCTION trobadivisors(num AS Integer) AS Integer
  DIM i AS Integer
  DIM contingut AS String
  DIM informacio_array AS string[]
  
  FOR i = 1 TO num
    IF num MOD i = 0 THEN
      TextArea1.Text &= i & ",\n" 'tengo los divisores escritos en la textarea separados por una coma
    ENDIF
  NEXT

contingut = TextArea1.Text
informacio_array = Split(contingut, ",") 'separo el contenido dando un valor a cada variable (definidas antes como PRIVATE d1 AS String)
'aqui tendia que haber una especie de contador de array:
'numerodedivisores = "numero de"(Array[])

'y aqui pones IF numerodedivisores = 2 THEN
'd1 = informacio_array[0]
'd2 = informacio_array[1]
'endif

d1 = informacio_array[0]
d2 = informacio_array[1]
d3 = informacio_array[2]
d4 = informacio_array[3]
d5 = informacio_array[4]
d6 = informacio_array[5]
d7 = informacio_array[6]
d8 = informacio_array[7]

'IF ValueBox9.Value = ValueBox8.Value + (((((((ValueBox1.Value) * d1 + (ValueBox2.Value)) * d1 + (ValueBox3.Value)) * d1 + (ValueBox4.Value)) * d1 + (ValueBox5.Value)) * d1 + (ValueBox6.Value)) * d1 + (ValueBox7.Value)) * d1 THEN
'TextLabel4.Text = d1
'ENDIF

END

 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
Oleguer escribió: [Ver mensaje]


No entiendo mucho la función del ubound, gambas2 me dice que no lo identifica, esta función, daría el numero de array que hay?
Creo que lo suyo seria ver el numero de array que hay, y en función de eso le dices al programa que variables tienen un numero y cuales no se tienen que usar.

[/code]


ups  ubounds es de otro  lenguaje  


este código funciona

DIM a AS String[]
  DIM b AS Integer
  
  
  a = Split("1,2,3,4,5,6", ",")
  
  b = a.Count
  
  ME.Text = b

 



 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
Muchas gracias por la aportación, problema resuelto.
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
Lo que no tiene mucho sentido es usar el TextArea como si fuera una variable. En el ejemplo inicial (del otro hilo ) lo puse solo como control para mostrar los datos, que para eso es.

Dentro del bucle donde se calculan los divisores podemos ir añadiendo los valores a un array de Integers y luego operar con ese array. Te lo pongo para que quede más claro lo que quiero decir:

Private informacio_array as Integer[] ' declaramos un array de Enteros

Public Sub Button1_Click()

  trobaDivisors(CInt(TextBox1.Text))

End

Private Function trobaDivisors(numero As Integer) As Integer
  Dim i As Integer
  
  informacio_array = New Integer[]
  
  For i = 1 To numero
    If numero Mod i = 0 Then
      informacio_array.Add(i) ' aquí añadimos elementos al array
    Endif
  Next
  
End
 


Ahora desde otro método o función ya puedes consultar el número de elementos en el array y actuar en consecuencia.

Public Sub hacerAlgo()

  Dim numElementos As Integer
  numElementos = informacio_array.Count

  ' hacer algo más
End


Básicamente es esto, pero depende de lo que realmente necesites hacer con los valores de los divisores.

Un consejo importante: No se usan los controles gráficos para guardar u operar con lo que muestran como si de una variable se tratase. Los controles son únicamente para la representación de datos y/o interacción con el usuario; para todo lo demás están las variables y sus tipos.

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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
Muchas gracias por la aclaración, ahora lo veo mucho mas claro, también gracias por el consejo, es que hace poco que programo y aún no domino mucho, como habrás notado.

Saludos
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
No te preocupes. El que tiene ganas de aprender siempre será bienvenido. Veo que al menos intentas hacer las cosas por ti mismo y eso es importante. Es cuestión de tiempo que llegues a ser un buen programador si perseveras, así que pregunta cuando tengas dudas, estamos aquí para ayudarnos mutuamente.

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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Partir De Números Escritos En Una Textarea, Imponer Valores 
 
Gracias por el apoyo
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Números Aleatorios (Solucionado) Cubel General 3 Jueves, 18 Febrero 2010, 17:10 Ver último mensaje
4octavio4
No hay nuevos mensajes Números Romanos Shell General 0 Lunes, 14 Junio 2010, 09:03 Ver último mensaje
Shell
No hay nuevos mensajes Suma De Dos Números ruben General 10 Miercoles, 03 Noviembre 2010, 21:37 Ver último mensaje
ruben
No hay nuevos mensajes Convertir Números A Números Romanos (1 A... v3ctor Aplicaciones/Fragmentos de Código 11 Domingo, 05 Abril 2020, 18:40 Ver último mensaje
v3ctor
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron