FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola,
Me temo que el código en cuestión encierra muchas "cosas" que no son fáciles de dilucidar. Ahí se ven variables, objetos, etc., que no se sabe muy bien de dónde salen, y, así, es casi imposible ayudarte. Tal vez deberías plantear la cuestión de otra forma. Indicando, por ejemplo, qué es lo que se supone que quieres hacer y porqué crees que ello ha de estar en una clase aparte. Por otro lado, recuerda que en el foro se trata de ayudar a resolver problemas más concretos: no se trata de traducir código de un lenguaje a otro, ni de que se desarrollen clases enteras en base a cierto código, etc. Así que deberías concretar bastante más, en mi opinión. P.D. No escribas en "negrita", puesto que lo que tengas que decir se lee peor, al contrario de lo que pudiera parecer. |
#2
|
||||
|
||||
Cita:
__________________
▶ https://www.facebook.com/riverplateoficial ◀ |
#3
|
||||
|
||||
Hola,
En cualquier caso pides demasiado, en el sentido de que no concretas nada. Por otro lado, y, como te he dicho arriba, el código que has mostrado es difícilmente convertible en una clase: así podrías decírselo a quien te lo haya pedido si lo ha hecho tal cual. Tal vez, insisto, como ya he dicho arriba, podrías decir qué es lo que quieres conseguir, cuál debe ser la funcionalidad de la clase en cuestión. Ahí ya estarías pidiendo que te escribieran dicha clase... pero igual alguien tiene tiempo y ganas suficientes o al menos podría darte alguna orientación sobre cómo hacerlo tú mismo. Edito: Bueno; mirando de nuevo el código ya se me ocurre alguna cosa... pero yo no domino C++ como para hacer lo que tengo en la cabeza. Tal vez algún otro compañero pueda ayudarte, pues. Última edición por dec fecha: 03-07-2014 a las 16:15:11. |
#4
|
||||
|
||||
Hola,
No es exactamente lo mismo, porque, por lo demás debe haber muchísimas maneras de hacer lo mismo o algo parecido. Por otro lado, el siguiente código no es C++ (sino Delphi), pero, en fin, por si pudiera servirte de algo, aquí tienes:
|
#5
|
||||
|
||||
Cita:
__________________
▶ https://www.facebook.com/riverplateoficial ◀ |
#6
|
||||
|
||||
Hola eennzzoo.
Yo también había pensado en una opción similar a la publicada por dec. .h: Código:
#ifndef Unit2H #define Unit2H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> class Cliente { private: String FNombre; String FApellido; String FDni; String FFileName; TStrings *FTS; public: Cliente(); __property String Nombre = { read = FNombre, write = FNombre }; __property String Apellido = { read = FApellido, write = FApellido }; __property String Dni = { read = FDni, write = FDni }; __property String FileName = { read = FFileName, write = FFileName }; bool Open(); bool GetData(const String Dni); bool Delete(const String Dni); bool Save(); ~Cliente(); }; #endif Código:
#pragma hdrstop #include "Unit2.h" #pragma package(smart_init) Cliente::Cliente() { FTS = new TStringList; } bool Cliente::Open() { FTS->LoadFromFile(FFileName); return FileExists(FFileName); } bool Cliente::GetData(const String Dni) { int p = FTS->IndexOf(Dni); if (p != -1) { FNombre = FTS->Strings[p-2]; FApellido = FTS->Strings[p-1]; FDni = FTS->Strings[p]; return true; } else { MessageBox(0,"Cliente no encontrado", "", MB_ICONERROR); return false; } } bool Cliente::Delete(const String Dni) { int p = FTS->IndexOf(Dni); bool r = false; if (p == -1) MessageBox(0,"Cliente no encontrado", "", MB_ICONERROR); else if (MessageBox(0, "¿ Borra el cliente ?","",MB_YESNO+MB_ICONQUESTION)==IDYES) { FTS->Delete(p); r = true; } return r; } bool Cliente::Save() { if (FNombre.IsEmpty() || FApellido.IsEmpty() || FDni.IsEmpty()) { MessageBox(0,"Faltan uno o mas datos requeridos", "", MB_ICONERROR); return false; } else if (FTS->IndexOf(FDni)!= -1) { MessageBox(0,"Cliente existente", "", MB_ICONERROR); return false; } else { FTS->Add(FNombre); FTS->Add(FApellido); FTS->Add(FDni); FTS->SaveToFile(FFileName); return true; } }; Cliente::~Cliente() { delete FTS; } Código:
... #include "Unit2.h" ... Cliente *cl; void __fastcall TForm1::FormCreate(TObject *Sender) { cl = new Cliente(); cl->FileName = "cliente.txt"; /* ruta+nombre de archivo */ cl->Open(); } void __fastcall TForm1::btnShowClick(TObject *Sender) { if (cl->GetData(Edit1->Text)) { edNom->Text = cl->Nombre; edApe->Text = cl->Apellido; edDni->Text = cl->Dni; } } void __fastcall TForm1::btnDeleteClick(TObject *Sender) { if (cl->Delete(Edit1->Text)) { edNom->Clear(); edApe->Clear(); edDni->Clear(); } } void __fastcall TForm1::btnSaveClick(TObject *Sender) { cl->Save(); } ... Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Cita:
__________________
▶ https://www.facebook.com/riverplateoficial ◀ |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
error de missing separator con el siguiente codigo | feliz-58 | C++ Builder | 7 | 28-03-2013 14:06:05 |
Como implementar este codigo en delphi 7 | freddiaz07 | Internet | 4 | 16-09-2011 22:34:39 |
Me he atascado en el siguiente código | David | PHP | 3 | 26-02-2007 00:15:52 |
Estoy atascado en el siguiente código | David | OOP | 4 | 01-10-2006 10:45:45 |
Implementar el constructor de una clase | Alcolea | OOP | 2 | 14-06-2006 06:39:05 |
|