// Cargar la tabla -----------------------------------------------------------------------
void MainWindow::CargaTabla()
{
// Asignar ancho a las columnas
DimCeldas();
// Dimensionar la tabla
ui->Tabla->setGeometry(85,0,1120,880);
// Presentar la tabla
ui->Tabla->setHidden(false);
// Asignar número de columnas a la tabla
ui->Tabla->setColumnCount(5);
// Asignar título a las columnas de la tabla
QStringList l;
l << "TITULO" << "AUTOR" << "TEMA" << "LUG." << "NUM.";
ui->Tabla->setHorizontalHeaderLabels(l);
// Número de filas 0, para no conservar datos de listados anteriores
ui->Tabla->setRowCount(0);
// Cargar datos de vectores en tabla
for(int i=0;i<VTi.size();i++)
{
// Agregar nueva fila
ui->Tabla->insertRow(ui->Tabla->rowCount());
// Insertar datos en columnas
ui->Tabla->setItem(ui->Tabla->rowCount()-1, 0, new QTableWidgetItem(VTi[i])); // Título
ui->Tabla->setItem(ui->Tabla->rowCount()-1, 1, new QTableWidgetItem(VAu[i])); // Autor
ui->Tabla->setItem(ui->Tabla->rowCount()-1, 2, new QTableWidgetItem(VTe[i])); // Tema
ui->Tabla->setItem(ui->Tabla->rowCount()-1, 3, new QTableWidgetItem(VLu[i])); // Lugar
ui->Tabla->item(i, 3)->setTextAlignment(Qt::AlignCenter); // Centrado
ui->Tabla->setItem(ui->Tabla->rowCount()-1, 4, new QTableWidgetItem(VNu[i])); // Número
ui->Tabla->item(i, 4)->setTextAlignment(Qt::AlignRight); // Justificado a la Derecha
}
}
// Cargar vector------------------------------------------------------------
void MainWindow::CargaVector()
{
VaciaVector();
ct=1;
// *** ABRIR EL FICHERO ***
QByteArray dirActual;
dirActual.append(QDir::currentPath());
QByteArray rutaCompletaATexto;
rutaCompletaATexto.append(dirActual);
rutaCompletaATexto.append("/"); //Si usas Windows debes utilizar "\"
rutaCompletaATexto.append("FichLib.txt");
QFile file(rutaCompletaATexto);
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
qDebug()<<"No se encuentra el archivo de texto!";
}else{
//Creamos la variable que contiene todo el fichero.
QString TxFichero;
//Creamos la variable que contiene todo el archivo.
TxFichero.append(file.readAll());//el metodo readAll ejeculalo solo una vez por función.
//Creamos una variable de Lista partiendo la variable todoeltexto por "|"
QStringList Ficha = TxFichero.split("|");
//Iniciamos Bucle for
for(int i=0;i<Ficha.size()-1;i++){
//Creamos la variable que contiene los datos de una ficha.
QString DatosFich;
//Añadimos a una columna sus datos
DatosFich.append(Ficha.at(i));
// Separamos en una lista los datos de una ficha, definidos por el signo "#"
QStringList LisDatos = DatosFich.split("#");
//Separamos los datos de cada ficha y los asignamos a un vector
for(int j=0;j<LisDatos.size();j++){
// *** ASIGNAR DATOS A VECTORES ***
if (j==0){
VTi[i].append(LisDatos.at(j)); // Título
}
if (j==1){
VAu[i].append(LisDatos.at(j)); // Autor
}
if (j==2){
VTe[i].append(LisDatos.at(j)); // Tema
}
if (j==3){
VLu[i].append(LisDatos.at(j)); // Lugar
}
if (j==4){
VNu[i].append(LisDatos.at(j)); // Número
}
}
// Redimensionar vectores
ct = ct+1;
RedimVector();
}
}
QFile close();
// Redimensionar vectores (Quitar último vacío)
ct = ct-1;
RedimVector();
//v.size()
// Asignar número del último vector para asignar número de nuevo libro automaticamente.
UVect = ct-1;
}