MODELO TIPO Bienvenido al mundo paradigmático..!!
Un día sin sonrisas es un día perdido..!! PARADIGMA
La riqueza es como el agua salada;
cuanto más se bebe, más sed da..!!
Schopenhauer

QUE ES.? Qué es esto..??
Clases Altas
Característica Consultas
Clases Bajas
Característica Modificar
OTRO Buscar
OTRO Navegadores
OTRO Accesorios
OTRO Imprimir
Diseño | Volver | | Arbol | | Archivo | | Base de dato | Basico | | Cola y Pila |
Comunicación | Editor | | Editor2 | | Fibonacci | | Hanoi | | Listas | | Matriz |
Planificación | Modelo 1 | | Agenda | | Polimorfismo | Punteros | | Sobrecarga | | Vectores |

Un día sin sonrisas es un día perdido..!! PARADIGMA
La ignorancia afirma o niega
La ciencia duda..!!
Voltaire

Amigo virtual en este page podrás apreciar la aplicación de los algoritmos típicos que se requieren para procesar la base de la mayoría de los programas codificados en C++ Builder y que procesan datos estáticos o dinámicos o también bases de datos.

En realidad este sistema "No hace nada..!!, pero hace todo..!!" porque tiene la estructura algorítmica básica que poseen una gran mayoría de los sistemas y que obviamente podrás rediseñar para adaptarlo a tus propias necesidades.

Si eres novel en estos menesteres, te recomiendo editar textualmente mi programa fuente, luego compilar. Te propongo algoritmos para diversos menús con altas, bajas, modificaciones, consulta, búsqueda, ayuda e impresión

... si opinas que los links anteriores no están en tu onda, te recomiendo recordar . . . .

Carito Ser Felíz..!!

Carlotin Cómo Hablas..??!!

Luischi Quién Muere..!!

.. ahora si opinas que lo anterior es una WEBada y estas de acuerdo con la Mona Chita, que afirma que Tarzán la tiene chica, te puedo demostrar que . . .

Gracias a mis hijos..!! Mi mamá es un paradigma..!!

Gracias a mis hijos..!! ..También mi Consultor..

Gracias a mis hijos..!! Ah.. y el Conejo también..!!

Un día sin risas es un dia perdido..!!
  1. A caballo regalado, muchas gracias.
  2. Sonríe... yo existo.
  3. Si queres olvidar al que estas amando, imaginatelo cagando.
  4. Encuentre la paz... en Bolivia.
  5. En el reino de los ciegos, el tuerto se queda con las mejores minas.
  6. Si lo tontos volaran, se lo pasaría nublado.
  7. Elarte es cagarte del frío.
  8. Lo importante no es saber, sino tener el telefono del que sabe.
  9. Hubiera preferido que me educaran sexualmente, a que me enseñaran los logaritmos, porque de los logaritmos hago tan poco uso.
  10. Siento tu piel entre mis dedos... deberias cuidarte de la lepra.
  11. El amor es ciego, pero el vecino no.

Volver al principio


QUE ES ESTO..???
C++ BUILDER Volver al principio

Si quiero comprar un boomerang nuevo, ¿cómo me deshago del viejo?

Borland C++ BUILDER

Estas por utilizar una de las herramientas más poderosas de la codificación algorítmica de los paradigmas orientados a objetos, basado en el lenguaje C++; por lo tanto será imprescindible que tengas dominio sobre la sintaxis y la semántica del mismo.

Si eres principiante en este tipo de algoritmos, te aconsejo previamente revisar tus conocimientos sobre El Lenguaje C++ , caso contrario te propongo a continuación los códigos de lectura intuitiva.


/////////////////////////////////////////////////
//  C++ BUILDER 5        PROGRAMA BASE
//
//   Wilo Carpio           29/12/20001
/////////////////////////////////////////////////

#include 
#pragma hdrstop

#include "ProgModelo.h"

/////////////////////////////////////////////////
//
/////////////////////////////////////////////////
#pragma package(smart_init)
#pragma resource "*.dfm"
TMiFormulario *MiFormulario;

/////////////////////////////////////////////////
//  PROTOTIPOS DE FUNCIONES
/////////////////////////////////////////////////
void LimpioLosBoxes(void);
void OcultarIconosABM(void);
void ActivarMensajeBuscar(AnsiString Mensaje);
void DesactivarMensajeBuscar();
void CerrarPaneles(void);
AnsiString Signo(AnsiString DiaNatal, AnsiString MesNatal);
AnsiString TuNumeroSuerte (AnsiString DiaActual);
AnsiString TuEdad();

///////////////////////////////////////////////////
//  DECLARACION DE VARIABLES GLOBALES
///////////////////////////////////////////////////
AnsiString Nombre, Email, DatoBuscado;
Word FechaActual,AnioActual,MesActual,DiaActual;
Word FechaNatal,AnioNatal,MesNatal,DiaNatal;

/////////////////////////////////////////////////
//  ACTIVANDO EL FORMULARIO PRINCIPAL
/////////////////////////////////////////////////
__fastcall TMiFormulario::TMiFormulario(TComponent* Owner)
        : TForm(Owner)
{
  MiFormulario->Caption="PROGRAMA MODELO C++Builder:      Wilo Carpio    "+Date();
  TDateTime FechaActual;
  FechaActual=Now();
  DecodeDate(FechaActual,AnioActual,MesActual,DiaActual);
}

Puedo guardar el ratón de mi PC en el baúl del coche con el gato del auto.??


Volver al principio


ALTAS
Ingreso de nuevos datos Volver al principio

Si cuando comí huevos me pateó el hígado, cuando coma hígado... ¿me pateará los huevos?

REGISTRO DE NUEVAS FICHAS

Como podras verificar los siguientes algoritmos, en realidad no efectuan las registraciones ni temporarias ni permanentes, solo te muestran el procedimiento de altas al cuál le deberás agregar las respectivas instrucciones de acuerdo al tipo de estructura de datos que hayas adoptado.


/////////////////////////////////////////////////
//###############################################
//
//  MENU: OPCION de ALTAS
//
//###############################################
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Nuevo1Click(TObject *Sender)
{
 MiFormulario->Caption = "ALTA DE REGISTROS";
 PanelAltas->Visible = true;
 OcultarIconosABM();
 BoxNombre->SetFocus();
}

/////////////////////////////////////////////////
//   GRABACION DEL NUEVO REGISTRO
/////////////////////////////////////////////////
void __fastcall TMiFormulario::GrabarDatosClick(TObject *Sender)
{
    LimpioLosBoxes();
    OcultarIconosABM();
    Nombre = BoxNombre->Text;
    if (Application->MessageBox("Deseas grabar los datos de los boxes?","REGISTRO DE LA NUEVA FICHA",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
       {
       
        //  AQUI VAN LAS INSTRUCCIONES DE GRABACION...!!

       }
}

/////////////////////////////////////////////////
//  CAMBIO DE CONTENIDO DEL BOX NOMBRE
/////////////////////////////////////////////////
void __fastcall TMiFormulario::BoxNombreChange(TObject *Sender)
{
  if ((MiFormulario->Caption == "ALTA DE REGISTROS")||(MiFormulario->Caption =="MODIFICAR REGISTRO"))
     if (BoxNombre->Text == "")
        {
          GrabarDatos->Visible  = false;
          LimpiarBoxes->Visible = false;
        }
       else
        {
          GrabarDatos->Visible  = true;
          LimpiarBoxes->Visible = true;
        }
}

/////////////////////////////////////////////////
//   CIERRE PANEL DE ALTAS
/////////////////////////////////////////////////
void __fastcall TMiFormulario::CerrarAltasClick(TObject *Sender)
{
 CerrarPaneles();
}

Sonrie tu hermana me ama..!!


Volver al principio


CONSULTAS
Ver datos Volver al principio

¿Por qué no hay comida para gatos 'con sabor a ratón'?

VISUALIZANDO DATOS

En este link aprenderas a operar los objetos clásico para visualizar datos, tales como la grilla, el combo box o el text box y por la razón explicada en el link anterior, estos apareceran pero vacios..!!



/////////////////////////////////////////////////
//###############################################
//
//  ACTIVAR OPCION CONSULTAS DESDE EL MENU
//
//###############################################
/////////////////////////////////////////////////

/////////////////////////////////////////////////
//  ACTIVAR PANEL CON GRILLA DESDE EL MENU
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Grilla1Click(TObject *Sender)
{
 PanelGrilla->Visible = true;
}

/////////////////////////////////////////////////
//  IMPRIMIR GRILLA DEL PANEL GRILA
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ImprimeGrillaMouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
 MiFormulario->Caption="ESTAS POR IMPRIMIR EL CONTENIDO DE LA TABLA";
 if (Application->MessageBox("¿Deseas imprimir estos datos.??","IMPRESION DE DATOS DE LA TABLA", MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
    {
       if (Application->MessageBox("¿Está activada tu impresora.??","IMPRESION DE DATOS DE LA TABLA", MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
          {
//              MiReporte->QuickRep1->Preview();
          };
    };
}

/////////////////////////////////////////////////
//  CIERRE DEL PANEL CON GRILLA
/////////////////////////////////////////////////
void __fastcall TMiFormulario::CerrarGrillaClick(TObject *Sender)
{
 CerrarPaneles();
}

/////////////////////////////////////////////////
//  MENU: OPCION BUSCAR POR COMBO
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ComboBox1Click(TObject *Sender)
{
 MiFormulario->Caption = "BUSQUEDA POR COMBO BOX";
 PanelAltas->Visible = true;
 OcultarIconosABM();
 ComboNombre->Visible = true;
 ComboNombre->SetFocus();
 ActivarMensajeBuscar("Selecciona ficha a Buscar");
}

/////////////////////////////////////////////////
// ACTIVAR VER DATOS DEL PANEL DE ALTAS
/////////////////////////////////////////////////
void __fastcall TMiFormulario::VerDatosClick(TObject *Sender)
{
  PanelAltas->Visible = true;
  OcultarIconosABM();
  DesactivarMensajeBuscar();
}

/////////////////////////////////////////////////
//  MENU DE CONSULTA: BUSQUEDA MANUAL
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Buscar1Click(TObject *Sender)
{
 MiFormulario->Caption = "BUSQUEDA MANUAL";
 PanelAltas->Visible = true;
 OcultarIconosABM();
 ComboNombre->Visible = true;
 ComboNombre->SetFocus();
 ActivarMensajeBuscar("Digita dato a Buscar");
}

¿Hasta dónde se lavan la cara los pelados?


Volver al principio


BAJAS
Eliminar datos Volver al principio

¿Por qué apretamos más fuerte los botones del control remoto cuando tiene poca batería??

BORRADO DE FICHAS

Vale lo explicado en el link de altas



/////////////////////////////////////////////////
//###############################################
//
//  ACTIVAR OPCION de BAJAS DESDE EL MENU
//
//###############################################
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Bajas1Click(TObject *Sender)
{
 MiFormulario->Caption = "BAJA DE REGISTRO";
 PanelAltas->Visible = true;
 OcultarIconosABM();
 ComboNombre->Visible = true;
 ComboNombre->SetFocus();
 ActivarMensajeBuscar("Selecciona ficha a borrar");
}

/////////////////////////////////////////////////
//  CAMBIO DE CONTENIDO DEL COMBO BOX
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ComboNombreChange(TObject *Sender)
{
  DesactivarMensajeBuscar();
  AceptarDatos->Visible=true;
}

/////////////////////////////////////////////////
//  ACEPTAR DATOS DEL DISPLAY DEL COMBO BOX
/////////////////////////////////////////////////
void __fastcall TMiFormulario::AceptarDatosClick(TObject *Sender)
{
 AceptarDatos->Visible= false;
 ComboNombre->Visible = false;
 ComboNombre->Text = "";
 if (MiFormulario->Caption =="BAJA DE REGISTRO")
     {
      BorrarDatos->Visible = true;
     }
    else if(MiFormulario->Caption =="MODIFICAR REGISTRO")
     {
      ModificarDatos->Visible = true;
     }
    else if(MiFormulario->Caption =="BUSQUEDA POR COMBO BOX")
     {
      VerDatos->Visible = true;
     }
    else if(MiFormulario->Caption =="BUSQUEDA MANUAL")
     {
      VerDatos->Visible = true;
     }
}

/////////////////////////////////////////////////
//  BAJA DEL REGISTRO
/////////////////////////////////////////////////
void __fastcall TMiFormulario::BorrarDatosClick(TObject *Sender)
{
  BorrarDatos->Visible = false;
  if (Application->MessageBox("Deseas hacer pelota estos datos.??","BAJA DE UNA FICHA",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
     {
     
      // AQUI VAN LAS INSTRUCCIONES DE ELIMINACION..!!
     
      Application->MessageBox("Acabas de hacer moco el registro..!!!","BAJA DE UNA FICHA",MB_OK + MB_ICONINFORMATION );
      OcultarIconosABM();
      ComboNombre->Visible = true;
      ComboNombre->SetFocus();
      ActivarMensajeBuscar("Selecciona ficha a borrar");
      }
    else
    {
     CerrarPaneles();
    }
}

¿Por qué la luz negra no es negra?


Volver al principio


MODIFICAR
Cambiar datos Volver al principio

¿Por qué los Kamikazes usaban cascos.??

CORREGIR FICHAS

Deberás agregar, de acuerdo a la estructura de datos que uses las correspondientes instrucciones de edición de los datos a modificar.



/////////////////////////////////////////////////
//###############################################
//
//  ACTIVAR OPCION MODIFICAR DESDE EL MENU
//
//###############################################
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Modificar1Click(TObject *Sender)
{
 MiFormulario->Caption = "MODIFICAR REGISTRO";
 PanelAltas->Visible = true;
 OcultarIconosABM();
 ComboNombre->Visible = true;
 ComboNombre->SetFocus();
 ActivarMensajeBuscar("Selecciona ficha a Cambiar");
}

/////////////////////////////////////////////////
// MODIFICACION DEL REGISTRO
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ModificarDatosClick(TObject *Sender)
{
  ModificarDatos->Visible = false;
  if (Application->MessageBox("Deseas registrar estos datos.??","MODIFICACION DE UNA FICHA",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
     {
      Application->MessageBox("Acabas de guardar los cambios del registro..!!!","MODIFICACION DE UNA FICHA",MB_OK + MB_ICONEXCLAMATION );
      PanelAltas->Visible = true;
      OcultarIconosABM();
      ComboNombre->Visible = true;
      ComboNombre->SetFocus();
      ActivarMensajeBuscar("Selecciona ficha a cambiar");
      }
    else
    {
     CerrarPaneles();
    }
}

Al mundo redondo lo llamamos planeta. Si fuese plano... ¿lo llamaríamos redondeta.??


Volver al principio


VARIOS
Accesorios Volver al principio

Si un abogado enloquece... ¿pierde el juicio?

AYUDA PARA USUARIOS

Un buén sistema requiere de procedimientos simples y claros para ayudar a nuestros usuarios quienes serán los que convivirán con el programa. Acontinuación te propongo la forma más simple de lograrlo.


/////////////////////////////////////////////////
//###############################################
//
//  ACTIVAR OPCION HELP DESDE EL MENU
//
//###############################################
/////////////////////////////////////////////////

/////////////////////////////////////////////////
//   ACTIVAR PANEL TEORIA DESDE EL MENU
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Teora1Click(TObject *Sender)
{
 PanelAutor->Visible = true;
}

/////////////////////////////////////////////////////
//  ABRIR ARCHIVO PARA VER EN BOX TEORIA
/////////////////////////////////////////////////////
void __fastcall TMiFormulario::VerArchivoClick(TObject *Sender)
{
  TDateTime FechaNatal;
  AnsiString Edad, EdadM, TuSigno;
  VerArchivo->Visible = false;
  OpcionTeoria->Visible = true;
  if (OpcionTeoria->Items->Strings[OpcionTeoria->ItemIndex] == "Pisis" )
     {
      OpcionTeoria->ItemIndex = -1;
      BoxTeoria->Clear();
      MiCalendario->Visible = false;
      BoxTeoria->Lines->Add("");
      BoxTeoria->Lines->Add(MiFormulario->Caption);
      BoxTeoria->Lines->Add("");

      FechaNatal=MiCalendario->Date;
      DecodeDate(FechaNatal,AnioNatal,MesNatal,DiaNatal);

      BoxTeoria->Lines->Add("Dices que naciste el:  "+DateToStr(FechaNatal));
      BoxTeoria->Lines->Add("Por tanto tenes: " + TuEdad() + "  Pirulos..!!");

      BoxTeoria->Lines->Add("Sos del signo:  "+Signo(DiaNatal, MesNatal));
      BoxTeoria->Lines->Add("");
      BoxTeoria->Lines->Add("Tus Números de Suerte: "+TuNumeroSuerte(DiaNatal)+" y "+TuNumeroSuerte(DiaActual));

     }
   else if (OpcionTeoria->Items->Strings[OpcionTeoria->ItemIndex] == "Temas" )
     {
      CerrarTemas->Visible = true;
      OpcionTeoria->ItemIndex = -1;
      OpcionTeoria->Visible = false;
      AbrirArchivo->Execute();
      BoxTeoria->Lines->LoadFromFile(AbrirArchivo->FileName);
      GrabarArchivo->Visible=true;
      ImprimeArchivo->Visible=true;
     }
}

/////////////////////////////////////////////////
//  ACTIVAR IMPRESION DESDE PANEL TEORIA
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ImprimeArchivoClick(TObject *Sender)
{
 if (Application->MessageBox("Tienes activada tu impresora.??","IMPRESION DE DATOS DEL BOX",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
   {
    MiFormulario->Caption="ESTAS POR IMPRIMIR LA TEORIA";
    ImprimirArchivo->Execute();
//    BoxTeoria->Print("MyApp.exe - readme.txt");
   };
 if (Application->MessageBox("¿Deseas imprimir la cara del autor.??","IMPRESION DE IMAGEN",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
    {
//     PrintDialog->Execute();
//     TPrinter *Prntr = Printer();
     Graphics::TBitmap *bmp = new Graphics::TBitmap();
     bmp->LoadFromFile("c:\Archivos de programa\Borland\CBuilder5\Projets\Modelo\BebeWilo.bmp");
//     Prntr->BeginDoc();
//     Prntr->Canvas->Draw((Prntr->PageWidth - bmp->Width),(Prntr->PageHeight - bmp->Height),bmp);
//     Prntr->EndDoc();
     delete bmp;
    };
}

///////////////////////////////////////////////////
//  IMPRESION DE LA TABLA CON Quick REPORT
///////////////////////////////////////////////////
void __fastcall TMiFormulario::ImprimeGrillaClick(TObject *Sender)
{
 MiFormulario->Caption="ESTAS POR IMPRIMIR EL CONTENIDO DE LA TABLA";
 if (Application->MessageBox("¿Deseas imprimir estos datos.??","IMPRESION DE DATOS DE LA TABLA", MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
    {
       if (Application->MessageBox("¿Está activada tu impresora.??","IMPRESION DE DATOS DE LA TABLA", MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
          {
//              MiReporte->QuickRep1->Preview();
          };
    };
}

/////////////////////////////////////////////////
//   ACTIVANDO PANEL AUTOR
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Autor1Click(TObject *Sender)
{
 PanelAutor->Visible=true;
}

/////////////////////////////////////////////////
//   CIERRE DEL PANEL AUTOR
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ImageCerrarAutorMouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
 CerrarPaneles();
}


Volver al principio


VARIOS
Accesorios Volver al principio

¿Los infantes disfrutan la infancia tanto como los adultos el adulterio.??

FUNCIONES

Tal podrás apreciar en en los siguientes renglones el manejo de las funciones se ajusta estríctamente a la sintaxis y semantica de C++, por tanto será muy simple que interpretes las siguientes aplicaciones.

Recuerda que previo al uso de cualquier función, debes declarar su correspondiente prototipo, a no ser que los métodos de la función precedan a la aplicación de la misma, en tal caso no es necesario el prototipo, pero por experiencia te recomiendo que siempre lo registres, especialmente si vas a encargarte del mantenimiento del sistema.



/////////////////////////////////////////////////
//###############################################
//
//        FUNCIONES AUXILIARES
//
// TipoDatoDevuelto NombreDeLaFUNCION (TipoDato NombrePARAMETRO1, TipoDato NombrePARAMETRO2)
//  {
//    Tipo VariableLocal1;
//    Tipo VariableLocal2;
//    ........
//    .. Utilización de Parámetros
//    return ValorDevuelto  (Dato Devuelto por la función..!!!)
//   }
//###############################################
/////////////////////////////////////////////////

/////////////////////////////////////////////////
//  FUNCION: MENSAJE POR PANEL ALTAS
/////////////////////////////////////////////////
void ActivarMensajeBuscar(AnsiString Mensaje)
{
  MiFormulario->BoxNombre->Visible = false;
  MiFormulario->BoxEmail->Text="";
  MiFormulario->BoxEmail->Text=Mensaje;
  MiFormulario->LabelNombre->Visible = false;
  MiFormulario->LabelEmail->Visible = false;
}

void DesactivarMensajeBuscar()
{
  MiFormulario->BoxNombre->Visible = true;
  MiFormulario->BoxEmail->Text="";
  MiFormulario->LabelNombre->Visible = true;
  MiFormulario->LabelEmail->Visible = true;
}

/////////////////////////////////////////////////
//  OCULTAR ICONOS DEL PANEL DE ALTAS
/////////////////////////////////////////////////
void OcultarIconosABM(void)
{
  MiFormulario->LimpiarBoxes->Visible   = false;
  MiFormulario->AceptarDatos->Visible   = false;
  MiFormulario->BorrarDatos->Visible    = false;
  MiFormulario->ComboNombre->Visible    = false;
  MiFormulario->GrabarDatos->Visible    = false;
  MiFormulario->ModificarDatos->Visible = false;
  MiFormulario->VerDatos->Visible       = false;
};

/////////////////////////////////////////////////
//  FUNCION: LIMPIAR BOX DE DATOS
/////////////////////////////////////////////////
void LimpioLosBoxes(void)
{
  MiFormulario->BoxNombre->Text="";
  MiFormulario->BoxEmail->Text ="";
  MiFormulario->BoxNombre->SetFocus();
}

/////////////////////////////////////////////////
//  ACTIVAR OPCION LIMPIAR EN PANEL ALTAS
/////////////////////////////////////////////////
void __fastcall TMiFormulario::LimpiarBoxesClick(TObject *Sender)
{
  LimpioLosBoxes();
}

/////////////////////////////////////////////////
//    CIERRE DEL PROGRAMA  DESDE MENU PRINCIPAL
/////////////////////////////////////////////////
void __fastcall TMiFormulario::Salir1Click(TObject *Sender)
{
    if (Application->MessageBox("Deseas terminar con este programa?","ESTAS POR CERRAR ESTE SISTEMA",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
       {
         MiFormulario->Close();
      };
}

/////////////////////////////////////////////////
//    CIERRE DEL PROGRAMA DESDE OPCION ARCHIVO
/////////////////////////////////////////////////
void __fastcall TMiFormulario::ExitClick(TObject *Sender)
{
    if (Application->MessageBox("Deseas terminar con este programa?","ESTAS POR CERRAR ESTE SISTEMA",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
       {
         MiFormulario->Close();
      };
}

/////////////////////////////////////////////////
//    COPIA DE SEGURIDAD
/////////////////////////////////////////////////
void __fastcall TMiFormulario::BackupClick(TObject *Sender)
{
    if (Application->MessageBox("Deseas obtener una copia de seguridad.?","BACKUP DE DATOS",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
      {

      };
}

/////////////////////////////////////////////////
//   CERRAR PANELES DEL SISTEMA
/////////////////////////////////////////////////
void CerrarPaneles(void)
{
  MiFormulario->PanelAltas->Visible = false;
  MiFormulario->PanelGrilla->Visible = false;
  MiFormulario->PanelAutor->Visible = false;
  MiFormulario->Caption="PROGRAMA MODELO C++Builder:      Wilo Carpio    "+Date();
}

/////////////////////////////////////////////////
//  ORDENAMIENTO DE DATOS
/////////////////////////////////////////////////
void __fastcall TMiFormulario::OrdenarClick(TObject *Sender)
{
    if (Application->MessageBox("Deseas ordenar los datos guardados.?","PROCESO DE ORDENAMIENTO DE DATOS",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
       {

      };
}

Si el pez nada... ¿la vaca todo..???


Volver al principio


VARIOS
Accesorios Volver al principio

¿Qué tiempo verbal es "no debería haber pasado"?... ¿preservativo imperfecto.??

OBJETOS WINDOWS

Tus sistemas serán más simples, eficientes y vistosos si usas los objetos propios del Windows de tu PC. En los siguientes links te muestro de manera sencilla la aplicación de los mismos.



/////////////////////////////////////////////////////
//  GRABACION DEL CONTENIDO DEL BOX TEORIA
/////////////////////////////////////////////////////
void __fastcall TMiFormulario::GrabarArchivoClick(TObject *Sender)
{
  if (Application->MessageBox("Deseas grabar la información del box..?","PROCESO DE GRABACION DE DATOS",MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION ) == IDYES)
     {
      GrabaArchivo->Execute();
      };
}

/////////////////////////////////////////////////////
//  RadioGrup del BoxTeoria: CAMBIO IMAGEN AUTOR
/////////////////////////////////////////////////////
void __fastcall TMiFormulario::OpcionVerAutorClick(TObject *Sender)
{
 OpcionVerAutor->Visible = false;
 OpcionTeoria->Visible = true;
 try
   {
     if (OpcionVerAutor->Items->Strings[OpcionVerAutor->ItemIndex] == "1946" )
        {
        ImageAutor->Picture->LoadFromFile("Wilo1946.jpg");
        }
       else if (OpcionVerAutor->Items->Strings[OpcionVerAutor->ItemIndex] == "1962" )
        {
         ImageAutor->Picture->LoadFromFile("Wilo1960A.jpg");
        }
       else if (OpcionVerAutor->Items->Strings[OpcionVerAutor->ItemIndex] == "1990" )
        {
         ImageAutor->Picture->LoadFromFile("Wilo1990.jpg");
        };
    }
   catch(...)
    {
    Application->MessageBox("No es posible cargar el archivo gráfico..!!!","LA IMAGEN NO EXISTE",MB_OK + MB_ICONINFORMATION );
    }
}

/////////////////////////////////////////////////
// OPCIONES DEL PANEL AUTOR
/////////////////////////////////////////////////
void __fastcall TMiFormulario::OpcionTeoriaClick(TObject *Sender)
{
  OpcionTeoria->Visible = false;
  if (OpcionTeoria->Items->Strings[OpcionTeoria->ItemIndex] == "Autor" )
       {
        OpcionVerAutor->Visible = true;
        OpcionTeoria->ItemIndex = -1;
       }
   else if (OpcionTeoria->Items->Strings[OpcionTeoria->ItemIndex] == "Pisis" )
        {
          TDateTime FechaNatal;
          AnsiString Edad, EdadM, TuSigno;

          VerArchivo->Visible = true;
          BoxTeoria->Clear();
          MiFormulario->Caption="HOROSCOPO PERSONAL para el día: "+Date();
          BoxTeoria->Lines->Add("");
          BoxTeoria->Lines->Add(MiFormulario->Caption);
          BoxTeoria->Lines->Add("");
          BoxTeoria->Lines->Add("En este calendario selecciona tu fecha de nacimiento");
          BoxTeoria->Lines->Add("Puedes cambiar directamente Mes y Año sobre rótulo");
          MiCalendario->Visible = true;

        }
   else if (OpcionTeoria->Items->Strings[OpcionTeoria->ItemIndex] == "Temas" )
        {
         VerArchivo->Visible = true;
        };

}

Si la piscina es honda, ¿el mar es Toyota.???


Volver al principio


VARIOS
Accesorios Volver al principio

¿Debería cortarme las venas o dejármelas largas.??

MANEJO DE FECHAS

Estos algoritmos son como las cerezas en la torta, pero puedes rediseñarlos para aplicaciones más efectivas, tales como la administración de antiguedad en los sistemas de liquidaciones de sueldos..

Como veras también te propongo el arte sodiacal y aleatorio, por que quien sabe si te ganaras la vida leyendo el destino y con la futurología.



/////////////////////////////////////////////////
//  CALCULO DE LA EDAD
/////////////////////////////////////////////////
AnsiString TuEdad()
{
 AnsiString Edad;
 if((MesNatal<=MesActual)&&(DiaNatal<=DiaActual))
   {
    Edad = AnioActual - AnioNatal;
    if((MesNatal==MesActual)&&(DiaNatal==DiaActual))
      {
       Application->MessageBox("Happy Birtday to you.. Que los cumplas felíz..!!!","QUE GRANDE..!!.. HOY ES TU CUMPLEAÑOS...",MB_OK + MB_ICONINFORMATION );
      }
   }
  else
   {
    Edad = AnioActual - AnioNatal - 1;
   }
  return Edad;
}

/////////////////////////////////////////////////
//  GENERACION DE NUMEROS ALEATORIOS
/////////////////////////////////////////////////
AnsiString TuNumeroSuerte (AnsiString DiaNatal)
{
  AnsiString NumeroSuerte;
  int DiaSuerte;
  Randomize;
  DiaSuerte=StrToInt(DiaNatal);
  NumeroSuerte=IntToStr(random(3*(DiaSuerte)));
  return NumeroSuerte;
}

//////////////////////////////////////////////////////
//  CHECK BOX de Panel Teoria: CAMBIO IMAGEN AUTOR
//////////////////////////////////////////////////////
void __fastcall TMiFormulario::CerrarTemasClick(TObject *Sender)
{
 CerrarTemas->Visible = false;
 ImprimeArchivo->Visible = false;
 GrabarArchivo->Visible = false;
 OpcionTeoria->Visible = true;
 BoxTeoria->Clear();
}

/////////////////////////////////////////////////
//    DETERMINACION SIGNO SODIACO
/////////////////////////////////////////////////
AnsiString Signo(AnsiString DiaNatal, AnsiString MesNatal)
{
 AnsiString SignoHoroscopo;
        if((DiaNatal>=21)&&(MesNatal==3) ||(DiaNatal<=20)&&(MesNatal==4))
          SignoHoroscopo="ARIES";
        if((DiaNatal>=21)&&(MesNatal==4) ||(DiaNatal<=21)&&(MesNatal==5))
          SignoHoroscopo="TAURO";
        if((DiaNatal>=22)&&(MesNatal==5) ||(DiaNatal<=21)&&(MesNatal==6))
          SignoHoroscopo="GEMINIS";
        if((DiaNatal>=22)&&(MesNatal==6) ||(DiaNatal<=22)&&(MesNatal==7))
          SignoHoroscopo="CANCER";
        if((DiaNatal>=23)&&(MesNatal==7) ||(DiaNatal<=23)&&(MesNatal==8))
          SignoHoroscopo="LEO";
        if((DiaNatal>=24)&&(MesNatal==8) ||(DiaNatal<=22)&&(MesNatal==9))
          SignoHoroscopo="VIRGO";
        if((DiaNatal>=23)&&(MesNatal==9) ||(DiaNatal<=23)&&(MesNatal==10))
          SignoHoroscopo="LIBRA";
        if((DiaNatal>=24)&&(MesNatal==10)||(DiaNatal<=22)&&(MesNatal==11))
          SignoHoroscopo="ESCORPIO";
        if((DiaNatal>=23)&&(MesNatal==11)||(DiaNatal<=21)&&(MesNatal==12))
          SignoHoroscopo="SAGITARIO";
        if((DiaNatal>=22)&&(MesNatal==12)||(DiaNatal<=20)&&(MesNatal==1))
          SignoHoroscopo="CAPRICORNIO";
        if((DiaNatal>=21)&&(MesNatal==1) ||(DiaNatal<=19)&&(MesNatal==2))
          SignoHoroscopo="ACUARIO";
        if((DiaNatal>=20)&&(MesNatal==2) ||(DiaNatal<=20)&&(MesNatal==3))
          SignoHoroscopo="PISCIS";
return SignoHoroscopo;
}

//---------------------------------------------------------------------------

Cuando se 'reproduce' un disco... ¿queda 'encinta'?


Un parto en una calle... ¿es alumbrado público.??

Volver al principio