Scrivere e leggere in un file testo

giovedì 10 marzo 2011 - 18.58
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows XP  |  Visual Studio Express

boc_babi Profilo | Junior Member

Ciao a tutti,
se avessi un file di testo così strutturato:

Anno:2011
Mese:Marzo
Giorno:10

e volessi ricavare i vari dati a destra dei : (due punti) come potrei fare ?

E come potrei fare per modificare solo un dato e lasciare stare gli altri ? (p.es. modificare solo il mese)

Grazie, BOC

jackk87 Profilo | Junior Member

>Ciao a tutti,
>se avessi un file di testo così strutturato:
>
>Anno:2011
>Mese:Marzo
>Giorno:10
>
>e volessi ricavare i vari dati a destra dei : (due punti) come
>potrei fare ?
>
>E come potrei fare per modificare solo un dato e lasciare stare
>gli altri ? (p.es. modificare solo il mese)
>
>Grazie, BOC
Ciao io ti consiglio un file ini strutturato in questo modo:
[DATA] Anno=2011 Mese=Marzo Giorno=10

Nella dichiarazione generale del form:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Inserisci queste due funzioni:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

quindi per leggere i dati dal file ini:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

per scrivere nel file ini:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Spero di esserti stato di aiuto

totti240282 Profilo | Guru

Ma col dotnet ora non è piu facile e utile usare l'xml per queste cose ?.
C'è solo un capitano !!!!!!

jackk87 Profilo | Junior Member

>Ma col dotnet ora non è piu facile e utile usare l'xml per queste
>cose ?.
>C'è solo un capitano !!!!!!
se non deve utilizzare obbligatoriamente un file di testo, quoto la soluzione di totti

boc_babi Profilo | Junior Member

Grazie a tutti e due,
a dir la verità avevo cominciato con l'utilizzo dell'xml.
Il problema è che da codice riuscivo a creare il file, a modificare i valori delle varie "variabili" ed a interrogare le variabili stesse, ma non a modificare il file a livello di creazione di nuove tabelle (se si chiamano così !!!).
Avevo provato ad indagare, ma non avevo trovato nulla che mi potesse aiutare.
Ecco il motivo del file di testo.
Sta di fatto che ora sto appoggiando i dati che devo salvare in un DB Access.
Forse non è la strada giusta/migliore, ma per lo meno so cosa sto facendo.
Grazie ancora, BOC.

jd_vv Profilo | Newbie

Va però detto che l'uso dei file ini, e quindi delle api collegate, è ormai deprecato da microsoft. Addirittura dichiarano di mantenerlo solo per compatibilità con i 16bit. Ammetto però di utilizzarli ancora anche io. Fate attenzione che i file non possono superare i 64kb di grandezza.

drew Profilo | Newbie

Basta salvare le varie righe in array, dividere le righe secondo il ":" o "=", a seconda di cosa utilizzi e ottieni due valori in ogni array: {campo, valore}.
Modifichi il valore del campo scelto: arrayn(1) = valore e salvi tutto il resto.

ysdemarc Profilo | Expert

Se usi un file sequenziale è più che normale che per avere i valori devi leggerlo tutto e analizzare le singole righe e per aggiornare il valore ,a meno che non sia aggiungere una riga, devi riscriverlo per intero.

In compenso puoi farti una classe che ti legge il file di restituisce un DataTable costruito da cosice con le colonne nome del campo e valore quello che c'è dopo i due punti e che te lo riscrive.

In compenso l'xml, ma anche questo dopo che aggiungi le tue tabelle e modifichi i tuoi valori va riscritto per intero.

Vincenzo
Programmatore sbilenco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5