Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1

    [C#] gestione .txt

    salve a tutti, vorrei creare alla digitazione di un bottone una file text dove memorizzo il contenuto di una mia listview e questo l'ho già risolto...il mio problema è che prima di creare questo file mi deve venir fuori una tastiera da schermo(risolto) e una textbox dove vado a scrivere il titolo del mio file .txt e quando questo verrà creato (ad esempio in "C:" ) abbia quel nome...vi sembra complessa come cosa? vi posto un po del mio codice fatto fino ad ora

    codice:
    private void Note_Click(object sender, RoutedEventArgs e)
            {
                string testo = "";
                
                Process.Start(@"C:\Windows\System32\osk.exe");
        FileStream fs = newFileStream(@"C:\\nuovo.txt",FileMode.OpenOrCreate,FileAccess.Write);
               
                System.IO.StreamWriter file1 = new System.IO.StreamWriter(fs);
                foreach (string[] array in visualizzaRis.Items)
                {
                    foreach (string s in array)
                    {
                        testo += s;
                    }
                    testo += "\r\n";
                }
                file1.WriteLine(testo);
                file1.Flush();
                file1.Close();
                fs.Close();
            }
    naturalmente una volta scritto il titolo del file faccio sparire sia la tastiera che la textbox
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    ciao,
    hai provato a dare il focus alla textbox dopo l'apertura della tastiera e gestire il return?

    codice:
            private void Note_Click(object sender, RoutedEventArgs e)
            {           
    
                Process.Start(@"C:\Windows\System32\osk.exe");
                this.textBox1.Focus();
            }
    
            private void textBox1_PreviewKeyUp(object sender, KeyEventArgs e)
            {
                if (e.Key == Key.Return&&!string.IsNullOrWhiteSpace(this.textBox1.Text))
                {
                    string testo = "";
                    FileStream fs = new FileStream(this.textBox1.Text, FileMode.OpenOrCreate, FileAccess.Write);
    
                    System.IO.StreamWriter file1 = new System.IO.StreamWriter(fs);
                    foreach (string[] array in visualizzaRis.Items)
                    {
                        foreach (string s in array)
                        {
                            testo += s;
                        }
                        testo += "\r\n";
                    }
                    file1.WriteLine(testo);
                    file1.Flush();
                    file1.Close();
                    fs.Close();
                }
            }

  3. #3
    ora provo questo che mi hai postato, pensao di gestirla con la proprietà visibility ma infatti non andava...cmq di cosa intendi il return? intanto grazie, ti faccio sapere...
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  4. #4
    ma il file di testo dove lo crea? sembra nn funzionare perche tu metti nel testo quello che scrivo con la tastiera ma io non voglio questo, io vorrei che quello che scrivo li nella textbox sia il nome del file (scrivo "ciao" e questo diventerà ciao.txt) spero di essermi spiegato
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  5. #5
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da blackguardian
    ma il file di testo dove lo crea?
    nel percorso che scrivi nella textbox. se poi vuoi scrivere solo il nome senza scrivere percorso e estensione, beh un po di inventiva su!

    sembra nn funzionare perche tu metti nel testo quello che scrivo con la tastiera ma io non voglio questo, io vorrei che quello che scrivo li nella textbox sia il nome del file (scrivo "ciao" e questo diventerà ciao.txt) spero di essermi spiegato
    lo hai provato? guarda che scrive quello che hai messo tu nel codice (molto "ottimizzabile" magari con uno stringBuilder...), ovvero :

    codice:
    foreach (string[] array in visualizzaRis.Items)
                    {
                        foreach (string s in array)
                        {
                            testo += s;
                        }
                        testo += "\r\n";
                    }
    che è il contenuto di testo.



    per return intendo dire l'invio della tastiera. la tastiera si apre e il focus passa ad un textbox, tu scrivi sulla tastiera e quando hai finito premi invio (return). con l'invio, se la textbox non è vuota, fai scrivere il file con il nome letto da essa.

  6. #6
    ah ok ho capito quindi ho capito cosa intendi per quanto riguarda il path del file




    per return intendo dire l'invio della tastiera. la tastiera si apre e il focus passa ad un textbox, tu scrivi sulla tastiera e quando hai finito premi invio (return). con l'invio, se la textbox non è vuota, fai scrivere il file con il nome letto da essa.
    il focus lo gestisco bene perche quando si apre la tastiera creo una nuova textbox che mi va sopra ad un'altra textbox e scrivo direttamente con la tastiera, però vorrei gestire quando premo invio, mi faresti vedere come si fa? grazie
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da blackguardian
    ah ok ho capito quindi ho capito cosa intendi per quanto riguarda il path del file






    il focus lo gestisco bene perche quando si apre la tastiera creo una nuova textbox che mi va sopra ad un'altra textbox e scrivo direttamente con la tastiera, però vorrei gestire quando premo invio, mi faresti vedere come si fa? grazie
    mi prendi in giro ?
    ti ho già fatto l'esempio...

    comunque devi utilizzare l'evento PreviewKeyUp del textbox che usi.


  8. #8
    codice:
    private void Note_Click(object sender, RoutedEventArgs e)
            {
                textBox2.Visibility = Visibility.Visible;
                Process.Start(@"C:\Windows\System32\osk.exe");
                
                textBox2.Focus();
                
               
            }
    
            private void textBox2_PreviewKeyUp(object sender, KeyEventArgs e)
            {
                if (e.Key == Key.Return && !string.IsNullOrWhiteSpace(this.textBox1.Text))
                {
                    string testo = "";
                    FileStream fs = new FileStream(path + this.textBox1.Text + estensione, FileMode.OpenOrCreate, FileAccess.Write);
    
                    System.IO.StreamWriter file1 = new System.IO.StreamWriter(fs);
                    foreach (string[] array in visualizzaRis.Items)
                    {
                        foreach (string s in array)
                        {
                            testo += s;
                        }
                        testo += "\r\n";
                    }
                    
                    file1.WriteLine(testo);
                    file1.Flush();
                    file1.Close();
                    fs.Close();
                    
                }
            }

    scusami abbi un po' di pazienza con me, sono alle prime armi, cmq fino ad ora questo è il mio codice e quando premo invio nn crea nessun file (ti anticipo che path è una stringa uguale a @"C:\\Users\Utente\Desktop\" e estensione ".txt"), come mai?

    ah anche this.Textbox1 ho modoficato in this.textBox2 ma nn va nemmeno
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  9. #9
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    hai collegato l'evento PreviewKeyUp della textbox che usi (textBox2)? devi leggere li il percorso del file, quindi cambiare anche il nome della textbox che ha il focus (new FileStream(path + this.textBox1.Text + estensione... deve diventare new FileStream(path + this.textBox2.Text + estensione...)

    accertati che scrivi proprio nella textbox che ha il focus e che è collegato al metodo "textBox2_PreviewKeyUp"

  10. #10
    guarda sto controllando accuratamente ma è tt giusto
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.