Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Spara ner objekt på fil...

Postades av 2004-05-02 20:56:50 - Johan Persson, i forum c# (c-sharp), Tråden har 3 Kommentarer och lästs av 903 personer

Hej, är nybörjare med C# och håller på med en applikation som ska spara ner data om en aktie. T.ex.

Namn: Ericsson B
Värde: 50:-
Köpdatum: 2004-01-01

etc...

Jag vill gärna spara ner allt som ett objekt om det går. Och sen även kunna läsa ut det som ett objekt. Tacksam för all hjälp!

Johan


Svara

Sv: Spara ner objekt på fil...

Postades av 2004-05-02 22:04:43 - Raderat konto

Skapa en klass som du gör Serializable och spara klassen som en binär fil:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace AktiePortfölj
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{

			string Aktie = "Ericsson";
			decimal Köp = 50;
			decimal Sälj = 0;
			DateTime dtKöp = DateTime.Now;
			DateTime dtSälj = DateTime.Now.AddMonths(6);
			string filePath = @"c:\aktiefiler\" + Aktie + "_" + dtKöp.ToShortDateString().Replace(" ", "_") + ".dat";

			MinaAktier ma = new MinaAktier(Aktie, Köp, Sälj, dtKöp, dtSälj);

            FileStream fs = new FileStream(filePath, FileMode.Create);
            BinaryFormatter bf = new BinaryFormatter();

			bf.Serialize(fs, ma);

			Console.WriteLine("Aktien har sparats till {0}", filePath);

		}
	}

	[Serializable()]
	public class MinaAktier
	{
		public MinaAktier(string AktieNamn, 
							decimal KöpKurs, 
							decimal SäljKurs, 
							DateTime KöpDatum, 
							DateTime SäljDatum)
		{
			aktieNamn = AktieNamn;
			köpKurs = KöpKurs;
			säljKurs = SäljKurs;
			köpDatum = KöpDatum;
			säljDatum = SäljDatum;

		}

		private string aktieNamn;
		private decimal köpKurs;
		private decimal säljKurs;
		private DateTime köpDatum;
		private DateTime säljDatum;
	}
}

När du sedan behöver informationen använder du Deserialize.


Svara

Sv: Spara ner objekt på fil...

Postades av 2004-05-05 07:16:15 - Johan Persson

Tack för det det gick bra att spara ner och verkar gå bra att läsa ut det med deserializable också. Problemet jag har nu är att jag inte verkar kunna presentera datan på ett vettigt sätt. Jag får nämligen bara ut objektet som text när jag försöker skriva ut det. Hur kan jag till exempel få datan från filen att presenteras i en combobox?

Mvh

Johan


Svara

Sv: Spara ner objekt på fil...

Postades av 2004-05-05 13:18:15 - Raderat konto

Här har du ett fullt exempel:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace NetSamplesCS
{
	/// <summary>
	/// Summary description for SeDerializeClass.
	/// </summary>
	public class SeDerializeClass : System.Web.UI.Page
	{
      protected System.Web.UI.WebControls.Button btnDeSeri;
      protected System.Web.UI.WebControls.DropDownList ddlStock;
      protected System.Web.UI.WebControls.DropDownList ddlFile;
      protected System.Web.UI.WebControls.DropDownList ddlBindClass;
      protected System.Web.UI.WebControls.Label lblCls1;
      protected System.Web.UI.WebControls.Label lblCls2;
      protected System.Web.UI.WebControls.Button btnSeri;
   
		private void Page_Load(object sender, System.EventArgs e)
		{
         if(!IsPostBack)
         {
            DirectoryInfo di = new DirectoryInfo(@"c:\aktiefiler\");
            this.ddlFile.Items.Clear();

            foreach(FileInfo file in di.GetFiles("*.dat"))
            {
               this.ddlFile.Items.Add(new ListItem(file.ToString()));
            } 
         }    
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
         this.btnSeri.Click += new System.EventHandler(this.btnSerialize_Click);
         this.btnDeSeri.Click += new System.EventHandler(this.btnDeSerialize_Click);
         this.Load += new System.EventHandler(this.Page_Load);

      }
		#endregion

      private void btnSerialize_Click(object sender, System.EventArgs e)
      {
         if (this.ddlStock.SelectedItem.Value != "0")
         {
            string Aktie = this.ddlStock.SelectedItem.Value;
            decimal Köp = 50;
            decimal Sälj = 0;
            DateTime dtKöp = DateTime.Now;
            DateTime dtSälj = DateTime.Now.AddMonths(6);
            string filePath = @"c:\aktiefiler\" + Aktie + "_" + dtKöp.ToShortDateString().Replace(" ", "_") + ".dat";

            MinaAktier ma = new MinaAktier(Aktie, Köp, Sälj, dtKöp, dtSälj);

            using(FileStream fs = new FileStream(filePath, FileMode.Create))
            {
               BinaryFormatter bf = new BinaryFormatter();
               
               bf.Serialize(fs, ma);
               
            }

         }
      }

      private void btnDeSerialize_Click(object sender, System.EventArgs e)
      {
         string Aktie = this.ddlFile.SelectedItem.Value;
         string filePath = @"c:\aktiefiler\" + Aktie;

         using(FileStream fs = new FileStream(filePath, FileMode.Open))
         {
            BinaryFormatter bf = new BinaryFormatter();

            MinaAktier ma = (MinaAktier)bf.Deserialize(fs);

            this.lblCls1.Text = ma.AktieNamn;
            this.lblCls2.Text = ma.KöpDatum.ToString("d");
            this.ddlBindClass.Items.Add(new ListItem(ma.SäljDatum.ToString("d")));
            this.ddlBindClass.Items.Add(new ListItem(string.Format("{0}", ma.KöpKurs)));
            this.ddlBindClass.Items.Add(new ListItem(string.Format("{0}", ma.SäljKurs)));
         }
      }

	}

   [Serializable()]
   public class MinaAktier
   {
      public MinaAktier(string AktieNamn, 
         decimal KöpKurs, 
         decimal SäljKurs, 
         DateTime KöpDatum, 
         DateTime SäljDatum)
      {
         aktieNamn = AktieNamn;
         köpKurs = KöpKurs;
         säljKurs = SäljKurs;
         köpDatum = KöpDatum;
         säljDatum = SäljDatum;

      }

      public MinaAktier()
      {
      }

      public string AktieNamn
      {
         get{ return aktieNamn; }
      }

      public decimal KöpKurs
      {
         get{ return köpKurs; }
      }

      public decimal SäljKurs
      {
         get{ return säljKurs; }
      }

      public DateTime KöpDatum
      {
         get{ return köpDatum; }
      }

      public DateTime SäljDatum
      {
         get{ return säljDatum; }
      }

      private string aktieNamn;
      private decimal köpKurs;
      private decimal säljKurs;
      private DateTime köpDatum;
      private DateTime säljDatum;
   }

}


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
11 779
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies