//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Cartones.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TFileStream *ioArchivo;
Cartones *cCarton;
vector<Cartones *> vCartones;
int nCartones;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Clear();
Memo2->Lines->Clear();
ioArchivo = new TFileStream("cartones.txt", fmCreate);
int cantCartones = nCartones;
for(int i=0; i<cantCartones; i++){
cCarton = new Cartones(1, 25, 15);
cCarton->setNumSerie(i+1);
cCarton->generarNumerosDeCarton();
vCartones.push_back(cCarton);
}
// ----------------------- ACA LOS MUESTRA BIEN --------------------------
for(unsigned int i=0; i<vCartones.size(); i++){
Memo1->Lines->Append(AnsiString(vCartones[i]->getNumSerie()));
Memo1->Lines->Append(vCartones[i]->devolverNumeros()); //ESTO
}
for(unsigned int i=0; i<vCartones.size(); i++){
Memo2->Lines->Append(AnsiString(vCartones[i]->getNumSerie()));
Memo2->Lines->Append(vCartones[i]->devolverNumeros());
}
ioArchivo->WriteComponent(Memo2);
delete ioArchivo;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize();
nCartones = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
nCartones += 3;
Label1->Caption = AnsiString(nCartones);
Label2->Caption = AnsiString(nCartones/3);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo1->Lines->Clear();
Memo2->Lines->Clear();
ioArchivo = new TFileStream("cartones.txt", fmOpenRead | fmShareExclusive);
ioArchivo->ReadComponent(Memo2);
vector<char> vcNumeros(25);
AnsiString aux;
int cont = 1, num = 0;
for(int i=0; i<Memo2->Lines->Count; i+=2){
cCarton = new Cartones(1, 25, 15);
cCarton->setNumSerie(Memo2->Lines->Strings[i].ToInt());
aux = Memo2->Lines->Strings[i+1];
while(cont <= aux.Length()){
num = aux[cont];
if(num >= 1 && num <= 25)
vcNumeros[num-1] = 'X';
cont++;
}
cCarton->setNumeros(vcNumeros);
vCartones.push_back(cCarton);
}
delete ioArchivo;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
/*Cartones cCartonGanador(1, 25, 15);
cCartonGanador.generarNumerosDeCarton();
cCartonGanador.setNumerosEnteros(cCartonGanador.devolverNumeros());
Memo1->Lines->Append("Carton Ganador: ");
Memo1->Lines->Append(cCartonGanador.getNumerosEnteros());*/
// ---------------------- ACA LOS MUESTRA MAL -----------------------
for(unsigned int i=0; i<vCartones.size(); i++){
Memo1->Lines->Append(AnsiString(vCartones[i]->getNumSerie()));
Memo1->Lines->Append(vCartones[i]->devolverNumeros()); //ESTO
}
/*int aciertos;
for(unsigned int i=0; i<vCartones.size(); i++){
aciertos = vCartones[i]->compararCartones(cCartonGanador);
vCartones[i]->setCantNumerosAcertados(aciertos);
vCartones[i]->setNumerosEnteros(vCartones[i]->devolverNumeros());
}
int i = 15;
for(unsigned int j=0; j<vCartones.size(); j++){
//if(vCartones[j]->getCantNumerosAcertados() == i && i >= 12 && i <= 15){
Memo1->Lines->Append("Carton: " + AnsiString(vCartones[j]->getNumSerie()) + " Aciertos: " + AnsiString(vCartones[j]->getCantNumerosAcertados()));
Memo1->Lines->Append(vCartones[j]->getNumerosEnteros());
//}
//i--;
}*/
}
//---------------------------------------------------------------------------