Qué es esto..??
Altas
Consultas
Bajas
Modificar
Bonus..!!
| Volver | |
Arbol | |
Archivo | |
Agenda |
Base de Datos | |
Cola y Pila |
| Editor | |
Editor2 | |
Fibonacci | |
Hanoi | |
Listas | |
Matriz |
| Modelo 1 | |
Modelo | |
Polimorfismo |
Punteros | |
Sobrecarga | |
Vectores |
En esta page te ofrezco una propuesta de estructura general de un programa en C++Builder, que luego puedes usarlo como modelo para tus sistemas estáticos, dinámicos, de bases de datos, etc.
PARADIGMA HUMANO
Los nombres que asigné tanto a las clases, como a los objetos y sus demás parámetros, te permitirán sin dificultad informarte, sobre las características que necesitas para tu programa.
Te recomiendo seguir los siguientes pasos...
Tu programa puede tener el siguiente encabezamiento:
//////////////////////////////////////////////////////// // C++BUILDER 5 PROGRAMA GENERAL MODELO // Tipo.cpp Wilucha 17/09/98 // OJO: Este programa no hace nada //--------------------------------------------------------------------------- #include < vcl.h > #include < fstream.h > #include < stdlib.h > #pragma hdrstop #include "ListaPrograma.h" #pragma package(smart_init) #pragma resource "*.dfm" //--------------------------------------------------------------------------- TMiFormulario *MiFormulario; struct MiNodo { // Aqui escribe los datos correspondientes..!! }
El que en su vida nunca fue necio, jamás fue sabio..!!
Si vas ha usar archivo aquí tienes un ejemplo...
struct UnaFicha { // Aqui escribe los datos correspondientes..!! }; FILE *Archivo; UnaFicha MiFicha; //---------------------------------------------------------------------------
La sintaxis para cerrar es:
//--------------------------------------------------------------------------- //BOTON PARA SALIR DEL FORMULARIO PRINCIPAL void __fastcall TMiFormulario::Salir1Click(TObject *Sender) { if(Application->MessageBox("Desea Salir","Atencion",MB_OKCANCEL)==IDOK) { Close(); } }
Este proceso ha sido aplicado en el siguiente algoritmo..
void AltaDeNuevoNodo(char ParamNombre[30],char ParamEmail[40]) { // Aqui escribe los datos correspondientes..!! }
PARADIGMA HUMANO
void __fastcall TMiFormulario::Altas1Click(TObject *Sender) { MiFormulario->Caption="INGRESO DE DATOS"; // Aqui escribe los datos correspondientes..!! } //--------------------------------------------------------------------------- void __fastcall TMiFormulario::BotonLimpiarClick(TObject *Sender) { BoxNombre->Clear(); BoxEmail->Clear(); BoxNombre->SetFocus(); }
PARADIGMA HUMANO
Para grabar la alta..
void __fastcall TMiFormulario::BotonGrabarClick(TObject *Sender) { // Aqui escribe los datos correspondientes..!! } //---------------------------------------------------------------------------
PARADIGMA HUMANO
En este link encontrarás la codificación de los algoritmos para visualizar los datos que cargaste
//--------------------------------------------------------------------------- void __fastcall TMiFormulario::Consultas1Click(TObject *Sender) { MiFormulario->Caption="Consulta de datos"; // Aqui escribe los datos correspondientes..!! } //---------------------------------------------------------------------------
Te ofrezco un combo..!!
//--------------------------------------------------------------------------- void TMiFormulario::LlenarCombo() { Combo->Clear(); Combo->Items->Clear(); NodoActual=PrimerNodo; while(NodoActual != NULL) { Combo->Items->Add(NodoActual->CampoNodoNombre); NodoActual=NodoActual->SiguienteNodo; } } //--------------------------------------------------------------------------- void __fastcall TMiFormulario::BotonAceptarClick(TObject *Sender) { // Aqui escribe los datos correspondientes..!! }
Las grillas son buenísimas para mostrar tus datos..!!
//--------------------------------------------------------------------------- void __fastcall TMiFormulario::VisualizarPorGrillaClick(TObject *Sender) { Fila=1; Grilla->Cells[0][0]="Nombre"; Grilla->Cells[1][0]="Email"; while (CondiciónDeIteracion) { Grilla->Cells[0][Fila]=OrigenDeTus Datos; Grilla->Cells[1][Fila]=OrigenDeTusDatos; Fila=Fila+1; while ( Grilla->Cells[0][Fila+1]!="") { Grilla->Cells[0][Fila+1]=""; Grilla->Cells[1][Fila+1]=""; } } Grilla->Cells[0][Fila]=OrigenDeTus Datos; Grilla->Cells[1][Fila]=OrigenDeTus Datos; }
PARADIGMA HUMANO
PARADIGMA
Si nos equivocamos.. no hay drama..!!, buscamos dónde está el error, lo borramos y a otra cosa.!!!
//--------------------------------------------------------------------------- int BuscarNombre(AnsiString UnNombre) { int HayDato=0; NodoActual=PrimerNodo; if (NodoActual!=NULL) while (NodoActual != NULL) { if ((UnNombre)==NodoActual->CampoNodoNombre) { HayDato=1; break; } NodoActual=NodoActual->SiguienteNodo; } return(HayDato); } void __fastcall TMiFormulario::Bajas1Click(TObject *Sender) { MiFormulario->Caption="Eliminacion de datos"; if(PrimerNodo != NULL) { PanelCombo->Visible=true; BotonGrabar->Visible=false; BotonLimpiar->Visible=false; BotonModificar->Visible=false; BotonEliminar->Visible=true; Simple1->Enabled=false; LlenarCombo(); FlagBaja=1; } else Application->MessageBox("No hay datos para eliminar","Lista vacia",MB_OK); } //---------------------------------------------------------------------------
//--------------------------------------------------------------------------- //BOTON PARA ELIMNAR LOS DATOS void __fastcall TMiFormulario::BotonEliminarClick(TObject *Sender) { if(PrimerNodo != NULL) { MensajePorBox=Application->MessageBox("Desea Eliminar estos datos","Eliminacion de datos",MB_OKCANCEL); if(MensajePorBox==IDOK) { FichaAuxiliar=NodoActual; if(NodoActual==PrimerNodo) PrimerNodo=NodoActual->SiguienteNodo; else { NodoActual=PrimerNodo; while(NodoActual->SiguienteNodo != NULL) { if(NodoActual->SiguienteNodo==FichaAuxiliar) { FichaTrucha,NodoActual; break; } NodoActual=NodoActual->SiguienteNodo; } FichaTrucha,FichaAuxiliar->SiguienteNodo; } delete(FichaAuxiliar); LlenarCombo(); Application->MessageBox("Los datos fueron eliminados","Eliminacion de datos",MB_OK); } } else Application->MessageBox("No hay datos a eliminar","La lista HayDato vacia",MB_OK); BoxNombre->Clear(); BoxEmail->Clear(); } //---------------------------------------------------------------------------
PARADIGMA HUMANO
PARADIGMA INFORMATICO
La lógica es un método sistemático de llegar con confianza
... a la conclusión erronea..!!!
Si deseas corregir el contenido de un nodo en particular, lo ubicas a este y luego activas el siguiente algoritmo
//--------------------------------------------------------------------------- void __fastcall TMiFormulario::BotonModificarClick(TObject *Sender) { strcpy(NodoActual->CampoNodoNombre,BoxNombre->Text.c_str()); strcpy(NodoActual->CampoNodoEmail,BoxEmail->Text.c_str()); Application->MessageBox("Los datos ya han sido modificados","Modificacion de datos",MB_OK); BoxNombre->Clear(); BoxEmail->Clear(); BoxNombre->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TMiFormulario::Modificaciones1Click(TObject *Sender) { MiFormulario->Caption="Modificacion de datos"; if(PrimerNodo != NULL) { PanelCombo->Visible=true; Combo->Clear(); BotonGrabar->Visible=false; BotonLimpiar->Visible=true; BotonModificar->Visible=true; BotonEliminar->Visible=false; Simple1->Enabled=false; LlenarCombo(); } else Application->MessageBox("No hay datos para modificar","Lista vacia",MB_OK); } //---------------------------------------------------------------------------
PARADIGMA HUMANO
PARADIGMA HUMANO
A tu sistema le hará falta los siguientes accesorios...
void __fastcall TMiFormulario::BotonRegresarClick(TObject *Sender) { Panel->Visible=False; Simple1->Enabled=true; MiFormulario->Caption="Agenda de Wilo"; } //--------------------------------------------------------------------------- void __fastcall TMiFormulario::BotonVolverClick(TObject *Sender) { PanelVisualizar->Visible=false; } //--------------------------------------------------------------------------- void __fastcall TMiFormulario::Imprimir1Click(TObject *Sender) { int RespuestaDeBox; RespuestaDeBox=Application->MessageBox("Tu impresora HayDato prendida?","Atencion",MB_OKCANCEL); if (RespuestaDeBox==IDOK) PrintDialog1->Execute(); } } //---------------------------------------------------------------------------
PARADIGMA HUMANO