Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/AddressHistory.pas

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


Revision 1.1.1.1 - (show 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 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