CLR: .Net / Mono / Boo / Otros CLR > Otros CLR
Usar valor de String
pedro00pedro:
El problema es que quiero que el valor en ||| SendKeys::SendWait(act4); |||| sea dinámico dependiendo del valor de otra string (act4), que es el nombre de otrras string que es la que quiero que se muestre. Tengo varias strings (text1, text2, text3...) que tienen almacenado texto, y quiero que se muestren una por una, y para ello tenia un loop en el que act4 va cambiando empezando siendo text1 y acabando siendo text30. Pero el problema está en que SendKeys::SendWait(act4); no muestra el valor de text1, el de text2, etc, sino que muestra el nombre, tal cual, "text1", "text2", etc, y yo no quiero eso.
Aqui os pongo el codigo para que veais mejor a que me refiero, y a ver si me podeis decir como solucionarlo.
--- Código: C++ ---String^ text = Convert::ToString(textBox1->Text); String^ text2 = Convert::ToString(textBox4->Text); String^ text3 = Convert::ToString(textBox5->Text); [...] String^ text30 = Convert::ToString(textBox33->Text); int rep; //numero de repeticiones de envio de mensajes if (textBox2->Text == "") rep = 1; else rep = Convert::ToInt32(textBox2->Text); int seg; //numero de segundos entre envios if (textBox3->Text == "") seg = 0; else seg = Convert::ToInt32(textBox3->Text); int num; //numero de mensajes a enviar if (textBox8->Text == "") num = 0; else num = Convert::ToInt32(textBox8->Text); int act = 1; Sleep(2000); //#define ESC 0x1b do { int act2 = 1; do { String^ act3 = Convert::ToString(act2); String^ act4 = "text" + act3; Sleep(seg*1000); SendKeys::SendWait(act4); [color=#FF0000]<---Aqui esta el problema, envia el mensaje "text1", "text2", etc, en vez del valor de las strings con ese nombre[/color] SendKeys::SendWait("{ENTER}"); act2 = act2++; } while (act2 <= num); act = act + 1; } while (act <= rep);
LapizTolita:
Primero ¿Por qué en vez de ese Do While no pones un for?
Segundo te conviene tener un arreglo de texbox asi podes hacer SendKeys::SendWait(MiTextBoxArray.Text);
ivancp:
No me agrada la sintaxis del codigo C++ de .NET (opinion muy personal offtopic para este post)
pedro00pedro:
--- Cita de: "LapizTolita" ---Primero ¿Por qué en vez de ese Do While no pones un for?
Segundo te conviene tener un arreglo de texbox asi podes hacer SendKeys::SendWait(MiTextBoxArray.Text);
--- Fin de la cita ---
En cuanto a lo primero: ¿Que diferencia hay como para que merezca la pena cambiarlo?
Lo segundo. no se como se hace eso, aun estoy aprendiendo. ¿ Podrías explicar brevemente como hacerlo?
--- Cita de: "ivancp" ---No me agrada la sintaxis del codigo C++ de .NET (opinion muy personal offtopic para este post)
--- Fin de la cita ---
No se, yo solo he programado en VB.NET y C++.Net, es lo que se y estoy empezando, así que de momento no me preocupo por eso.
LapizTolita:
--- Cita de: "pedro00pedro" ---
--- Cita de: "LapizTolita" ---Primero ¿Por qué en vez de ese Do While no pones un for?
Segundo te conviene tener un arreglo de texbox asi podes hacer SendKeys::SendWait(MiTextBoxArray.Text);
--- Fin de la cita ---
En cuanto a lo primero: ¿Que diferencia hay como para que merezca la pena cambiarlo?
Lo segundo. no se como se hace eso, aun estoy aprendiendo. ¿ Podrías explicar brevemente como hacerlo?
--- Fin de la cita ---
No hay mucha diferencia para la maquina es cuestión de que tu código quede mas legible, es más cómodo tener un for(int i=0;i<n;++i) y después todo el resto del código a tener desparramadas todas las sentencias de control por ahí.
Respecto a lo segundo, te explico no todo en la vida es arrastrar textbox hay que manejar mas el código.
Declará un arreglo de textbox como lo harías con cualquier otro tipo.
Inicializalos y después le cambias las propiedades y sus respectivas ubicaciones entre otras propiedades que te parezca necesario configurar.
Otra cosa te conviene llamar las variables con nombre mas demostrativos.
Por ejemplo: repeticiones_Textbox
--- Cita de: "pedro00pedro" ---
--- Cita de: "ivancp" ---No me agrada la sintaxis del codigo C++ de .NET (opinion muy personal offtopic para este post)
--- Fin de la cita ---
No se, yo solo he programado en VB.NET y C++.Net, es lo que se y estoy empezando, así que de momento no me preocupo por eso.
--- Fin de la cita ---
No te preocupes el quería robar post nada más.
Y si es resulta bastante incomodo ver C++ así, pero es cuestión de costumbre
Navegación
[#] Página Siguiente
Ir a la versión completa