| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Angell Cdt

Registrado: 08 Feb 2005Mensajes: 18
|
Publicado: Mar 08 Feb, 2005 1:36 pm Asunto: Formulario con items de un fichero de texto |
|
|
Tengo un formulario con un ComboBox, en el cual deseo que aparezcan unos items que se correspondan con los nombres que hay escritos en un fichero de texto, y que a la vez de la opcion de crear uno nuevo.
Es decir:
Fichero de texto
Pepe
Juan
Alberto
ComboBox:
Pepe
Juan
Alberto
Nuevo Usuario
Y por ultimo como haria para que al hacer clic en Nuevo Usuario se desplegase un nuevo formulario para rellenar los datos de ese nuevo usuario.
Gracias |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 08 Feb, 2005 1:54 pm Asunto: |
|
|
Desde mi putno devista tienes un par de opciones: o verificar el contenido del CombBox o el ítem en que estás posicionado, que presonalmente me gusta más. Lo que tienes que tener en cuenta es que la porpiedad Sorted del ComboBox tiene que estar a false para que no se te meta por medio la claúsula Nuevo Usuario. Podrías hacer algo así:
| Código: | if (ComboBox1->Items->Strings[ComboBox1->ItemIndex] == "Nuevo Usuario"
{
<Código para dar de alta un nueva ficha>
} |
Con esto verifica que el contenido de la cadena es el que te interesa. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Angell Cdt

Registrado: 08 Feb 2005Mensajes: 18
|
Publicado: Mie 09 Feb, 2005 1:21 pm Asunto: Un poco mas alla |
|
|
Gracias por la ayuda, pero soy un poco novatillo y necesito saber como hacer el resto:
-Como leo los nombres que estan en cada linea del fichero de texto y los inserto como items en el comboBox. |
|
| Volver arriba |
|
 |
Enrique Master


Registrado: 13 Ago 2002Mensajes: 261Ubicación: La Vila Joiosa (Alacant)
|
Publicado: Mie 09 Feb, 2005 1:35 pm Asunto: |
|
|
Hola, Angell (y Angel, esta parecía una conversación celestial). Lo que pides es sencillo para cualquier TStrings (lista de cadena de caracteres) pues es un método que ya tiene incorporado. Como la propiedad Items de un TComboBox es de ese tipo de datos también lo tiene: | Código: | ComboBox1->Items->LoadFromFile(NombreExtensionYRutaDelFicheroDeTexto);
|
Lo único que tendrás que pensar tú es dónde se hace esa lectura (al mostrar el formulario, al pulsar cierto boton, ...)
Suerte. _________________ Ojos ... no son ojos porque los ves, son ojos porque te miran |
|
| Volver arriba |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Vie 11 Feb, 2005 6:59 pm Asunto: |
|
|
Hola, Tambien quiero aportar algo, sucede que cuando uno es novato las cosas mas sencillas parecen complicadas y viceversa, asi que lo mejor es un pequeño ejemplo:
Crea un nuevo proyecto con dos formularios, en el primero pones el Combo en el otro un Edit, este sera el formulario para captar datos del nuevo usuario.
Vamos a usar los eventos OnEnter y OnChange en el primero cargamos el fichero si existe y en el segundo captamos el nuevo usuario: | Código: |
void __fastcall TForm1::ComboBox1Enter(TObject *Sender)
{
ComboBox1->Text="";//Limpia texto si necesario
ComboBox1->Items->Clear();
try
{
ComboBox1->Items->LoadFromFile("C:\\Users.cfg");
} catch(...){}//El archivo puede no existir, ej. la primera vez
ComboBox1->Items->Add("Nuevo Usuario");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
if(ComboBox1->Text=="Nuevo Usuario")
{
//Muestras el Form de Nuevo Usuario de forma Modal
Form2->ShowModal();
//Actualizar Fichero
ComboBox1->Items->Delete(ComboBox1->Items->Count-1);//Quitamos Nuevo Usuario // Para no Repetirlo Ojo Sorted a false o hacer como dice Angel
ComboBox1->Items->Add(Form2->Edit1->Text);//Añadimos el nuevo usuario
ComboBox1->Items->SaveToFile("C:\\Users.cfg");//Guardamos Fichero
ComboBox1->Items->Add("Nuevo Usuario");//Reponemos Nuevo Usuario
}
}
//---------------------------------------------------------------------------
|
|
|
| Volver arriba |
|
 |
|