PDA

Ver la Versión Completa : ¿Donde declaro al TEdit char para String?C++


gandalf_27
29-05-2006, 04:20:50
Ahi defino el struct "Riesgaut" y defino a "mar" como char, para trabajarlo desde los TEdit...

typedef struct { //Registro para el riesgo del auto.
char nom[11]; //
char mar[11]; // Para la marca
char mod[11]; //
char ani[11]; // Para el año.
char pat[7]; // Para la patente.
}Riesgaut; //Fin del registro

Y en form, donde la utilizo...coloco...

AnsiString g;
g=Form7->Edit1->Text.c_str();
strcpy(Reg.riAu.mar,Form7->Edit1->Text.c_str());
Como para permitir que ingresen texto....
Ahora..cuando voy a utilizar este TEdit que esta en otro form, en el traspaso de ventana...me dice..." No se puede convertir el tipo (String) en el tipo (Double)....

Debo cambiar algo????La idea es que este TEdit sea un Filtro de busqueda, es decir ingresando Texto, me de todas los que coincidieron con ese texto....
Si alguien me puede ayudar.... Lo agradeceré

alt126
29-05-2006, 13:06:18
La verdad es que no me he enterado bien de lo que pretendes...pero a ver si es esto:

Tienes 2 formularios....uno con un TEdit y otro formulario donde haces la busqueda esa que dices...no?


Yo lo que hago es una variable global publica en el .h, y con esa variable paso un valor desde un formulario a otro.

De todas maneras eso que te da es porque se intenta guardar una cadena en una variable de tipo double...aunque no se donde, porque la parte de codigo que pones esta bien....

siento no poder ser de mas ayuda...si eso pon mas codigo a ver si se ve algo que tengas por otro lado...

jona-182
31-05-2006, 20:00:54
No entiendo muy bien eso de que te dice que no se puede convertir en double pero igualmente me parece que no es correcto acceder a la estructura de la forma que lo haces
"strcpy(Reg.riAu.mar,Form7->Edit1->Text.c_str());"
lo que subrayo no me queda claro, ya que si vos declaraste una estructura y le diste el nombre de "Riesgaut", lo que sigue sería algo como instanciarla y luego trabajar con la instancia solamente... por ej:

//--------------------------------------------------------------------
Riesgaut registro; // creas una instancia.
strcpy(registro.mar,Form7->Edit1->Text.c_str()); // aca copias lo que hay
// en el Edit1 del Form7
// dentro de la variable
// "mar" de la estructura
// "registro".

/* por otra parte ya que te molestas en crear una variable AnsiString utilizala dentro de la funcion "strcpy" para que te quede mas prolijo, es decir: */


AnsiString g;
g=Form7->Edit1->Text;
strcpy(registro.mar,g.c_str());
//-------------------------------------------------------------------