Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C#] Compact framework, nuove schermate e tabelle

    Salve a tutti,
    sto avendo qualche problema a programmare in C# mediante il compact framework 3.5, dato il numero esiguo di classi a mia disposizione.

    Il mio problema è che al click di un bottone dovrei passare ad una nuova schermata, quindi nascondere tutto ciò che c'è su quella attuale, e visualizzare una tabella che devo popolare mediante la lettura di un file.

    Per aprire una nuova schermata già non saprei cosa utilizzare, io programavo in Vb.net ma con il framework normale, e avevi mille controlli per visualizzare più schermate con menu appositi per fare il cambio da una all'altra. Qui non saprei come fare.

    Per la tabella invece, l'unica è il solito datagrid? e per la lettura da file? non c'è qualche modo per associare il datasource del datagrid alla lettura da file?

    Scusate per tutte queste domande, ma mi sto trovando un pò spaesato con questo compact framework.

    Se qualcuno che utilizza il compat framework ha una mezza guida da linkare per il suo utilizzo mi sarebbe davvero d'aiuto.

    Da qui:
    http://msdn.microsoft.com/it-it/libr...=VS.90%29.aspx
    Leggevo della classe Openfiledialog per gestire lo streaming da file, ma nel mio ambiente di sviluppo tale classe non esiste. Com'è possibile?

    Vi ringrazio in anticipo,
    Neptune.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2
    Ho provato a fare un nuovo progetto selezionando la professional sdk (forse prima non l'avevo selezionata) ed ora mi riconosce la classe openfiledialog ma non mi riconosce la classe stream, quindi il seguente esempio preso dal sito dell'msdn non mi va perchè non posso disporre della classe strem

    codice:
    private void button1_Click(object sender, System.EventArgs e)
    {
        Stream myStream = null;
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
    
        openFileDialog1.InitialDirectory = "c:\\" ;
        openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
        openFileDialog1.FilterIndex = 2 ;
        openFileDialog1.RestoreDirectory = true ;
    
        if(openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            try
            {
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    using (myStream)
                    {
                        // Insert code to read the stream here.
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
            }
        }
    }
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  3. #3
    Dunque ho trovato le dispense del rpfoessore e sono riuscito ad usare il seguente codice per la lettura e la scrittura:

    codice:
               string path;
                path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
    
                FileStream fs = new FileStream(path + @"\File.txt", FileMode.CreateNew, FileAccess.Write);
                StreamWriter streamwriter = new StreamWriter(fs);
                streamwriter.WriteLine("Ciao\n");
                streamwriter.Close();
                fs.Close();
    
                FileStream fs2 = new FileStream(path + @"\File.txt", FileMode.Open, FileAccess.Read);
                StreamReader streamreader = new StreamReader(fs2);
                string testo = streamreader.ReadLine();
                streamreader.Close();
                fs.Close();
                label1.Text = testo;
    Bastava importare System.IO ed il gioco è fatto.

    Rimane però il problema di riuscire ad avvalorare una tabella o comunque di visualizzare a schermo i dati letti creando una nuova schermata..
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  4. #4
    Mi sfugge una cosa, dopo che ho letto la prima linea mediante "readline", come faccio a dirgli di leggere la riga successiva?

    Perchè ho provato a scrivere due linee così:

    codice:
    streamwriter.WriteLine("Ciao\n");
    streamwriter.WriteLine("Ciao34\n");
    Poi ho provato a leggerle in questo modo:

    codice:
    string testo = streamreader.ReadLine();
    string testo2 = streamreader.ReadLine();
    testo2 però sembra inspiegabilmente vuota. Quindi ho sbagliato nello scrivere una nuova riga? non basta mettere lo \n alla fine per far si che la prossima riga che scrivo vada a capo? oppure l'errore è nelal readline?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

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.