עבור לתוכן

שמירת תוכנית ע"י קבצי XML

Featured Replies

פורסם

שלום לכולם, אני מחפש חומר בעברית או מישהו שיודע להגיד לי בצורה ברורה איך אני יכול לשמור לוח משחק שיצרתי בקובץ XML?

תודה רבה :s05:

פורסם

קודם תלמד קצת XML בכלליות, אם אתה לא יודע מה זה ואיך עובדים עם זה.

מומלץ להתחיל מכאן:

http://www.w3schools.com/xml

אבל אם אתה מתעקש על עברית, אז אפשר גם כאן:

http://www.sigall.co.il/xml.asp

אחרי שאתה יודע מה זה XML, חפש בגוגל איך עובדים עם XML בשפה הספציפית שבה אתה כותב. לשפות המודרניות (#C ודומותיה) יש חבילות מובנות לקריאה וכתיבה של XML. לשפות קצת יותר ישנות יש חבילות מתאימות שאפשר להוריד מהאינטרנט.

פורסם

באיזה שפה אתה כותב ?

פורסם
  • מחבר

בשפת C#

פורסם

תחפש בגוגל אם המחלקה XmlSerializer מתאימה לך. אם אתה משתמש ב C# 3, אז תחפש גם XML LINQ.

פורסם
  • מחבר

יש לי את המחלקה של XMLSERELIZER אבל אני לא בדיוק יודע מה לעשות הלאה, יצרתי מחלקה נוספת והיא:

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization; // Does XML serializing for a class.
using System.Drawing; // Required for storing a Bitmap.
using System.IO; // Required for using Memory stream objects.
using System.Collections;


namespace pticha
{
class GameToSave
{
//[XmlIgnoreAttribute()]
[XmlArray("Matluach"), XmlArrayItem("card", typeof(cCard ))]
public ArrayList arrOfLuach = new ArrayList();


[XmlArray("Players"), XmlArrayItem("Player", typeof(string))]
public ArrayList sumPlayers = new ArrayList();

[XmlIgnoreAttribute()]
public UcLuach ucSave;
public GameToSave()
{
}
public GameToSave(string plyr, UcLuach uc)
{
int SizeMat=uc.Godelmat;
sumPlayers.AddRange(plyr);
string str;
for (int i = 0; i <SizeMat ; i++)
for (int j = 0; j < SizeMat ; j++)
{
str = "";

cCard c = uc[i, j];
str += Convert.ToString( c.BackColor.ToArgb());
str += ":";

str += "+";
arrOfLuach.Add(str);
}
}
}
}




עכשיו אני מעונין לשמור CONTROL שאני יצרתי, בדרך של הקלאס הנוכחי אני חייב להמיר לSTRING השאלה שלי האם יש צורה אחרת? כי חוץ מצבע יש לי עוד הרבה ערכים שאני רוצה לשמור.

פורסם

יש סיבה שאתה רוצה להשתמש ב XML, ולא לעשות סתם serialize ישיר למחלקה לקובץ ?

פורסם
  • מחבר

אין לי סיבה מיוחדת, רק אמרו לי שאח"כ אני מממש את המחלקה GameToSave ואח"כ אני טוען לקובץ ע"י המשפט הבא:

GameToSave g = new GameToSave((m_Form.Controls["lblPlayer1"].Text),m_Form.Uc);
ObjectXMLSerializer<GameToSave>.Save(g, "Top.xml");

פורסם
  • מחבר

אני לא 100 אחוז מבין, אבל האם כך אני יכול לשמור את כל הקונטרולים שיצרתיי בצורה ברורה?והאם זה מתאים גם לשמירת אפליקציות?

פורסם

אם אתה רוצה להבין, תקרא פה:

http://www.codeproject.com/KB/cs/objserial.aspx

אם אתה רוצה להשתמש, פשוט תסתכל על הקוד שבלינק ותשתמש.

מה זה שמירת אפליקציה.. אתה שומר עם זה אובייקטים ויכול לטעון אותם חזרה אח"כ.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים