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