|
Hello,
I have made different queries, 1. how can i open start command using mouse coordinates, 2. is there any listener is needed to listen continuously and perform task when any event is fired like open c:drive.
So please help me out for that. It will be great for me.
|
|
|
|
|
Hello,
I had capture the windows screen of my pc, if i click on "start", the start ,menu should be opened.
Will you please help me for doing this?
|
|
|
|
|
Hello,
I have developed the basic screen capturing of the remote pc to my pc, now when i click on start menu from my pc i need to open start menu on that remote pc n my pc also. So i have the coordinate of start menu but for remote pc how can i use that coordinte?
Please help me out if anyone knows .
Thank you.
|
|
|
|
|
I want to research broadcast, how can I get the VNC open source?
|
|
|
|
|
Try Google.
www.thomas-weller.de
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Programmer - an organism that turns coffee into software.
|
|
|
|
|
|
Hello everyone,
I want to generate an XML file like below. My confusion is what technologies could I use to concatenate all information into a single XML document.
The root confusion is, I have a class called teacher which matches the teacher sub-section (ID, name and major) -- which I could use serialization technologies to generate teacher part XML information.
For other parts, like department, I also have a class to represent the information -- I could also use serialization technologies to serialize the information to XML -- but it has no relationship between teachers. So, my confusion is, how to concatenate different parts altogether, like department, club and teachers, and also make the whole XML document looks like below to reflect the relationships and hierarchies between them?
<?xml version="1.0" encoding="utf-8"?>
<Department>
<DepartmentInfo ID ="100">
<Location> San Jose </Location>
<Type> Computer Science</Type>
</DepartmentInfo>
<Clubs>
<Club ID="200">
<Name>Football</Name>
</Club>
<Club ID="201">
<Name>Basketball</Name>
</Club>
</Clubs>
<Teachers>
<Teacher ID="300">
<Name>Thomas</Name>
<Major>Algorithm</Major>
</Teacher>
<Teacher ID="301">
<Name>Zhou</Name>
<Major>Linear Programming</Major>
</Teacher>
</Teachers>
</Department>
thanks in advance,
George
|
|
|
|
|
|
Thanks Mika,
Do you have any samples or tutorials to recommend?
regards,
George
|
|
|
|
|
|
Thanks Mika!
I like them!
One more question, you option to my problem solution is to generate the XML document manually, not creating a class which contains all information and serialize the class?
regards,
George
|
|
|
|
|
If you only have to deal with XML files created by your application (no external ones), then I'd use XML serialization, it's just so comfortable to use
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanks Greeeg,
I would also like to use serialization if I could. As I mentioned in the below URL, the issue which blocks me from using serialization is, the information are stored in different objects/classes, I do not know how to aggregate them altogether. Any ideas?
http://www.codeproject.com/script/Forums/View.aspx?fid=1649&msg=2824797[^]
regards,
George
|
|
|
|
|
I think you have at least three options:
1. Create the document fully manually by looping the objects you want and add the information to the document you need
2. First serialize the objects, then loop through the xml documents created by serialization, read them and copy the relevant nodes to a single document
3. Create a generic collection (or nested collections if you need) and add your objects into that collection. After that, serialize it
I guess that if you have strict requirements for the xml 'format', serialization may not produce automatically the format you need. Also you can implement ISerializable on your objects, but that may be a longer way.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
Thanks Mika,
1.
So, in my situation, you think generate the XML document manually is the best way?
2.
One more question about performance, I heard serialization is always faster than writing XML document manually, is that true?
regards,
George
|
|
|
|
|
1. I can't say it's the best option of those I listed, it depends on (all of) your requirements.
2. This should be true since serialization is normally a process done by framework and it's optimized. When writing your own document, you have your own custom MSIL code that is executed and it can hardly compete when it comes to speed.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
Thanks Mika,
1.
My current confusion is the information which is needed to generate the XML file are from different Types. And I do not have a single type which aggregates all of the types. So, in my situation, the best option is to generate the XML manually?
2.
Mika Wendelius wrote: it depends on (all of) your requirements. What other requirements are needed? For example?
regards,
George
|
|
|
|
|
So do you mean that in the example Navaneeth wrote, you don't have Department class that contains all the other classes?
Your XML example in the original question had Deparment as a root element which held all the other elements.
|
|
|
|
|
Thanks Mika,
I decide to use similar way which Navaneeth wrote, I could wrote a upper level class to wrap all of the components, like department, teacher, clubs, etc.
How do you think of this solution?
regards,
George
|
|
|
|
|
|
You have two choice:
1. Create a function that will generate a string that will contain the xml. This method is the fastest and the most simple way to do it:
public class CClub
{
int m_id;
string m_name;
public string GenerateXml()
{
return
"<Club ID=\"" + m_id.ToString() + "\">\n" +
"<Name>" + m_name + "</Name>\n" +
"</Club>\n";
}
}
2. Use XmlDocument as told:
public class CClub
{
int m_id;
string m_name;
public void ReadXml(XmlElement element)
{
m_id = Convert.ToInt32(element.GetAttribute("Club"));
foreach (XmlNode node in element.ChildNodes)
{
if (node.NodeType == XmlNodeType.Element &&
node.Name == "Club")
{
m_name = node.InnerText;
}
}
}
public void WriteXml(XmlNode parentNode)
{
XmlElement element = parentNode.OwnerDocument.CreateElement("Club");
parentNode.AppendChild(element);
element.SetAttribute("Club", m_id.ToString());
XmlElement elementName = parentNode.OwnerDocument.CreateElement("Name");
element.AppendChild(elementName);
elementName.InnerText = m_name;
}
}
The departement class should look like this:
public class CDepartment
{
CDepartmentInfo m_departmentInfo;
CClubs m_clubs;
CTeachers m_teachers;
public void ReadXml(XmlDocument element)
{
foreach (XmlNode node in element.ChildNodes)
{
if (node.NodeType == XmlNodeType.Element)
{
switch (node.Name)
{
case "DepartmentInfo":
m_departmentInfo = new CDepartmentInfo();
m_departmentInfo.ReadXml(node as XmlElement);
case "Clubs":
m_clubs = new CClubs();
m_clubs.ReadXml(node as XmlElement);
case "Teachers":
m_teachers = new CTeachers();
m_teachers.ReadXml(node as XmlElement);
}
}
}
}
public void WriteXml(XmlDocument document)
{
m_departmentInfo.WriteXml(document);
m_clubs.WriteXml(document);
m_teachers.WriteXml(document);
}
}
modified on Saturday, November 29, 2008 4:22 PM
|
|
|
|
|
Cool, solution, thanks darkzangel!
regards,
George
|
|
|
|
|
You can use XMLSerialization to do this. It makes your code more cleaner than creating XML using XMLDocument .
All you need is to create types for representing DepartmentInfo, Club and Teacher. It could be something like the following
public class DepartmentInfo
{
public DepartmentInfo(int id,string location,string type) {
this.Id = id;
this.Location = location;
this.Type = type;
}
public DepartmentInfo() {
}
[XmlAttribute("Id")]
public int Id { get; set; }
public string Location { get; set; }
public string Type { get; set; }
}
public class Club
{
public Club(int id,string name) {
this.Id = id;
this.Name = name;
}
public Club() {
}
[XmlAttribute("Id")]
public int Id { get; set; }
public string Name { get; set; }
}
public class Teacher
{
public Teacher(int id,string name,string major) {
this.Id = id;
this.Name = name;
this.Major = major;
}
public Teacher() {
}
[XmlAttribute("Id")]
public int Id { get; set; }
public string Name { get; set; }
public string Major { get; set; }
}
Now you need a Department type which has references to all the above shown types.
[XmlRoot("Department")]
public class Department
{
public Department(DepartmentInfo info,Club[] clubs,Teacher[] teachers) {
this.DepartmentInfo = info;
this.Clubs = clubs;
this.Teachers = teachers;
}
public Department() {
}
[XmlElement("DepartmentInfo")]
public DepartmentInfo DepartmentInfo { get; set; }
[XmlArray("Clubs")]
public Club[] Clubs { get; set; }
[XmlArray("Teachers")]
public Teacher[] Teachers { get; set; }
} You can serialize the Department class to get the specified XML. Here is how you do in a console application.
static void Main(string[] args) {
Club[] clubs = { new Club(200, "Football"), new Club(201, "Basketball") };
Teacher[] teachers = { new Teacher(300, "Thomas", "Algorithm"), new Teacher(301, "Zhou", "Linear Programming") };
Department department = new Department(new DepartmentInfo(100,"San Jose", "Computer Science"), clubs, teachers);
XmlSerializer serializer = new XmlSerializer(typeof(Department));
serializer.Serialize(Console.Out, department);
Console.Read();
} This method works well and your code will look cleaner. But serialization is performance costly as it uses reflection to get details of the type. Manually writing XML using XMLTextWriter or XMLDocument will give you better performance than this. Choosing the method is completly depends on your situation.
Hope this helps
|
|
|
|
|
Thanks Navaneeth!
I like your solution!
regards,
George
|
|
|
|
|
Hello All ,
I have one question... Does anybody know where I can download a copy of the Microsoft Visual C# User Manual. The one that comes with the IDE (Vis. Studio) is crap, it has broken links throughout the whole thing, and even when I choose to view online help it still has broken links. Is there a downloadable version of the C# full documentation? I only want C#.
j.t.
|
|
|
|