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.8 - (show annotations) (download) (as text)
Thu Mar 18 14:16:57 2004 UTC (20 years ago) by h677
Branch: MAIN
CVS Tags: v1_59_0_771, v1_59_0_770, v1_59_0_773, v1_59_0_772, v1_59_0_775, v1_59_0_774, v1_59_0_777, v1_59_0_776, v1_56_0_715, v1_59_0_778, v1_63_1_819, b49, b48, v1_57_0_737, v1_62_0_812, v1_57_0_735, v1_57_0_734, v1_57_0_733, v1_57_0_732, v1_57_0_731, v1_57_0_730, v1_50_2_606, v1_51_0_612, v1_50_0_581, v1_50_0_580, v1_50_0_587, v1_50_0_586, v1_57_0_739, v1_57_0_738, v1_59_1_765, v1_51_1_639, v1_53_0_671, v1_50_0_595, v1_60_0_788, v1_60_0_789, v1_54_0_677, v1_54_0_676, v1_50_0_572, v1_58_0_748, marged-Bb50, v1_58_0_745, v1_60_0_781, v1_60_0_782, v1_58_0_746, v1_60_0_784, v1_54_0_678, v1_60_0_786, v1_60_0_787, v1_56_0_707, v1_59_0_767, v1_56_0_705, v1_56_0_704, v1_56_0_703, v1_56_0_702, v1_56_0_701, v1_56_0_700, v1_59_1_778, v1_51_0_626, v1_57_0_723, b51, v1_52_1_658, v1_51_0_622, v1_59_0_768, v1_59_0_769, v1_50_0_598, v1_57_0_725, v1_57_0_726, v1_57_0_727, v1_57_0_720, v1_57_0_722, v1_57_1_744, v1_50_0_590, bv1_49_0_564, v1_50_0_593, v1_57_0_728, v1_57_0_729, v1_50_0_596, bv1_49_0_563, v1_52_0_646, v1_50_0_557, v1_57_0_736, v1_50_0_585, v1_51_0_611, v1_51_0_620, v1_52_0_644, v1_58_0_752, v1_58_0_750, v1_58_0_751, v1_58_0_756, v1_58_0_757, v1_58_0_754, v1_58_0_755, v1_58_0_759, v1_52_0_643, v1_57_0_719, v1_57_0_718, v1_56_0_716, v1_54_0_687, v1_56_0_710, v1_56_0_711, v1_56_1_717, v1_56_1_716, v1_51_0_634, v1_51_0_635, v1_51_0_636, v1_51_0_637, v1_54_0_688, v1_54_0_689, v1_51_0_632, v1_51_0_633, v1_49_0_548, v1_50_0_603, v1_54_0_684, v1_50_0_582, v1_54_0_685, v1_49_0_540, v1_49_0_542, v1_49_0_545, v1_49_0_544, v1_49_0_547, v1_53_0_664, v1_61_0_796, v1_61_0_797, b47, v1_61_0_795, v1_52_0_647, v1_61_0_798, v1_61_0_799, v1_50_0_604, v1_51_0_638, v1_52_0_648, v1_53_0_661, v1_53_0_663, v1_53_0_662, v1_53_0_665, v1_53_0_667, v1_53_0_666, v1_53_0_669, v1_53_0_668, v1_48_0_530, v1_55_0_692, v1_55_0_693, v1_55_0_696, v1_55_0_697, v1_55_0_694, v1_55_0_695, v1_49_0_554, merged-remodeling, v1_50_0_577, v1_49_0_551, v1_52_0_645, v1_52_0_651, v1_54_1_691, v1_52_0_650, v1_56_2_724, v1_50_0_606, v1_56_2_722, v1_50_0_588, v1_52_0_652, v1_55_1_697, v1_52_0_642, v1_52_0_654, v1_51_0_616, v1_56_0_714, v1_51_0_614, v1_51_0_615, v1_53_0_672, v1_51_0_613, v1_53_0_670, v1_63_0_818, v1_63_0_817, v1_63_0_816, v1_63_0_815, v1_48_0_510, v1_51_1_640, v1_54_0_686, v1_51_0_618, v1_51_0_619, bv1_49_0_565, v1_54_0_680, v1_54_0_681, v1_62_0_805, v1_62_0_804, v1_62_0_807, v1_62_0_806, b50, v1_56_0_712, v1_62_0_803, v1_62_0_802, v1_48_0_535, v1_49_0_552, v1_56_0_713, v1_62_0_809, v1_50_0_574, v1_54_0_682, v1_49_0_553, v1_50_0_584, v_step1, v1_56_0_721, v1_49_0_546, v1_50_0_573, v1_48_0_539, v1_48_0_538, v1_50_0_600, v1_51_0_630, v1_48_0_533, v1_50_0_571, v1_54_0_683, v1_48_0_537, v1_51_0_631, v1_49_2_569, v1_60_0_780, v1_60_0_779, v1_62_0_810, v1_62_0_811, v1_58_0_747, v1_60_0_783, root-of-draw, v1_50_0_576, v1_54_0_679, v1_59_2_785, marged_bRESPOPUP, v1_50_2_604, v1_50_0_578, v1_54_0_675, v1_51_0_628, v1_50_0_579, v1_51_0_617, v1_48_0_536, root-of-Bb50, root-of-Bb51, v1_56_0_706, root-of-remodel, root-of-Bb53, v1_50_0_594, v1_49_0_541, v1_52_1_657, v1_54_0_674, v1_52_0_660, v1_60_1_793, v1_50_0_602, v1_51_0_629, v1_54_0_690, v1_51_0_627, v1_50_0_601, v1_58_0_763, v1_58_0_762, v1_58_0_761, v1_58_0_760, v1_51_0_625, v1_62_1_813, v1_51_0_623, v1_57_2_749, v1_50_0_605, v1_57_0_742, v1_57_0_743, v1_57_0_740, v1_57_0_741, v1_52_0_655, v1_56_0_709, v1_57_0_744, v1_52_0_656, v1_56_0_708, v1_52_0_649, v1_61_0_800, v1_53_1_673, v1_50_0_599, v1_56_0_699, v1_56_0_698, v1_50_0_561, v1_51_0_624, v1_51_1_641, v1_51_0_621, v1_60_0_793, v1_60_0_792, v1_60_0_791, v1_60_0_790, v1_60_2_794, v1_61_1_801, HEAD
Branch point for: Bb57, Bb56, Bb55, Bb53, Bb52, Bb51, Bb62, Bb63, Bb60, Bb61, remodeling, Bb59, Bb58, Bb50, bRESPOPUP, bListSU, BRANCH_TORA, Bb49, Bb54, Bdraw
Changes since 1.7: +3 -1 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} GikoXMLDoc, YofUtils;
8
9 type
10 TAddressHistoryDM = class(TDataModule)
11 private
12 { Private ?辿?転 }
13 FReadCount: Integer;
14
15 // procedure SAXStartDocument(Sender: TObject);
16 // procedure SAXEndDocument(Sender: TObject);
17 // procedure SAXStartElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString; const Atts: IAttributes);
18 // procedure SAXEndElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString);
19 // procedure SAXCharacters(Sender: TObject; const PCh: SAXString);
20 public
21 { Public ?辿?転 }
22 procedure ReadHistory(sl: TStrings; ReadCount: Integer);
23 procedure WriteHistory(sl: TStrings; WriteCount: Integer);
24 end;
25
26 var
27 AddressHistoryDM: TAddressHistoryDM;
28
29 implementation
30
31 const
32 ADDRESS_HISTORY_FILE_NAME = 'AddressHistory.xml';
33
34 {$R *.dfm}
35
36 procedure TAddressHistoryDM.ReadHistory(sl: TStrings; ReadCount: Integer);
37 var
38 FileName: string;
39 XMLDoc: IXMLDocument;
40 XMLNode: IXMLNode;
41 HistoryNode: IXMLNode;
42 i: Integer;
43 s: string;
44 begin
45
46 sl.Clear;
47 FReadCount := ReadCount;
48
49 FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
50
51 if FileExists(FileName) then begin
52 try
53 XMLDoc := IXMLDocument.Create;
54 //XMLDoc := LoadXMLDocument(FileName);
55 LoadXMLDocument(FileName, XMLDoc);
56 try
57 XMLNode := XMLDoc.DocumentElement;
58
59 if XMLNode.NodeName = 'address' then begin
60 for i := 0 to XMLNode.ChildNodes.Count - 1 do begin
61 HistoryNode := XMLNode.ChildNodes[i];
62 if HistoryNode.NodeName = 'history' then begin
63 if FReadCount >= sl.Count then begin
64 s := Trim(HistoryNode.Attributes['url']);
65 if s <> '' then
66 sl.Add(s);
67 //sl.Add(HttpDecode(s));
68 end;
69 end;
70 end;
71 end;
72 finally
73 XMLDoc.Free;
74 end;
75 except
76 end;
77 end;
78
79 // AddressSAXHandler.OnStartDocument := SAXStartDocument;
80 // AddressSAXHandler.OnEndDocument := SAXEndDocument;
81 // AddressSAXHandler.OnStartElement := SAXStartElement;
82 // AddressSAXHandler.OnStartElement := SAXStartElement;
83 // AddressSAXHandler.OnEndElement := SAXEndElement;
84 // AddressSAXHandler.OnCharacters := SAXCharacters;
85
86 // AddressSAXReader.Vendor := 'Keith Wood';
87 // AddressSAXReader.URL := FileName;
88 // AddressSAXReader.Parse;
89 end;
90
91 procedure TAddressHistoryDM.WriteHistory(sl: TStrings; WriteCount: Integer);
92 var
93 FileName: string;
94 SaveList: TStringList;
95 i: Integer;
96 Count: Integer;
97 {
98 XMLDoc: IXMLDocument;
99 XMLNode: IXMLNode;
100 HistoryNode: IXMLNode;
101 }
102 begin
103 {
104 XMLDoc := NewXMLDocument;
105 XMLDoc.Encoding := 'Shift_JIS';
106 XMLDoc.StandAlone := 'yes';
107 XMLNode := XMLDoc.AddChild('address');
108
109 FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
110 if sl.Count > WriteCount then
111 Count := WriteCount
112 else
113 Count := sl.Count;
114
115 for i := 0 to Count - 1 do begin
116 HistoryNode := XMLNode.AddChild('history');
117 HistoryNode.Attributes['url'] := Trim(sl[i]);
118 end;
119 XMLDoc.SaveToFile(FileName);
120 }
121 FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
122 SaveList := TStringList.Create;
123 try
124 if sl.Count > WriteCount then
125 Count := WriteCount
126 else
127 Count := sl.Count;
128 SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
129 SaveList.Add('<address>');
130 for i := 0 to Count - 1 do begin
131 SaveList.Add('<history url="' + HtmlEncode(Trim(sl[i])) + '"/>');
132 end;
133 SaveList.Add('</address>');
134 SaveList.SaveToFile(FileName);
135 finally
136 SaveList.Free;
137 end;
138 end;
139
140 {procedure TAddressHistoryDM.SAXStartDocument(Sender: TObject);
141 begin
142 //
143 end;
144
145 procedure TAddressHistoryDM.SAXEndDocument(Sender: TObject);
146 begin
147 //
148 end;
149
150 procedure TAddressHistoryDM.SAXStartElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString;
151 const Atts: IAttributes);
152 var
153 s: string;
154 begin
155 if QName = 'history' then begin
156 if FReadCount >= FList.Count then begin
157 s := Atts.getValue('url');
158 if Trim(s) <> '' then
159 FList.Add(s);
160 end;
161 end;
162 end;
163
164 procedure TAddressHistoryDM.SAXEndElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString);
165 begin
166 //
167 end;
168
169 procedure TAddressHistoryDM.SAXCharacters(Sender: TObject; const PCh: SAXString);
170 begin
171 //
172 end;
173 }
174 end.

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