PDA

View Full Version : سوال: ذخیره کردن یک شی به صورت باینری



sara90
شنبه 21 مرداد 1391, 01:36 صبح
سلام دوستان من یه مشکل دارم و اون اینه که می خوام سه تا شی که ازtext box می گیرم رو به صورت باینری یا xml تو یه جا ذخیره کنم باید چه کدی بنویسم میشه مثال بزنید وتوضیح بدید البته باینری باشه بهتره ممنونم

h_r_sh
شنبه 21 مرداد 1391, 03:10 صبح
دقیقا از textBox چه شئی می گیرید؟

sara90
یک شنبه 22 مرداد 1391, 06:20 صبح
سلام دوست عزیز اونا سه تا شی از نوع int هستن و سرعت و موقعیت و شناسه موتور روبات هستن می خوام به صورت باینری این سه تا رو سیو کنم

Sajjad.Aghapour
یک شنبه 22 مرداد 1391, 11:51 صبح
نوع Integer که یک شی محسوب نمیشه دوست عزیز. بگید یک مقدار بهتره...

اونها رو داخل یک کلاس Wrap کنید و کلاس رو Serialize کنید...

sara90
یک شنبه 22 مرداد 1391, 13:49 عصر
سلام دوست خوبم مرسی از اینکه یاد آوری کردین بله مقدار که بعدایه شی تو کلاس تعریف می کنیم واین مقدارهارو می دیم بهش می شه توضیح بدین اگه می دونستم که نمیپرسیدم.

tooraj_azizi_1035
یک شنبه 22 مرداد 1391, 14:50 عصر
سلام
http://i.msdn.microsoft.com/dynimg/IC20067.gif
ذخیره وضعیت یک شیء در فایل XML:


public class Book
{
public String title;

}

public void WriteXML()
{
Book overview = new Book();
overview.title = "Serialization Overview";
System.Xml.Serialization.XmlSerializer writer =
new System.Xml.Serialization.XmlSerializer(typeof(Book ));

System.IO.StreamWriter file = new System.IO.StreamWriter(
@"c:\temp\SerializationOverview.xml");
writer.Serialize(file, overview);
file.Close();
}

sara90
یک شنبه 22 مرداد 1391, 15:08 عصر
سلام وممنون از راهنمایی تون اگه به صورت باینری بخوام چه کدی باید بنویسم؟

tooraj_azizi_1035
یک شنبه 22 مرداد 1391, 15:22 عصر
استفاده از کلاس BinaryFormatter:

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

public class App
{
[STAThread]
static void Main()
{
Serialize();
Deserialize();
}

static void Serialize()
{
// Create a hashtable of values that will eventually be serialized.
Hashtable addresses = new Hashtable();
addresses.Add("Jeff", "123 Main Street, Redmond, WA 98052");
addresses.Add("Fred", "987 Pine Road, Phila., PA 19116");
addresses.Add("Mary", "PO Box 112233, Palo Alto, CA 94301");

// To serialize the hashtable and its key/value pairs,
// you must first open a stream for writing.
// In this case, use a file stream.
FileStream fs = new FileStream("DataFile.dat", FileMode.Create);

// Construct a BinaryFormatter and use it to serialize the data to the stream.
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(fs, addresses);
}
catch (SerializationException e)
{
Console.WriteLine("Failed to serialize. Reason: " + e.Message);
throw;
}
finally
{
fs.Close();
}
}


static void Deserialize()
{
// Declare the hashtable reference.
Hashtable addresses = null;

// Open the file containing the data that you want to deserialize.
FileStream fs = new FileStream("DataFile.dat", FileMode.Open);
try
{
BinaryFormatter formatter = new BinaryFormatter();

// Deserialize the hashtable from the file and
// assign the reference to the local variable.
addresses = (Hashtable) formatter.Deserialize(fs);
}
catch (SerializationException e)
{
Console.WriteLine("Failed to deserialize. Reason: " + e.Message);
throw;
}
finally
{
fs.Close();
}

// To prove that the table deserialized correctly,
// display the key/value pairs.
foreach (DictionaryEntry de in addresses)
{
Console.WriteLine("{0} lives at {1}.", de.Key, de.Value);
}
}
}

sara90
دوشنبه 10 مهر 1391, 20:41 عصر
سلام دوست عزیز ببخشید این hashtable نمی شناسه برا شناختنش چیکار باید بکنم؟