Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 08 Mar, 2003 8:45 pm Asunto: CONFIGURACION DEL BDE Y DIRECTORIO DE RED BAJO WINDOWS X |
|
|
MUCHOS AL INICIAR EN LA PROGRAMACION DE BASES DE DATOS, PASAN POR ALTO EL VALOR DE UNA SESSION1 Y DATABASE1, PARA UN BUEN FUNCIONAMIENTO DE ESTOS ACONTINUACION PONGO, EL CODIGO DE LA SESSION Y EL MODULO DE DATOS.
**************DENTRO DEL DATAMODULE1*****************
| Código: | #include <vcl.h>
#pragma hdrstop
#include "UModuloDatos.h"
#include "io.h" // PARA BORRAR EL ARCHIVO *.NET
#include "UNet.h" // FORM DE LA RED
#include <IniFiles.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TDataModule1 *DataModule1;
//---------------------------------------------------------------------------
__fastcall TDataModule1::TDataModule1(TComponent* Owner)
: TDataModule(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TDataModule1::DataModule1Destroy(TObject *Sender)
{
//borrado del Archivo de Conexion de Red Pdoxusrs.net
Session1->Active=false;
Database1->Connected=false;
AnsiString AR=Session1->NetFileDir+"PDOXUSRS.NET";
unlink(AR.c_str());
}
//---------------------------------------------------------------------------
void __fastcall TDataModule1::DataModule1Create(TObject *Sender)
{
AnsiString Cesar;
Session1->Active=false;
AnsiString AR=GetCurrentDir()+"\\NET\\SYSNET.INI";
if( ! access(AR.c_str(),0)==0){
ShowMessage("Es la Primera ves que se ejecuta este programa\n"
"por lo tanto debe indicar la ruta de los archivos\n"
"de la red para tabajar eficientemente");
TFNet *AC = new TFNet(this);
AC->RED = AR;
switch(AC->ShowModal()){
case mrCancel:
Application->Terminate();
break;
}
delete AC;
}else{
TIniFile *pWinIni = new TIniFile(AR);
DataModule1->Database1->Params->Values["PATH"]=pWinIni->ReadString("BASES", "PATH", "");
Cesar = pWinIni->ReadString("BASES", "PATH", "");
delete pWinIni;
}
Session1->NetFileDir = Cesar;
Session1->Active=true;
Database1->Connected=true;
}
//--------------------------------------------------------------------------- |
*******************************
EL SIGUIENTE CODIGO ESTA DENTRO DE UN FORMULARIO PARA RASTREAR LA RED
CODIGO DEL FORM DE RED....
*******************************
| Código: | #include <vcl.h>
#pragma hdrstop
#include "UModuloDatos.h" // modulo de datos
#include <IniFiles.hpp> // libreria de los archivos INI
#include "UNet.h"
#include <sys\stat.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFNet *FNet;
TIniFile *pWinIni; // puntero al archivo NET.INI de la configuracion.
AnsiString OldDir; // Para Guardar el directorio de la Aplicacion.
//---------------------------------------------------------------------------
__fastcall TFNet::TFNet(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFNet::Button1Click(TObject *Sender)
{
Nuevo = DirectoryListBox1->Directory;
pWinIni = new TIniFile(RED);
pWinIni->WriteString("BASES", "PATH" ,Nuevo);
pWinIni->UpdateFile();
DataModule1->Database1->Params->Values["PATH"]=pWinIni->ReadString("BASES", "PATH", "");
delete pWinIni;
ModalResult=mrOk;
}
//---------------------------------------------------------------------------
void __fastcall TFNet::Button2Click(TObject *Sender)
{
ModalResult=mrCancel;
}
//---------------------------------------------------------------------------
void __fastcall TFNet::FormCreate(TObject *Sender)
{
//PATH=D:\H255\ARCHIVOS DE PROGRAMACION\ARCHIVOS DE BORLAND C++ BUILDER\Sistema Biblioteca\Bases
// DirectoryListBox1->Directory = DataModule1->Database1->Params->Values["PATH"];
// FileListBox1->Directory = DirectoryListBox1->Directory;
/** LO ANTERIOR SON COMENTARIOS */
OldDir=GetCurrentDir();
DirectoryListBox1->Directory = GetCurrentDir();
FileListBox1->Directory = DirectoryListBox1->Directory;
Button1->Enabled=false;
DirectoryListBox1Change(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TFNet::DirectoryListBox1Change(TObject *Sender)
{
FileListBox1->Directory = DirectoryListBox1->Directory;
if (FileListBox1->Items->IndexOf("PRODUCTO.DB") > -1){
Button1->Enabled=true;
Label2->Caption = "Directorio Correcto";
}else{
Label2->Caption = "Directorio Incorrecto";
if(Button1->Enabled)
Button1->Enabled=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TFNet::FormDestroy(TObject *Sender)
{
SetCurrentDir(OldDir);
}
//--------------------------------------------------------------------------- |
*******************************
un saludo... _________________
 |
|