الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع ملفات اكسمل

بدأه زكيري عبد العالي في 12 مارس 2009 · 2 رد · 2,037 مشاهدة · في Delphi .NET/PRISM
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

1-مقدمة

في المرفق ملف فيديوا حملته من احد المواقع اضن

navbits_start.gif منتدى فيجوال بيسك

2- انشاء ملف اكسمل

هذا الاجراء او التابع او الميتود لكي ننشا ملف اكسمل عن طريق المكتبة

 

METHOD MainForm[color= #339933;].WriteXML[color= #009900;]([color= #009900;])[color= #339933;];

[color= #000000; font-weight: bold;]VAR

  oxmlDoc[color= #339933;]:xmlDocument[color= #339933;];

  vFilename[color= #339933;]:String[color= #339933;];

  xmlWriter[color= #339933;]:XmlTextWriter[color= #339933;];

  root [color= #339933;]: XmlNode [color= #339933;];

  Node[color= #339933;],childNode[color= #339933;]:XmlElement[color= #339933;];

  textNode[color= #339933;]:XmlText[color= #339933;];

  i[color= #339933;],j[color= #339933;]:Integer[color= #339933;];

 

BEGIN

  TRY

    [color= #666666; font-style: italic;]//ملف اسمه يتكون من كلمة xml و اليوم

    vFilename [color= #339933;]:= [color= #0000ff;]'XML'[color= #339933;]+DateTime[color= #339933;].Now[color= #339933;].Day [color= #339933;]+ [color= #0000ff;]'.xml'[color= #339933;];

    [color= #666666; font-style: italic;]//انشاء كاءن جديد من صنف  xmlDocument

    oxmlDoc [color= #339933;]:= [color= #000000; font-weight: bold;]new xmlDocument[color= #009900;]([color= #009900;])[color= #339933;]; 

    TRY

    [color= #666666; font-style: italic;]//شحن الكاءن بالملف المحدد

    oxmlDoc[color= #339933;].Load[color= #009900;](vFilename[color= #009900;])[color= #339933;];

    EXCEPT ON E[color= #339933;]:Exception [color= #b1b100;]DO

      [color= #666666; font-style: italic;]//System.IO.FileNotFoundException;

      [color= #666666; font-style: italic;]//عدم وجود الملف

    [color= #990000;]END[color= #339933;];

       [color= #666666; font-style: italic;]//الملف غير موجود انشأ ملف اكسمل جديد

      xmlWriter [color= #339933;]:= [color= #000000; font-weight: bold;]new XmlTextWriter[color= #009900;](vFilename[color= #339933;], [color= #990000;]System[color= #339933;].Text[color= #339933;].Encoding[color= #339933;].UTF8[color= #009900;])[color= #339933;];

      xmlWriter[color= #339933;].Formatting [color= #339933;]:= Formatting[color= #339933;].Indented[color= #339933;];

      xmlWriter[color= #339933;].WriteProcessingInstruction[color= #009900;]([color= #0000ff;]'xml'[color= #339933;], [color= #0000ff;]'version='[color= #0000ff;]'1.0'[color= #0000ff;]' encoding='[color= #0000ff;]'UTF-8'[color= #0000ff;]''[color= #009900;])[color= #339933;];

      xmlWriter[color= #339933;].WriteStartElement[color= #009900;]([color= #0000ff;]'Root'[color= #009900;])[color= #339933;];

      xmlWriter[color= #339933;].Close[color= #009900;]([color= #009900;])[color= #339933;];

      oxmlDoc[color= #339933;].Load[color= #009900;](vFilename[color= #009900;])[color= #339933;];

      [color= #666666; font-style: italic;]//العنصر الاساسي في الشجرة

      root [color= #339933;]:= oxmlDoc[color= #339933;].DocumentElement[color= #339933;];

      [color= #b1b100;]FOR j[color= #339933;]:=[color= #cc66cc;]0 TO [color= #cc66cc;]3 [color= #b1b100;]DO

      BEGIN

         Node [color= #339933;]:= oxmlDoc[color= #339933;].CreateElement[color= #009900;]([color= #0000ff;]'Node'[color= #339933;]+j[color= #009900;])[color= #339933;];

         [color= #b1b100;]FOR i[color= #339933;]:=[color= #cc66cc;]0 to [color= #cc66cc;]3 [color= #b1b100;]DO 

         BEGIN

             childNode [color= #339933;]:= oxmlDoc[color= #339933;].CreateElement[color= #009900;]([color= #0000ff;]'childNode'[color= #339933;]+i[color= #009900;])[color= #339933;];

             childNode[color= #339933;].SetAttribute[color= #009900;]([color= #0000ff;]'Name'[color= #339933;]+i[color= #339933;],[color= #0000ff;]'Value'[color= #339933;]+i[color= #009900;])[color= #339933;];  

             textNode  [color= #339933;]:= oxmlDoc[color= #339933;].CreateTextNode[color= #009900;]([color= #0000ff;]'hello'[color= #339933;]+i[color= #009900;])[color= #339933;];

             textNode[color= #339933;].Value [color= #339933;]:= [color= #0000ff;]'hello world'[color= #339933;]+i[color= #339933;];

             childNode[color= #339933;].AppendChild[color= #009900;](textNode[color= #009900;])[color= #339933;];

             Node[color= #339933;].AppendChild[color= #009900;](childNode[color= #009900;])[color= #339933;];    

        [color= #990000;]END[color= #339933;];

        root[color= #339933;].AppendChild[color= #009900;](Node[color= #009900;])[color= #339933;];    

      [color= #990000;]END[color= #339933;];

      oxmlDoc[color= #339933;].Save[color= #009900;](vFilename[color= #009900;])[color= #339933;];

 

    EXCEPT ON E[color= #339933;]:Exception [color= #b1b100;]DO

      MessageBox[color= #339933;].Show[color= #009900;](E[color= #339933;].Message[color= #009900;])[color= #339933;];

    [color= #990000;]END[color= #339933;];

[color= #990000;]end[color= #339933;];

منادات الميتود كمايلي

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
  begin
   WriteXML() 
  end;

النتيجة

<?xml version="1.0" encoding="UTF-8"?>
<Root>
  <Node0>
    <childNode0 Name0="Value0">hello world0</childNode0>
    <childNode1 Name1="Value1">hello world1</childNode1>
    <childNode2 Name2="Value2">hello world2</childNode2>
    <childNode3 Name3="Value3">hello world3</childNode3>
  </Node0>
  <Node1>
    <childNode0 Name0="Value0">hello world0</childNode0>
    <childNode1 Name1="Value1">hello world1</childNode1>
    <childNode2 Name2="Value2">hello world2</childNode2>
    <childNode3 Name3="Value3">hello world3</childNode3>
  </Node1>
  <Node2>
    <childNode0 Name0="Value0">hello world0</childNode0>
    <childNode1 Name1="Value1">hello world1</childNode1>
    <childNode2 Name2="Value2">hello world2</childNode2>
    <childNode3 Name3="Value3">hello world3</childNode3>
  </Node2>
  <Node3>
    <childNode0 Name0="Value0">hello world0</childNode0>
    <childNode1 Name1="Value1">hello world1</childNode1>
    <childNode2 Name2="Value2">hello world2</childNode2>
    <childNode3 Name3="Value3">hello world3</childNode3>
  </Node3>
</Root>

XML_Lesson1.rar

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 12 مارس 2009 في 02:00

#2

السلام عليكم ورحمة الله وبركاته

موضوع جميل اخي عبد العالي وبصراحة انا اطمع في اكثر من هذا وهو اعداد تطبيق حي لل XML

وفقنا الله واياكم لما يحبه ويرضاه

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#3

اهلا اخي على ملفات الاكسمل نستعملها كمكان حفض اعدادات واجهة المستعمل ز غيراها كما هو مبين في الفيديو و بما انك استعملت من قبل ملفات ini فالدور لا يختلف كثيرا الا في السرعة في عرض البيانات و خصوصا في الويب

-------------------------------------------------

3-عرض ملف اكسمل في Treeview

هناك مشكل بسيط ارجوا مساعدتي في العثور عليه

namespace XML[color= #339933;];

[color= #000000; font-weight: bold;]interface

uses

   [color= #990000;]System[color= #339933;],

   [color= #990000;]System[color= #339933;].Xml[color= #339933;],

   [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;];

type

  TreeXml [color= #339933;]= [color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]class

  [color= #000000; font-weight: bold;]private

      Method DoElement[color= #009900;](xn[color= #339933;]:XmlNode[color= #009900;])[color= #339933;]:TreeNode[color= #339933;];

  protected

 

  [color= #000000; font-weight: bold;]public

      Method GetTreeNodeFromXML[color= #009900;](xml_file[color= #339933;]:string[color= #009900;])[color= #339933;]:TreeNode[color= #339933;];

  [color= #990000;]end[color= #339933;];

 

implementation

 

Method TreeXml[color= #339933;].DoElement[color= #009900;](xn[color= #339933;]:XmlNode[color= #009900;])[color= #339933;]:TreeNode[color= #339933;];

[color= #000000; font-weight: bold;]var 

    tn[color= #339933;]:TreeNode[color= #339933;];

    attr_node[color= #339933;]:TreeNode[color= #339933;];

    attr[color= #339933;]:XmlAttribute[color= #339933;];

begin

     tn [color= #339933;]:= [color= #000000; font-weight: bold;]new TreeNode[color= #009900;](xn[color= #339933;].Name[color= #009900;])[color= #339933;];

     [color= #b1b100;]if [color= #009900;]([color= #009900;](xn[color= #339933;].Attributes [color= #339933;]<> nil[color= #009900;]) and [color= #009900;](xn[color= #339933;].Attributes[color= #339933;].[color= #990000;]Count [color= #339933;]> [color= #cc66cc;]0[color= #009900;])[color= #009900;]) then

     begin 

        attr_node [color= #339933;]:= tn[color= #339933;].Nodes[color= #339933;].Add[color= #009900;]([color= #0000ff;]'Attibutes'[color= #009900;])[color= #339933;];

          [color= #b1b100;]for [color= #990000;]each attr [color= #339933;]:XmlAttribute in xn[color= #339933;].Attributes [color= #b1b100;]do

          attr_node[color= #339933;].Nodes[color= #339933;].Add[color= #009900;](attr[color= #339933;].Name [color= #339933;]+ [color= #0000ff;]'='[color= #339933;]+ attr[color= #339933;].Value[color= #009900;])[color= #339933;];

     [color= #990000;]end[color= #339933;];

     [color= #b1b100;]if [color= #009900;]([color= #009900;](xn[color= #339933;].Value [color= #339933;]<> nil[color= #009900;]) and [color= #009900;](xn[color= #339933;].Value [color= #339933;]<> [color= #0000ff;]''[color= #009900;])[color= #009900;])then

        tn[color= #339933;].Text [color= #339933;]:= xn[color= #339933;].Value

     [color= #b1b100;]else

     begin

        [color= #b1b100;]for [color= #990000;]each subxn[color= #339933;]:XmlNode in xn[color= #339933;].ChildNodes [color= #b1b100;]do 

            tn[color= #339933;].Nodes[color= #339933;].Add[color= #009900;](subxn[color= #339933;].Value[color= #009900;])[color= #339933;];

    [color= #990000;]end[color= #339933;];

    result [color= #339933;]:=tn[color= #339933;];

[color= #990000;]end[color= #339933;];

 

Method TreeXml[color= #339933;].GetTreeNodeFromXML[color= #009900;](xml_file[color= #339933;]:string[color= #009900;])[color= #339933;]:TreeNode[color= #339933;];

[color= #000000; font-weight: bold;]var 

    doc  [color= #339933;]: XmlDocument[color= #339933;];

    root [color= #339933;]: XmlNode[color= #339933;]; 

    tn   [color= #339933;]: TreeNode[color= #339933;];

begin

    doc [color= #339933;]:= [color= #000000; font-weight: bold;]new XmlDocument[color= #009900;]([color= #009900;])[color= #339933;];

    doc[color= #339933;].Load[color= #009900;](xml_file[color= #009900;])[color= #339933;];

    root [color= #339933;]:= doc[color= #339933;].DocumentElement[color= #339933;];

    tn [color= #339933;]:= [color= #000000; font-weight: bold;]new TreeNode[color= #009900;]([color= #009900;])[color= #339933;];

    result[color= #339933;]:=[color= #009900;](DoElement[color= #009900;](root[color= #009900;])[color= #009900;])[color= #339933;];

[color= #990000;]end[color= #339933;];

[color= #990000;]end[color= #339933;].

method MainForm.button2_Click(sender: System.Object; e: System.EventArgs);
var 
   _TreeXml:=new TreeXml;
begin

	  if (openFileDialog1.ShowDialog() = DialogResult.OK)then
	  begin
	  _TreeXml:=new TreeXml;
	   treeview1.Nodes.Add(_TreeXml.GetTreeNodeFromXML(openFileDialog1.FileName)); 
	  end;
end;

XML.rar

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 14 مارس 2009 في 02:29

مواضيع مشابهة