First commit 11/07/1998

This commit is contained in:
José David Guillén 2021-09-12 22:12:21 +02:00
commit 097a445f4b
15 changed files with 5488 additions and 0 deletions

14
AcercaDe.cpp Normal file
View File

@ -0,0 +1,14 @@
//---------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "AcercaDe.h"
//---------------------------------------------------------------------
#pragma resource "*.dfm"
TAboutBox *AboutBox;
//---------------------------------------------------------------------
__fastcall TAboutBox::TAboutBox(TComponent* AOwner)
: TForm(AOwner)
{
}
//---------------------------------------------------------------------

BIN
AcercaDe.dfm Normal file

Binary file not shown.

35
AcercaDe.h Normal file
View File

@ -0,0 +1,35 @@
//----------------------------------------------------------------------------
#ifndef AcercaDeH
#define AcercaDeH
//----------------------------------------------------------------------------
#include <vcl\System.hpp>
#include <vcl\Windows.hpp>
#include <vcl\SysUtils.hpp>
#include <vcl\Classes.hpp>
#include <vcl\Graphics.hpp>
#include <vcl\Forms.hpp>
#include <vcl\Controls.hpp>
#include <vcl\StdCtrls.hpp>
#include <vcl\Buttons.hpp>
#include <vcl\ExtCtrls.hpp>
//----------------------------------------------------------------------------
class TAboutBox : public TForm
{
__published:
TPanel *Panel1;
TLabel *ProductName;
TLabel *Version;
TLabel *Copyright;
TLabel *Comments;
TButton *OKButton;
TLabel *Label1;
TLabel *Label2;
TImage *ProgramIcon;
private:
public:
virtual __fastcall TAboutBox(TComponent* AOwner);
};
//----------------------------------------------------------------------------
extern TAboutBox *AboutBox;
//----------------------------------------------------------------------------
#endif

BIN
MultiBase-TXT.rar Normal file

Binary file not shown.

405
MultiBase_PRJ.cpp Normal file
View File

@ -0,0 +1,405 @@
//---------------------------------------------------------------------------
#include <inifiles.hpp>
#include <vcl.h>
#pragma hdrstop
#include "MultiBase_PRJ.h"
#include "AcercaDe.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CoolForm"
#pragma link "CoolForm"
#pragma link "CoolForm"
#pragma link "AdvGrid"
#pragma resource "*.dfm"
TMultiBase *MultiBase;
//---------------------------------------------------------------------------
__fastcall TMultiBase::TMultiBase(TComponent* Owner)
: TForm(Owner)
{
filtrando = false;
modificado = false;
StatusBar1->Panels->Items[0]->Text = "Inicializando programa...";
LoadData("Peliculas.ini");
VisibilidadColumnas();
StatusBar1->Panels->Items[0]->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::McolumnasClick(TObject *Sender)
{
TMenuItem *ClickedItem = dynamic_cast<TMenuItem *>(Sender);
if (ClickedItem)
{
ClickedItem->Checked = !ClickedItem->Checked;
if ( ClickedItem->Checked )
Visualizador->UnhideColumn(ClickedItem->Tag);
else
Visualizador->HideColumn(ClickedItem->Tag);
Visualizador->AutoSize = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::VisibilidadColumnas(void)
{
TMenuItem * MenuItem;
for (int i=2; i<Mcolumnas->Items->Count; i++)
{
MenuItem = Mcolumnas->Items->Items[i];
if ( MenuItem->Checked )
Visualizador->UnhideColumn(MenuItem->Tag);
else
Visualizador->HideColumn(MenuItem->Tag);
}
Visualizador->AutoSize = true;
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::LoadData(AnsiString File)
{
TMenuItem *NewItem, *SubNewItem;
AnsiString Genero, Registro, LUp, LUpZ;
int i, j;
TIniFile *ini;
ini = new TIniFile( ExtractFileDir( Application->ExeName ) + "\\Peliculas.INI" );
delimitador = ini->ReadString( "CFG", "delimitador", "·" );
// **************************************************************************** RegAnt = 0; RegSig = 0;
StatusBar1->Panels->Items[0]->Text = "Recuperando estructura";
Registro = ini->ReadString( "zIndex", "n0", "" );
if ( !Registro.IsEmpty() )
{
Visualizador->ColCount = 2 + Analiza( Registro );
columnas = Visualizador->ColCount;
Visualizador->HideColumn(Visualizador->ColCount-1);
LookUp = new TStringList *[ Visualizador->ColCount ];
for ( i=0; i<Visualizador->ColCount; i++ )
LookUp[i] = 0;
// ****************************************************************************
StatusBar1->Panels->Items[0]->Text = "Cargando LookUp's";
AnsiString LookUpC; int PosDel;
luTable = new LookUpTable[Visualizador->ColCount];
for ( i=0; i< (Visualizador->ColCount-2) ;i++)
{
LookUpC = ini->ReadString( "LookUp", "n"+AnsiString(i), "" );
if ( LookUpC.IsEmpty() ) break;
PosDel = LookUpC.Pos( delimitador );
luTable[i].Columna = ( LookUpC.SubString( 1, PosDel-1 ) ).ToInt();
luTable[i].Clave = LookUpC.SubString( PosDel+1, LookUpC.Length() - PosDel );
StatusBar1->Panels->Items[0]->Text = "Analizando LookUp: " + luTable[i].Clave;
//************************************
/* M */NewItem = new TMenuItem(Mfiltros);
/* E F */NewItem->Caption = luTable[i].Clave;
/* N i */NewItem->Tag = luTable[i].Columna;
/* Ú l *///NewItem->GroupIndex = 1;
/* t *///NewItem->Checked = false;
/* d r *///NewItem->RadioItem = true;
/* e o *///NewItem->OnClick = SeleccionDeFiltroClick;
/* s */Mfiltros->Items->Add(NewItem);
//************************************
LookUp[luTable[i].Columna] = new TStringList();
LUpZ = luTable[i].Clave[1];
LUpZ = LUpZ.LowerCase();
for ( j=0; ;j++ )
{
LUp = ini->ReadString( luTable[i].Clave, LUpZ+AnsiString(j), "" );
if ( LUp.IsEmpty() )
break;
( LookUp[ luTable[i].Columna ] )->Add( LUp );
//************************************
/* S */SubNewItem = new TMenuItem(NewItem);
/* U F */SubNewItem->Caption = LUp;
/* B i */SubNewItem->Tag = luTable[i].Columna;
/* M l */SubNewItem->GroupIndex = 1;
/* E t */SubNewItem->Checked = false;
/* N r */SubNewItem->RadioItem = true;
/* Ú o */SubNewItem->OnClick = SeleccionDeFiltroClick;
/* s */NewItem->Add(SubNewItem);
//************************************
}
//************************************
}
anyLookUp = (i>0);
LookABLEcolumns = i;
// **************************************************************************** RegAnt = 0; RegSig = 0;
Almacena( Registro, 0, ini );
Visualizador->RowCount = 3;
StatusBar1->Panels->Items[0]->Text = "Recuperando registros";
for (i=1; ;i++)
{
Registro = ini->ReadString( "zIndex", "n"+AnsiString( i ), "" );
if ( Registro.IsEmpty() ) break;
Almacena( Registro, i, ini );
Visualizador->RowCount = i + 2;
}
Visualizador->RowCount--;
RegAnt = i-1;
RegSig = i;
} else {
ShowMessage( "La Estructura inicial NO EXISTE :_(" );
}
// ****************************************************************************
StatusBar1->Panels->Items[0]->Text = "";
delete ini;
}
//---------------------------------------------------------------------------
int __fastcall TMultiBase::Analiza( AnsiString Registro )
{
int dev=1, i=1;
while ( i < Registro.Length() )
{
if ( Registro[i] == delimitador[1] ) dev ++;
i++;
}
return dev;
}
//---------------------------------------------------------------------------
int __fastcall TMultiBase::Almacena( AnsiString Registro, int Numero, TIniFile *ini )
{
TMenuItem *NewItem;
int cols=1, PosDel, j;
AnsiString ValorCampo;
Visualizador->Cells[0][Numero] = AnsiString( Numero );
while ( cols < Visualizador->ColCount )
{
PosDel = Registro.Pos( delimitador );
if ( LookABLEcolumns > 0 )
{
for ( j=0; j<LookABLEcolumns; j++ )
{
if ( luTable[j].Columna == cols )
{
if ( PosDel == 0 )
ValorCampo = ini->ReadString( luTable[j].Clave, Registro, Registro );
else
ValorCampo = ini->ReadString( luTable[j].Clave, Registro.SubString( 1, PosDel-1 ), Registro.SubString( 1, PosDel-1 ) );
break;
}
}
}
if ( LookABLEcolumns <= 0 || j >= LookABLEcolumns )
{
if ( PosDel == 0 )
ValorCampo = Registro;
else
ValorCampo = Registro.SubString( 1, PosDel-1 );
}
Visualizador->Cells[cols][Numero] = ValorCampo;
Registro = Registro.SubString( PosDel+1, Registro.Length() - PosDel );
if ( Numero == 0 )
{
NewItem = new TMenuItem(Mcolumnas);
NewItem->Caption = ValorCampo;
NewItem->Tag = cols;
ValorCampo = ini->ReadString( "CFG", "columnas", "" );
if ( ValorCampo.IsEmpty() || cols > ValorCampo.Length() )
NewItem->Checked = true;
else
NewItem->Checked = (ValorCampo[ cols ]=='0') ? false : true;
NewItem->OnClick = McolumnasClick;
Mcolumnas->Items->Add(NewItem);
}
cols++;
}
return 0;
}
//---------------------------------------------------------------------------
bool __fastcall TMultiBase::GuardarCambios(void)
{
AnsiString Cambio;
int i;
// GuardarCambios
// Hacemos visibles todas las columnas...
/*
for ( i=0; i<columnas; i++ )
Visualizador->UnhideColumn(i);
*/
filtrando = true;
Visualizador->UnhideColumn(columnas-1);
// Filtramos para ver que ha cambiado...
TFilterData* fd;
Visualizador->FilterActive = false;
Visualizador->Filter->Clear();
fd = Visualizador->Filter->Add();
fd->Condition = "M";
fd->Column = (columnas-1);
Visualizador->FilterActive = true;
filtrando = false;
/*
// Recorremos todas las filas
for ( int j=1; j < Visualizador->RowCount; j++ )
{
i = 0;
Cambio = CompactaTexto( i, (Visualizador->Rows[j])->Strings[j] );
// y todas las columnas
for ( i=1; i<columnas; i++ )
// Anexamos las columnas teniendo en cuenta los LookUps
Cambio += delimitador + CompactaTexto( i, (Visualizador->Rows[j])->Strings[i] );
// Guardamos la fila cambiada
ShowMessage( Cambio );
}
*/
return true;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TMultiBase::CompactaTexto( int Columna, AnsiString Texto )
{
AnsiString dev;
dev = Texto;
// Si existen columnas LookABLES
if ( LookABLEcolumns > 0 )
{
// Recorremos la tabla de LookUps
for ( int j=0; j<LookABLEcolumns; j++ )
{
// Si esta columna ES LookABLE
if ( luTable[j].Columna == Columna )
{
// Realizamos un LookUps INVERSO
/*
ValorCampo = ini->ReadString( luTable[j].Clave, Registro, Registro );
*/
break;
}
}
}
return dev;
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::FormClose(TObject *Sender,
TCloseAction &Action)
{
AnsiString Message = "Se han producido algunos cambios. ¿Deseea guardar los cambios?";
while ( modificado )
{
if ( MessageDlg( Message, mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
{
if ( GuardarCambios() )
modificado = false;
else
Message = "Los cambios no pudieron ser guardados. ¿Volver a intentar?";
} else
modificado = false;
}
for ( int i=0; i<Visualizador->ColCount; i++ )
if ( LookUp[i] )
delete LookUp[i];
delete [] LookUp;
delete [] luTable;
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::SpeedButton1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::SpeedButton2Click(TObject *Sender)
{
TAboutBox *About;
About = new TAboutBox( this );
About->ShowModal();
delete About;
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::bColumnasClick(TObject *Sender)
{
Mcolumnas->Popup(Left + bColumnas->Left, Top + bColumnas->Top);
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::VisualizadorGetEditorType(TObject *Sender,
int ACol, int ARow, TEditorType &aEditor)
{
if ( LookUp[ACol] && LookUp[ACol]->Count > 0 )
{
Visualizador->ClearComboString();
for ( int i=0; i < LookUp[ACol]->Count; i++ )
Visualizador->AddComboString( LookUp[ACol]->Strings[i] );
Visualizador->Combobox->Sorted=false;
aEditor=edComboList;
}
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::VisualizadorCellsChanged(TObject *Sender,
TRect &R)
{
if ( !filtrando )
{
(Visualizador->Rows[Visualizador->Row])->Strings[columnas-1] = "M";
modificado = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::bFiltrosClick(TObject *Sender)
{
Mfiltros->Popup(Left + bFiltros->Left, Top + bFiltros->Top);
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::SeleccionDeFiltroClick(TObject *Sender)
{
TFilterData* fd;
AnsiString Condicion; int i;
TMenuItem *ClickedItem = dynamic_cast<TMenuItem *>(Sender);
filtrando = true;
// Ajustamos el nuevo filtro
Visualizador->FilterActive = false;
if ( ClickedItem->Tag > 0 )
{
Visualizador->FilterActive = false;
Visualizador->Filter->Clear();
fd = Visualizador->Filter->Add();
for ( i=1; i<=ClickedItem->Caption.Length(); i++ )
if ( (ClickedItem->Caption)[i] != '&' )
Condicion += (ClickedItem->Caption)[i];
fd->Condition = Condicion;
fd->Column = ClickedItem->Tag;
Visualizador->FilterActive = true;
if ( ClickedItem->Tag > 0 )
ClickedItem->Checked = true;
}
Visualizador->AutoSize = true;
filtrando = false;
}
//---------------------------------------------------------------------------
void __fastcall TMultiBase::SpeedButton3Click(TObject *Sender)
{
GuardarCambios();
}
//---------------------------------------------------------------------------

4528
MultiBase_PRJ.dfm Normal file

File diff suppressed because it is too large Load Diff

85
MultiBase_PRJ.h Normal file
View File

@ -0,0 +1,85 @@
//---------------------------------------------------------------------------
#ifndef MultiBase_PRJH
#define MultiBase_PRJH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include "coolform.hpp"
#include <Graphics.hpp>
#include "coolform.hpp"
#include <DBCtrls.hpp>
#include <Mask.hpp>
#include "CoolForm.hpp"
#include <Buttons.hpp>
#include "AdvGrid.hpp"
#include <Menus.hpp>
//---------------------------------------------------------------------------
typedef struct
{
int Columna;
AnsiString Clave;
} LookUpTable;
class TMultiBase : public TForm
{
__published: // IDE-managed Components
TCoolForm *CoolForm1;
TPanel *Panel2;
TStatusBar *StatusBar1;
TSpeedButton *SpeedButton1;
TAdvStringGrid *Visualizador;
TPopupMenu *Mcolumnas;
TMenuItem *ColumnasVisibles1;
TMenuItem *N1;
TSpeedButton *SpeedButton2;
TSpeedButton *bColumnas;
TSpeedButton *bFiltros;
TPopupMenu *Mfiltros;
TMenuItem *MenuItem1;
TMenuItem *MenuItem2;
TMenuItem *SinFiltros1;
TSpeedButton *SpeedButton3;
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall SpeedButton1Click(TObject *Sender);
void __fastcall SpeedButton2Click(TObject *Sender);
void __fastcall bColumnasClick(TObject *Sender);
void __fastcall VisualizadorGetEditorType(TObject *Sender,
int ACol, int ARow, TEditorType &aEditor);
void __fastcall VisualizadorCellsChanged(TObject *Sender,
TRect &R);
void __fastcall bFiltrosClick(TObject *Sender);
void __fastcall SeleccionDeFiltroClick(TObject *Sender);
void __fastcall SpeedButton3Click(TObject *Sender);
private: // User declarations
void __fastcall LoadData(AnsiString File);
int __fastcall Analiza( AnsiString Registro );
int __fastcall Almacena( AnsiString Registro, int Numero, TIniFile *ini );
int RegAnt, RegSig;
AnsiString delimitador;
bool anyLookUp;
LookUpTable *luTable;
TStringList **LookUp;
bool filtrando;
bool modificado;int columnas;
int LookABLEcolumns;
void __fastcall VisibilidadColumnas(void);
void __fastcall McolumnasClick(TObject *Sender);
bool __fastcall TMultiBase::GuardarCambios(void);
AnsiString __fastcall CompactaTexto( int Columna, AnsiString Texto );
public: // User declarations
__fastcall TMultiBase(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TMultiBase *MultiBase;
//---------------------------------------------------------------------------
#endif

135
MultiBase_TXT.bpr Normal file
View File

@ -0,0 +1,135 @@
<?xml version='1.0' encoding='utf-8' ?>
<!-- C++Builder XML Project -->
<PROJECT>
<MACROS>
<VERSION value="BCB.05.03"/>
<PROJECT value="MultiBase_TXT.exe"/>
<OBJFILES value="MultiBase_TXT.obj MultiBase_PRJ.obj AcercaDe.obj"/>
<RESFILES value="MultiBase_TXT.res"/>
<IDLFILES value=""/>
<IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES) MultiBase_PRJ.dfm AcercaDe.dfm"/>
<LIBFILES value=""/>
<LIBRARIES value="asgc5.lib CoolPack.lib JDsoft.lib vclx50.lib QRPT50.lib VCLBDE50.lib
VCLDB50.lib VCL50.lib"/>
<SPARELIBS value="VCL50.lib VCLDB50.lib VCLBDE50.lib QRPT50.lib vclx50.lib JDsoft.lib
CoolPack.lib asgc5.lib"/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi VCLDB50.bpi VCLADO50.bpi ibsmp50.bpi
VCLBDE50.bpi VCLDBX50.bpi QRPT50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi
DSS50.bpi TEEQR50.bpi VCLIB50.bpi VCLMID50.bpi VCLIE50.bpi INETDB50.bpi
INET50.bpi NMFAST50.bpi WEBMID50.bpi bcbie50.bpi dclocx50.bpi
bcb2kaxserver50.bpi CoolPack.bpi JDsoft.bpi"/>
<PATHCPP value=".;"/>
<PATHPAS value=".;"/>
<PATHRC value=".;"/>
<PATHASM value=".;"/>
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
<USERDEFINES value="_DEBUG"/>
<SYSDEFINES value="NO_STRICT"/>
<MAINSOURCE value="MultiBase_TXT.cpp"/>
<INCLUDEPATH value="..\VCLs\include;$(BCB)\include;$(BCB)\include\vcl;&quot;C:\program\cbuilder\CBuilder5\VCLs\include\&quot;"/>
<LIBPATH value="..\VCLs\include;..\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib;&quot;C:\program\cbuilder\CBuilder5\VCLs\lib\&quot;"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
<IDLCFLAGS value="-I..\VCLs\include -I$(BCB)\include -I$(BCB)\include\vcl
-I&quot;C:\program\cbuilder\CBuilder5\VCLs\include\.&quot; -src_suffix cpp -D_DEBUG
-boa"/>
<CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c
-tW -tWM"/>
<PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/>
<RFLAGS value=""/>
<AFLAGS value="/mx /w2 /zd"/>
<LFLAGS value="-D&quot;&quot; -aa -Tpe -x -Gn -v"/>
</OPTIONS>
<LINKER>
<ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib"/>
</LINKER>
<IDEOPTIONS>
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=0
Release=0
Build=1
Debug=0
PreRelease=1
Special=0
Private=0
DLL=0
Locale=3082
CodePage=1252
[Version Info Keys]
CompanyName=JD Soft.
FileDescription=Gestor MultiBase - TXT
FileVersion=1.0.0.1
InternalName=MultiBaseTXT
LegalCopyright=
LegalTrademarks=JD soft.
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=Permite generar rápidamente un catálogo de productos indexados sobre texto.
url=www.infdj.com
e-mail=jd@infdj.com
[Excluded Packages]
$(BCB)\Projects\Bpl\Dialup.bpl=RAS Tools
[HistoryLists\hlIncludePath]
Count=4
Item0=..\VCLs\include;$(BCB)\include;$(BCB)\include\vcl;C:\program\cbuilder\CBuilder5\VCLs\include\
Item1=$(BCB)\include;$(BCB)\include\vcl;C:\program\cbuilder\CBuilder5\VCLs\include\
Item2=$(BCB)\include;$(BCB)\include\vcl;..\VCLs\include
Item3=$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
Count=6
Item0=..\VCLs\include;..\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib;C:\program\cbuilder\CBuilder5\VCLs\lib\
Item1=..\VCLs\lib\;$(BCB)\lib\obj;$(BCB)\lib;C:\program\cbuilder\CBuilder5\VCLs\lib\
Item2=C:\VCLs\lib\;$(BCB)\lib\obj;$(BCB)\lib;C:\program\cbuilder\CBuilder5\VCLs\lib\
Item3=C:\VCLs\lib\;$(BCB)\lib\obj;$(BCB)\lib;..\VCLs\lib
Item4=..\..\..\..\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib;..\VCLs\lib
Item5=..\..\..\..\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
Count=1
Item0=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
[Parameters]
RunParams=
HostApplication=
RemoteHost=
RemotePath=
RemoteDebug=0
[Compiler]
ShowInfoMsgs=0
LinkDebugVcl=0
LinkCGLIB=0
[CORBA]
AddServerUnit=1
AddClientUnit=1
PrecompiledHeaders=1
[Language]
ActiveLang=
ProjectLang=
RootDir=
</IDEOPTIONS>
</PROJECT>

23
MultiBase_TXT.cpp Normal file
View File

@ -0,0 +1,23 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
USERES("MultiBase_TXT.res");
USEFORM("MultiBase_PRJ.cpp", MultiBase);
USEFORM("AcercaDe.cpp", AboutBox);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TMultiBase), &MultiBase);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
//---------------------------------------------------------------------------

BIN
MultiBase_TXT.exe Normal file

Binary file not shown.

BIN
MultiBase_TXT.res Normal file

Binary file not shown.

9
README.md Normal file
View File

@ -0,0 +1,9 @@
#MultiBaseTXT
*11/07/1998*
ToDo: wwtcf?
![screenshot](/MultiBaseTXT.png "Screenshot")

BIN
alacabezac03.zip Normal file

Binary file not shown.

BIN
peliculas.exe Normal file

Binary file not shown.

254
peliculas.ini Normal file
View File

@ -0,0 +1,254 @@
; Catálogo de peliculas desarrollado por JD soft.
[CFG]
; el delimitador por defecto es "·"
delimitador=·
; Por defecto se muestran todas, pero basta poner un cero en el lugar que
; ocupe la columna que no se desea mostrar para que no se muestre.
; ejm.
; columnas = 001110 Se muestran la 3,4 y 5 columna y
; a partir de la 6 en adelante
columnas=00
; Los índices de las columnas LookUp deben comenzar con la primera
; letra en minuscula de su CLAVE de Busqueda
; ejm. Formatos --> f0, f1, f2, f[n]
; Generos ---> g0, g1, g2, g[n]
[Formatos]
; No alterar el orden de los formatos existentes
f0=DivX
f1=VCD
f2=SVCD
f3=DVD
[Generos]
; No alterar el orden de las categorias existentes
g0=SIN CLASIFICAR
g1=Acción
g2=Animación
g3=Aventuras
g4=Bélica
g5=Biografía
g6=Catástrofe
g7=C.Ficción
g8=Fantástico
g9=Cine Negro
g10=Comedia
g11=Dib.Animado
g12=Documental
g13=Drama
g14=Histórica
g15=Intriga
g16=Musical
g17=Melodrama
g18=Oeste
g19=Terror
g20=Picantes
[LookUp]
; LookUp en columnas zIndex: COLUMNA_N [delimitador] CLAVE_BUSQUEDA
n0=1·Generos
n1=2·Formatos
[zIndex]
; No alterar el ORDEN DENTRO DE LOS REGISTROS ( Seguir el mismo QUE 'n0' )
n0= Genero · Formato · Titulo Película · Duración · Nº CD
n1= g11·f0· Tarzan ·0·1
n2= g8·f0· Hackers ·0·1
n3= g2·f0· Cristal Oscuro ·89·1
n4= g0·f0· Torrente·0·1
n5= g7·f0· Expediente X ·0·1
n6= g19·f0· El Exorsista ·0·1
n7= g11·f0· Mentiroso Compulsivo ·0·1
n8= g11·f0· El Diablo Metió La Mano ·0·1
n9= g0·f0· Alta Fidelidad ·0·1
n10= g0·f0· Asesinando a la Srta. Tingle ·0·1
n11= g19·f0· Candiman ·0·1
n12= g7·f0· Contact ·0·1
n13= g0·f0· Instinto ·0·1
n14= g15·f0· Destino Final ·0·1
n15= g7·f0· StarWars: Episodio 1 ·0·1
n16= g11·f0· BowFingel: El Picaro ·0·1
n17= g15·f0· Leyenda Urbana ·0·1
n18= g2·f0· La Princesa Mononoke·0·1
n19= g15·f0· Un Crimen Perfecto ·0·1
n20= g3·f0· Dentro del Laberinto ·0·1
n21= g14·f0· Gladiator ·0·2
n22= g15·f0· El Secreto de Thomas Crow ·0·1
n23= g7·f0· The Man from Planet X ·0·1
n24= g1·f0· Mandibulas ·0·1
n25= g1·f0· El Fin de los Días ·0·1
n26= g0·f0· Terror en la Red ·0·1
n27= g1·f0· La Trampa ·2:35:1·1
n28= g7·f0· Gataca ·0·1
n29= g2·f0· Bichos ·0·1
n30= g0·f0· Abierto hasta el Amanecer ·0·1
n31= g2·f0· Mulan ·0·1
n32= g7·f0· Desafio Total ·0·1
n33= g8·f0· Dogma ·0·1
n34= g0·f0· La Milla Verde ·0·2
n35= g0·f0· Falsas Apariencias ·0·1
n36= g2·f0· Big Daddy ·0·1
n37= g7·f0· Perdidos en el Espacio ·0·1
n38= g19·f0· House of Haunting Hill ·0·1
n39= g1·f0· La Mascara del Zorro ·0·2
n40= g7·f0· Wild Wild West ·0·1
n41= g0·f0· Tango para tres ·0·1
n42= g15·f0· El sexto sentido ·0·1
n43= g7·f0· Daryl ·0·1
n44= g10·f0· Algo pasa con Mary ·0·1
n45= g7·f0· El quinto elemento ·0·1
n46= g2·f0· El Gigante de Hierro ·0·1
n47= g13·f0· Phenomenon ·0·1
n48= g0·f0· Reglas de Compromiso ·0·1
n49= g2·f0· Titan AE ·0·1
n50= g11·f0· Ranma 1/2 ·0·1
n51= g7·f0· El Hombre bicentenario ·0·1
n52= g0·f0· El amor apesta ·0·1
n53= g0·f0· Rumores que matan ·0·1
n54= g7·f0· Flash Gordon ·0·1
n55= g19·f0· Vampiros ·0·1
n56= g0·f0· Al límite ·0·1
n57= g13·f0· Locos en Alabama ·0·1
n58= g0·f0· DeepBlue Sea ·0·1
n59= g7·f0· Sphere ·0·1
n60= g0·f0· Stigmata ·0·1
n61= g0·f0· Stuart Little ·0·1
n62= g0·f0· Las normas de la casa de la Sidra ·0·1
n63= g7·f0· Virus ·0·1
n64= g7·f0· Mi marciano favorito ·0·1
n65= g0·f0· Juego Asesino ·0·1
n66= g0·f0· Huracan Carter ·0·1
n67= g10·f0· American Gigolo ·0·1
n68= g2·f0· Chicken Run ·0·1
n69= g0·f0· El Coleccionista de Huesos ·0·1
n70= g0·f0· Los elegidos ·0·1
n71= g10·f0· El Profesor Chiflado II ·0·1
n72= g8·f0· Frecuency ·0·1
n73= g0·f0· El Patriota ·0·2
n74= g0·f0· Ejecución Inminente ·0·1
n75= g0·f0· Algo casi perfecto ·0·1
n76= g8·f0· El Guerrero nº13 ·0·1
n77= g10·f0· Agarrame a esos Fantasmas ·0·1
n78= g10·f0· El Hombre sin sombra ·0·1
n79= g0·f0· Caprichos del destino ·0·1
n80= g0·f0· El Show de Truman ·0·1
n81= g4·f0· Tres Reyes ·0·1
n82= g0·f0· Revenant ·0·1
n83= g7·f0· Matrix ·0·1
n84= g0·f0· Blade ·0·1
n85= g0·f0· De Ladron a Policia ·0·1
n86= g0·f0· La Vida es Bella ·0·1
n87= g0·f0· La Momia ·0·1
n88= g7·f0· Mision a Marte ·0·1
n89= g1·f0· Mision Imposible 2 ·0·1
n90= g0·f0· The Game ·0·1
n91= g0·f0· La Roca ·0·2
n92= g0·f0· El Hombre de la mascara de hierro ·0·1
n93= g0·f0· Un Pueblo llamado Dante Speak ·0·1
n94= g0·f0· El Principe de Egipto ·0·2
n95= g0·f0· The Faculty·0·1
n96= g7·f0· Apollo 13 ·0·1
n97= g2·f0· Toy Story II ·0·1
n98= g7·f0· Fortaleza Infernal 2 ·0·1
n99= g0·f0· Resurrección ·0·1
n100=g0·f0· Instinto ·0·1
n101=g0·f0· Nadie Conoce a Nadie ·0·1
n102=g0·f0· American Pie ·0·1
n103=g0·f0· Comportamiento Perturbado ·0·1
n104=g0·f0· El Arte de Morir ·0·2
n105=g0·f0· Shakespeare in Love ·0·2
n106=g0·f0· Enemigo Publico ·0·2
n107=g0·f0· Mejor Imposible ·0·1
n108=g0·f0· La Roca ·0·2
n109=g0·f0· Novia a la Fuga ·0·1
n110=g0·f0· Leyendas de Pasion ·0·1
n111=g0·f0· Jovenes y Brujas ·0·1
n112=g0·f0· La Novena Puerta ·0·1
n113=g0·f0· South Park -cara A- ·0·1
n114=g0·f0· South Park -cara B- ·0·1
n115=g0·f0· Asesinato en 8mm ·0·1
n116=g0·f0· El Rescate ·0·1
n117=g0·f0· Conoces a Joe Black? ·0·1
n118=g0·f0· Entrevista con el Vampiro ·0·1
n119=g0·f0· City of Angels ·0·1
n120=g0·f0· Bar Coyote ·0·1
n121=g0·f0· Mickey Ojos Azules ·0·1
n122=g0·f0· U571 ·0·1
n123=g0·f0· El último escalon ·0·1
n124=g0·f0· Pitch Black ·0·1
n125=g0·f0· Men in Black ·0·1
n126=g0·f0· La celda ·0·1
n127=g0·f0· Heavy Metal ·0·1
n128=g0·f0· South Park 2ª Temporada ·0·1
n129=g0·f0· South Park 3ª Temporada ·0·1
n130=g0·f0· La vida de Brian·0·1
n131=g0·f0· Hercules ·0·1
n132=g0·f0· Romeo debe Morir ·0·1
n133=g0·f0· X-Men ·0·1
n134=g0·f0· 60 segundos ·0·1
n135=g0·f0· La Comunidad·0·1
n136=g0·f0· Operación Trueno·0·2
n137=g8·f0· The faculty·0·1
n138=g7·f0· Pitch Black·0·1
n139=g8·f0· La Celda·0·1
n140=g0·f0· El arte de la guerra ·0·1
n141=g7·f0· El Cortador de cesped ·110'·1
n142=g0·f0· El Bola ·0·1
n143=g0·f0· American History X ·0·1
n144=g0·f0· Mas que amigos ·0·1
n145=g0·f0· The Kid ·0·1
n146=g0·f0· South Park 1ª Temporada ·0·1
n147=g0·f0· Otoño en Nueva York ·0·1
n148=g0·f0· Equipo a la fuerza ·0·1
n149=g0·f0· Antz ·0·1
n150=g0·f0· Soldiers ·0·1
n151=g0·f0· Operacion Reno ·0·1
n152=g20·f0· El Imperio de los sentidos ·0·1
n153=g20·f0· Gracias Tia ·0·1
n154=g20·f1· Las amantes del Fiürer ·0·1
n155=g20·f1· Vueltas ·0·1
n156=g20·f0· Nikita ·0·1
n157=g20·f1· Nude Raider ·0·1
n158=g3·f0· La Playa ·0·1
n159=g7·f0· Gen X-Cops ·0·1
n160=g0·f0· Lo que la verdad esconde ·0·1
n161=g0·f0· CowBoys del Espacio ·0·1
n162=g0·f0· El milagro de P.Tinto ·0·1
n163=g0·f0· La historia interminable ·0·1
n164=g0·f0· Juego Asesino ·0·1
n165=g0·f0· La playa ·0·1
n166=g0·f0· El Club de la lucha ·0·1
n167=g0·f0· Bats (murcielagos) ·0·1
n168=g0·f0· Road Trip ·0·1
n169=g2·f0· Futurama 1ª Temporada ·0·1
n170=g2·f0· Futurama 2ª Temporada ·0·1
n171=g2·f0· DragonBall GT ·0·10
n172=g8·f0· Asterix y Obelix ·0·1
n173=g2·f0· Card Captor Sakura (eng) ·0·1
n174=g11·f0· Pokemon, la Pelicula ·0·1
n175=g10·f0· El Gran Lebowski ·0·1
n176=g10·f0· El Profesor Chiflado ·0·1
n177=g10·f0· ScaryMovie ·0·1
n178=g0·f0· Los Angeles de Charlie ·0·1
n179=g0·f0· El Dormilon ·0·1
n180=g0·f0· Condenados a Fugarse ·0·1
n181=g8·f0· Parque Jurasico ·0·1
n182=g0·f2· Snatch ·0·2
n183=g15·f0· Seven ·0·1
n184=g15·f0· El Protegido ·0·1
n185=g13·f0· Animal Factory ·0·1
n186=g7·f0· El 6º Día ·0·1
n187=g10·f0· Al Diablo con el Diablo ·0·1
n188=g0·f0· Druida ·0·1
n189=g0·f0· Cadena de Favores ·0·1
n190=g0·f0· Little Nicky ·0·1