Buongiorno a tutti.
Premetto che sono un neofita di VB.net (Uso VS 2017) completamente autodidatta con un'infarinatura in C++ (quest'ultima informazione vi servirà dopo)
Ho cercato a lungo su forum italiani e stranieri, ho guardato decine di video su youtube ma nessuno spiega o mostra come fare queste cose, chiedere direttamente a voi che siete esperti è la mia ultima spiaggia. Aiutatami per favore
Vorrei capire:
- Come aprire un foglio elettronico di Excel
- Come aprire un foglio elettronico di LibreOffice
Questi file contengono dati nella forma:
Titolo1 Genere1 Durata1 Nazionalità1
Titolo2 Genere2 Durata2 Nazionalità2
...
Vorrei sapere:
- Come estrarre questi dati e inserirli in array monodimensionali.
So che posso dichiarare un array scrivendo:
Dim titolo(n) As String
Il mio obiettivo è quello di creare un programma che chiede all'utente le caratteristiche del film cercate (Genere, Durata massima, Nazione di produzione) e confrontarle con i dati presi dal file di testo per poi restituire tutti e i soli film con le caratteristiche cercate.
Ho già scritto questo programma in C++, vi faccio vedere
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
/*Dichiaro tanti array monodimensionali quante
sono le colonne del mio file di testo .txt.
Il numero 110 è arbitrario.*/
string film[110];
string genere[110];
string nazione[110];
string sesso[110];
double durata[110];
int nfilm = 0; //Inizializzo il contatore per scorrere gli array
/*Dichiaro la variabile di flusso di tipo Input e le
variabili che andranno a contenere gli elementi chiesti
dall'utente scritti da tastiera*/
ifstream indata;
string generechiesto;
string nazionechiesta;
string sessochiesto;
double duratachiesta;
/*In ordine:
-Prompt per l'utente
-Input da tastiera, il programma salva la
caratteristica chiesta dall'utente nella variabile*/
cout << "Che genere cerchi?" << endl;
cin >> generechiesto;
cout << endl;
cout << "Nazionalita'? (Italiano, Straniero)" << endl;
cin >> nazionechiesta;
cout << endl;
cout << "Protagonista? (Uomo, Donna, Entrambi)" << endl;
cin >> sessochiesto;
cout << endl;
cout << "Durata massima?" << endl;
cin >> duratachiesta;
cout << endl;
//Apertura del file
indata.open("Lettura.txt");
//Inizio del ciclo while.
while (indata && nfilm <= 110)
{
/*Indata opera un'estrazione dal file, legge da sinistra verso destra
e salva in ordine tutti gli elementi della prima riga (indice 0)*/
indata >> film[nfilm] >> genere[nfilm] >> nazione[nfilm] >> sesso[nfilm] >> durata[nfilm];
/*Qui si opera il confronto tra la caratteristica chiesta
e gli elementi trovati nella prima riga*. Se c'è corrispondenza
il titolo di quella riga viene stampato a schermo*/
if ( genere[nfilm] == generechiesto && nazione[nfilm] == nazionechiesta && sesso[nfilm] == sessochiesto && durata[nfilm] < duratachiesta)
cout << film[nfilm] << endl;
}
//Chiusura file
indata.close();
return 0;
}
Vorrei fare esattamente la stessa cosa in VB.net. Le caratteristiche scelte verrebbero selezionate da alcuni menù a tendina, ma per questa parte penso di potermela cavare agilmente.
Perdonatemi: vi sto chiedendo cose basilari, ho fatto riferimento ad un altro linguaggio e forse sono stato fin troppo attento a spiegare il banale funzionamento del programma in C++. Potete aiutarmi per favore?