Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/AddressHistory.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1.1.1 - (hide annotations) (download) (as text) (vendor branch)
Sat Aug 9 13:50:39 2003 UTC (20 years, 8 months ago) by hi_
Branch: hi
CVS Tags: b33
Changes since 1.1: +0 -0 lines
File MIME type: text/x-pascal
ソキオャコ?ョ

1 hi_ 1.1 unit AddressHistory;
2    
3     interface
4    
5     uses
6     SysUtils, Classes, {SAX, SAXHelpers, SAXComps, SAXKW,}
7     GikoSystem, XMLIntf, XMLDoc{, HttpApp};
8    
9     type
10     TAddressHistoryDM = class(TDataModule)
11     procedure DataModuleCreate(Sender: TObject);
12     private
13     { Private ツ静ゥツ固セ }
14     FReadCount: Integer;
15    
16     // procedure SAXStartDocument(Sender: TObject);
17     // procedure SAXEndDocument(Sender: TObject);
18     // procedure SAXStartElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString; const Atts: IAttributes);
19     // procedure SAXEndElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString);
20     // procedure SAXCharacters(Sender: TObject; const PCh: SAXString);
21     public
22     { Public ツ静ゥツ固セ }
23     procedure ReadHistory(sl: TStrings; ReadCount: Integer);
24     procedure WriteHistory(sl: TStrings; WriteCount: Integer);
25     end;
26    
27     var
28     AddressHistoryDM: TAddressHistoryDM;
29    
30     implementation
31    
32     const
33     ADDRESS_HISTORY_FILE_NAME = 'AddressHistory.xml';
34    
35     {$R *.dfm}
36    
37     procedure TAddressHistoryDM.DataModuleCreate(Sender: TObject);
38     begin
39     //
40     end;
41    
42     procedure TAddressHistoryDM.ReadHistory(sl: TStrings; ReadCount: Integer);
43     var
44     FileName: string;
45     XMLDoc: IXMLDocument;
46     XMLNode: IXMLNode;
47     HistoryNode: IXMLNode;
48     i: Integer;
49     s: string;
50     begin
51     sl.Clear;
52     FReadCount := ReadCount;
53    
54     FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
55    
56     if FileExists(FileName) then begin
57     XMLDoc := LoadXMLDocument(FileName);
58     XMLNode := XMLDoc.DocumentElement;
59    
60     if XMLNode.NodeName = 'address' then begin
61     for i := 0 to XMLNode.ChildNodes.Count - 1 do begin
62     HistoryNode := XMLNode.ChildNodes[i];
63     if HistoryNode.NodeName = 'history' then begin
64     if FReadCount >= sl.Count then begin
65     s := Trim(HistoryNode.Attributes['url']);
66     if s <> '' then
67     sl.Add(s);
68     //sl.Add(HttpDecode(s));
69     end;
70     end;
71     end;
72     end;
73     end;
74    
75     // AddressSAXHandler.OnStartDocument := SAXStartDocument;
76     // AddressSAXHandler.OnEndDocument := SAXEndDocument;
77     // AddressSAXHandler.OnStartElement := SAXStartElement;
78     // AddressSAXHandler.OnStartElement := SAXStartElement;
79     // AddressSAXHandler.OnEndElement := SAXEndElement;
80     // AddressSAXHandler.OnCharacters := SAXCharacters;
81    
82     // AddressSAXReader.Vendor := 'Keith Wood';
83     // AddressSAXReader.URL := FileName;
84     // AddressSAXReader.Parse;
85     end;
86    
87     procedure TAddressHistoryDM.WriteHistory(sl: TStrings; WriteCount: Integer);
88     var
89     FileName: string;
90     // SaveList: TStringList;
91     i: Integer;
92     Count: Integer;
93    
94     XMLDoc: IXMLDocument;
95     XMLNode: IXMLNode;
96     HistoryNode: IXMLNode;
97     begin
98     XMLDoc := NewXMLDocument;
99     XMLDoc.Encoding := 'Shift_JIS';
100     XMLDoc.StandAlone := 'yes';
101     XMLNode := XMLDoc.AddChild('address');
102    
103     FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
104     if sl.Count > WriteCount then
105     Count := WriteCount
106     else
107     Count := sl.Count;
108    
109     for i := 0 to Count - 1 do begin
110     HistoryNode := XMLNode.AddChild('history');
111     HistoryNode.Attributes['url'] := Trim(sl[i]);
112     end;
113     XMLDoc.SaveToFile(FileName);
114    
115     { FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
116     SaveList := TStringList.Create;
117     try
118     if sl.Count > WriteCount then
119     Count := WriteCount
120     else
121     Count := sl.Count;
122     SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
123     SaveList.Add('<address>');
124     for i := 0 to Count - 1 do begin
125     SaveList.Add('<history url="' + HttpEncode(Trim(sl[i])) + '"/>');
126     end;
127     SaveList.Add('</address>');
128     SaveList.SaveToFile(FileName);
129     finally
130     SaveList.Free;
131     end;}
132     end;
133    
134     {procedure TAddressHistoryDM.SAXStartDocument(Sender: TObject);
135     begin
136     //
137     end;
138    
139     procedure TAddressHistoryDM.SAXEndDocument(Sender: TObject);
140     begin
141     //
142     end;
143    
144     procedure TAddressHistoryDM.SAXStartElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString;
145     const Atts: IAttributes);
146     var
147     s: string;
148     begin
149     if QName = 'history' then begin
150     if FReadCount >= FList.Count then begin
151     s := Atts.getValue('url');
152     if Trim(s) <> '' then
153     FList.Add(s);
154     end;
155     end;
156     end;
157    
158     procedure TAddressHistoryDM.SAXEndElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString);
159     begin
160     //
161     end;
162    
163     procedure TAddressHistoryDM.SAXCharacters(Sender: TObject; const PCh: SAXString);
164     begin
165     //
166     end;
167     }
168     end.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26