• 用 TClientDataSet 创建 XML 文件的过程 回复"丁永其"的问题


    问题来源: http://www.cnblogs.com/del/archive/2008/06/12/1114450.html#1223758

    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DB, DBClient;
    
    type
      TForm1 = class(TForm)
        ClientDataSet1: TClientDataSet;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses XMLDoc; {为了使用 FormatXMLData 函数}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ClientDataSet1.FieldDefs.Clear;
    
      with ClientDataSet1.FieldDefs.AddFieldDef do
      begin
        Name := 'Name';
        DataType := ftString;
        Size := 10;
      end;
    
      with ClientDataSet1.FieldDefs.AddFieldDef do
      begin
        Name := 'Age';
        DataType := ftInteger;
      end;
    
      ClientDataSet1.CreateDataSet;
    //  ClientDataSet1.LogChanges := False;
      ClientDataSet1.Open;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      ClientDataSet1.Append;
      ClientDataSet1.Fields[0].Value := '张三';
      ClientDataSet1.Fields[1].Value := 11;
    
      ClientDataSet1.Append;
      ClientDataSet1.Fields[0].Value := '李四';
      ClientDataSet1.Fields[1].Value := 22;
    end;
    
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      Memo1.Clear;
      Memo1.Text := FormatXMLData(ClientDataSet1.XMLData);
    end;
    
    procedure TForm1.Button4Click(Sender: TObject);
    begin
      ClientDataSet1.SaveToFile('c:\temp\MyXml.xml', dfXML);
    
      {如果要存得格式漂亮就用下面这句:}
      Memo1.Lines.SaveToFile('c:\temp\MyXml2.xml');
    end;
    
    end.
    
    窗体文件:
    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = #20381#27425#28857#20987#25353#38062
      ClientHeight = 211
      ClientWidth = 445
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      Position = poDesktopCenter
      PixelsPerInch = 96
      TextHeight = 13
      object Button1: TButton
        Left = 358
        Top = 21
        Width = 75
        Height = 25
        Caption = #21019#24314
        TabOrder = 0
        OnClick = Button1Click
      end
      object Button2: TButton
        Left = 358
        Top = 64
        Width = 75
        Height = 25
        Caption = #28155#21152
        TabOrder = 1
        OnClick = Button2Click
      end
      object Button3: TButton
        Left = 358
        Top = 108
        Width = 75
        Height = 25
        Caption = #26597#30475
        TabOrder = 2
        OnClick = Button3Click
      end
      object Button4: TButton
        Left = 358
        Top = 152
        Width = 75
        Height = 25
        Caption = #20445#23384
        TabOrder = 3
        OnClick = Button4Click
      end
      object Memo1: TMemo
        Left = 0
        Top = 0
        Width = 345
        Height = 211
        Align = alLeft
        Lines.Strings = (
          'Memo1')
        ScrollBars = ssBoth
        TabOrder = 4
      end
      object ClientDataSet1: TClientDataSet
        Aggregates = <>
        Params = <>
        Left = 168
        Top = 8
      end
    end
    
    打开一看, 发现程序很不严谨, 但能说明问题了, 不在修改了.

  • 相关阅读:
    PAT 1088. Rational Arithmetic
    PAT 1087. All Roads Lead to Rome
    PAT 1086. Tree Traversals Again
    PAT 1085. Perfect Sequence
    PAT 1084. Broken Keyboard
    PAT 1083. List Grades
    PAT 1082. Read Number in Chinese
    求最大公因数
    [转载]Latex文件转成pdf后的字体嵌入问题的解决
    [转载]Matlab有用的小工具小技巧
  • 原文地址:https://www.cnblogs.com/del/p/1218239.html
Copyright © 2020-2023  润新知