Oppure

Loading
09/05/18 19:12
Mars54
Salve sono nuovo del forum.
In una vecchia discussione di un forum ho trovato questi codici che servono per salvare i dati di un programma:

Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
Dim SaveFileDialog2 As New SaveFileDialog
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim fo As StreamWriter = New StreamWriter(SaveFileDialog1.FileName)
fo.WriteLine(TextBox15.Text)
fo.WriteLine(TextBox16.Text)
fo.WriteLine(TextBox17.Text)
fo.Close()

End If
End Sub


Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click

Dim openFileDialog1 As New OpenFileDialog()
If openFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim fr As StreamReader = New StreamReader(openFileDialog1.FileName)
TextBox15.Text = fr.ReadLine
TextBox16.Text = fr.ReadLine
TextBox17.Text = fr.ReadLine
fr.Close()
Text = My.Computer.FileSystem.ReadAllText(openFileDialog1.FileName)


End If

End Sub
Premesso che funziona alla grande , vorrei sapere se c'è un modo per poter salvare i dati all'interno del programma stesso senza le finestre di dialogo.
Premesso ancora che ci puo stare una finestra di dialogo per poter salvare un file , ma per richiamarlo vorrei che non si aprisse la finestra di dialogo ma che appaiono subito nel programma!:rofl:
aaa
09/05/18 20:28
Mikelius
Premesso che conosco solo c# e non VB, ma il concetto è lo stesso.
La finestra di dialogo serve per scegliere DOVE salvare il file.

La parte che CREA SCRIVE e SALVA il file è questa:

Dim fo As StreamWriter = New StreamWriter(SaveFileDialog1.FileName)
            fo.WriteLine(TextBox15.Text)
            fo.WriteLine(TextBox16.Text)
            fo.WriteLine(TextBox17.Text)
            fo.Close() 


invece di "SaveFileDialog1.FileName" dovresti inserire il percorso di dove salvarlo.
Il problema potrebbe essere quello di avere il path giusto. (salvarlo ex novo, stessa cartella dell'eseguibile, desktop ecc ecc. ..) quello lo decidi tu. La finestra semplifica molto
Ultima modifica effettuata da Mikelius 09/05/18 20:29
aaa
09/05/18 20:36
Mars54
Mo potresti fare un esempio?
Sempre se non ti dispiace!
aaa
09/05/18 22:53
Mikelius
Postato originariamente da Mars54:

Mo potresti fare un esempio?
Sempre se non ti dispiace!



using System;
using System.IO;

namespace scrivifile
{
    class Program
    {
        static void Main(string[] args)
        {
            ///////Salva il file
            StreamWriter p = new StreamWriter("..\prova.txt");
            p.WriteLine("Hello World!");
            p.Close();

            ///Legge il file
            ///
            StreamReader pp = new StreamReader("..\prova.txt");
            Console.WriteLine("Il file contiene:");
            Console.WriteLine(pp.ReadLine());
        }
    }
}


salva nella superiore a quella dell'eseguibile. Questo è un esempio base. Basta impostare il path che si vuole.
Ultima modifica effettuata da Mikelius 09/05/18 22:59
aaa
10/05/18 21:58
Carlo
Postato originariamente da Mars54:

Salve sono nuovo del forum.
In una vecchia discussione di un forum ho trovato questi codici che servono per salvare i dati di un programma:

Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
Dim SaveFileDialog2 As New SaveFileDialog
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim fo As StreamWriter = New StreamWriter(SaveFileDialog1.FileName)
fo.WriteLine(TextBox15.Text)
fo.WriteLine(TextBox16.Text)
fo.WriteLine(TextBox17.Text)
fo.Close()

End If
End Sub


Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click

Dim openFileDialog1 As New OpenFileDialog()
If openFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim fr As StreamReader = New StreamReader(openFileDialog1.FileName)
TextBox15.Text = fr.ReadLine
TextBox16.Text = fr.ReadLine
TextBox17.Text = fr.ReadLine
fr.Close()
Text = My.Computer.FileSystem.ReadAllText(openFileDialog1.FileName)


End If

End Sub
Premesso che funziona alla grande , vorrei sapere se c'è un modo per poter salvare i dati all'interno del programma stesso senza le finestre di dialogo.
Premesso ancora che ci puo stare una finestra di dialogo per poter salvare un file , ma per richiamarlo vorrei che non si aprisse la finestra di dialogo ma che appaiono subito nel programma!:rofl:


     Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
   
            Dim fo As StreamWriter = New StreamWriter("C:\MioFile.txt")
            fo.WriteLine(TextBox15.Text)
            fo.WriteLine(TextBox16.Text)
            fo.WriteLine(TextBox17.Text)
            fo.Close()

     End Sub

    Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click

           Dim fr As StreamReader = New StreamReader("C:\MioFile.txt")
           TextBox15.Text = fr.ReadLine
           TextBox16.Text = fr.ReadLine
           TextBox17.Text = fr.ReadLine
           fr.Close()
           Text = My.Computer.FileSystem.ReadAllText("C:\MioFile.txt")

    End Sub

Con questo sistema scrivi e leggi sempre sullo stesso file: "C:\MioFile.txt", per cambiare devi agire sul codice.
Ora hai due esempi uno in C# e uno in VB .NET
Ultima modifica effettuata da Carlo 10/05/18 22:05
in programmazione tutto è permesso
11/05/18 8:09
nessuno
Mars54 .... ma non è esattamente quello che ti avevano già risposto in

iprogrammatori.it/forum-programmazione/altri-linguaggi/…

con tanto di esempio?

Cosa non ti era chiaro?

Anche qui ti hanno fatto subito un esempio ... ma che altro vuoi?
Ultima modifica effettuata da nessuno 11/05/18 8:15
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
11/05/18 9:13
Thejuster
Forse ho capito cosa intende.

In pratica cerca un modo per memorizzare i valori all'interno del programma e non su file.

Usa le proprietà.

Tasto destro sul progetto -> Risorse

Aggiungi un campo di tipo string.

poi da codice

Assegni un valore
Properties.Setting.Default.CAMPO.value = "Ciao";


Per salvare
Properties.Setting.Default.Save();


Per Caricare
Properties.Settting.Default.Load();

Ed infine puoi recuperare il valore salvato.
mire.forumfree.it/ - Mire Engine
C# UI Designer
11/05/18 9:47
nessuno
Sempre su file vanno a finire ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.