Avatar billede z1n Nybegynder
09. august 2005 - 15:55 Der er 15 kommentarer og
1 løsning

Save dialog

hej mates :P

jeg er newb !

ej ... jeg skal have gemt indhold af en listbox i en txt fil hvor hver item er en linje. Indtil videre er jeg kun kommet til

saveFileDialog1.ShowDialog();

jeg ved ikke engang hvordan jeg sætter savefiledialog op ?! o.O ?

- z1n
Avatar billede anadan Nybegynder
09. august 2005 - 16:01 #1
Der er et fint eksempel her : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtsksavingfilesusingsavefiledialogcomponent.asp

Jeg har rettet lidt i eksemplet, så det bruger tekst filer istedet for billede filer

private void button2_Click(object sender, System.EventArgs e)
{
  // Displays a SaveFileDialog so the user can save the file
  // assigned to Button2.
  SaveFileDialog saveFileDialog1 = new SaveFileDialog();
  saveFileDialog1.Filter = "Text filer|*.txt";
  saveFileDialog1.Title = "Vælg en tekst fil";
  saveFileDialog1.ShowDialog();

  // If the file name is not an empty string open it for saving.
  if(saveFileDialog1.FileName != "")
  {
      // Saves the Image via a FileStream created by the OpenFile method.
      System.IO.FileStream fs =
        (System.IO.FileStream)saveFileDialog1.OpenFile();

  fs.Close();
  }
}
Avatar billede anadan Nybegynder
09. august 2005 - 16:02 #2
Så bruger du bare den FileStream (fs) der er åbnet for dig.
Avatar billede z1n Nybegynder
09. august 2005 - 16:07 #3
hvor definere jeg at de er fra listboxen data skal komme ?
Avatar billede anadan Nybegynder
09. august 2005 - 16:14 #4
Du er nødt til at skrive listens items manuelt til filen.
Avatar billede anadan Nybegynder
09. august 2005 - 16:16 #5
(indsat ovenfra)

  System.IO.FileStream fs =
        (System.IO.FileStream)saveFileDialog1.OpenFile();

StreamWriter st = new StreamWriter(fs);
foreach(object o in myListBox.Items){
  st.WriteLine(o.ToString());
}
st.Close();

  fs.Close();
Avatar billede anadan Nybegynder
09. august 2005 - 16:17 #6
Eller hvordan du nu vælger at gemme til filen...
Avatar billede z1n Nybegynder
09. august 2005 - 16:26 #7
jeg har intet der hedder stream writer .. kan måske være fordi jeg bruger sharpdevelop o.O ?
Avatar billede anadan Nybegynder
09. august 2005 - 16:28 #8
using System.IO;
Avatar billede z1n Nybegynder
09. august 2005 - 16:35 #9
ok nice .. (doh !?)

efter det får jeg denne fejl o.O ? det fatter jeg intet af ..

det sker når jeg har indtastet filnavn og gemmer

http://www.error9.dk/shardev.gif

min kode:
------------------------------------------------------------
private void BtnGemClick(object sender, System.EventArgs e)
        {   
            // Displays a SaveFileDialog so the user can save the file
            // assigned to Button2.
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "Text filer|*.txt";
            // saveFileDialog1.Title = "Vælg en tekst fil";
            saveFileDialog1.ShowDialog();
           
            // If the file name is not an empty string open it for saving.
            if(saveFileDialog1.FileName != "")
            {
                System.IO.FileStream fs =
                  (System.IO.FileStream)saveFileDialog1.OpenFile();
               
                StreamWriter st = new StreamWriter(fs);
                foreach(object o in listBoxOutput.Items){
                  st.WriteLine(o.ToString());
                }
                st.Close();
               
                fs.Close();
            }
        }
------------------------------------------------------------
Avatar billede anadan Nybegynder
09. august 2005 - 16:36 #10
Du laver ikke ASP.net eller sådan noget?
Avatar billede anadan Nybegynder
09. august 2005 - 16:37 #11
Det er ihvertfald adgangen til din fil der er noget galt med, jeg har ikke problemer med koden..
Avatar billede z1n Nybegynder
09. august 2005 - 16:42 #12
nej det er windåse prog ... hmmm
Avatar billede z1n Nybegynder
09. august 2005 - 16:43 #13
smutter hjem nu .. kigger videre på dette imorgen
Avatar billede anadan Nybegynder
09. august 2005 - 16:44 #14
Følgende kode virker hos mig

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;

namespace SaveDialog
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.ListBox listBox1;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            this.listBox1.Items.Add("1");
            this.listBox1.Items.Add("2");
            this.listBox1.Items.Add("3");
            this.listBox1.Items.Add("4");
            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.listBox1 = new System.Windows.Forms.ListBox();
            this.SuspendLayout();
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(200, 128);
            this.button1.Name = "button1";
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // listBox1
            //
            this.listBox1.Location = new System.Drawing.Point(40, 24);
            this.listBox1.Name = "listBox1";
            this.listBox1.Size = new System.Drawing.Size(120, 95);
            this.listBox1.TabIndex = 1;
            //
            // Form1
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(292, 273);
            this.Controls.Add(this.listBox1);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            // Displays a SaveFileDialog so the user can save the file
            // assigned to Button2.
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "Text filer|*.txt";
            saveFileDialog1.Title = "Vælg en tekst fil";
            saveFileDialog1.ShowDialog();

            // If the file name is not an empty string open it for saving.
            if(saveFileDialog1.FileName != "")
            {
                // Saves the Image via a FileStream created by the OpenFile method.
                System.IO.FileStream fs =
                    (System.IO.FileStream)saveFileDialog1.OpenFile();

                StreamWriter st = new StreamWriter(fs);
                foreach(object o in this.listBox1.Items)
                {
                    st.WriteLine(o.ToString());
                }
                st.Close();


                fs.Close();
            }
        }
    }
}
Avatar billede z1n Nybegynder
10. august 2005 - 15:52 #15
ok jeg fik det til at virke ... fejlen kom fordi min projekt mappe lå på et netværksdrev jeg ikke havde 100% adgang til. Smid et svar :P
Avatar billede anadan Nybegynder
10. august 2005 - 16:03 #16
Ja, det kunne godt lave den fejl :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester