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.2 - (show annotations) (download) (as text)
Sat Aug 9 14:22:48 2003 UTC (20 years, 8 months ago) by yoffy
Branch: MAIN
CVS Tags: c33_4, b34, b35, b36
Changes since 1.1: +27 -19 lines
File MIME type: text/x-pascal
・Windows 95 でもお気に入りが使えるようになった。
・ツールバーを右クリックすることで表示/非表示が行えようになった。
・ツールバーから絞込検索ができるようになった。
・「ログ有りのスレッドのみを表示する」「新着スレッドの未表示する」の各ボタンと絞込み検索が And 検索になった。
・レスのプレビューでトリップが確認できるようになった。
・ギコナビは Delphi 6 Personal でビルドできるようになった。

1 unit AddressHistory;
2
3 interface
4
5 uses
6 SysUtils, Classes, {SAX, SAXHelpers, SAXComps, SAXKW,}
7 GikoSystem, {XMLIntf, XMLDoc}{, HttpApp} YofUtils;
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 {
44 var
45 FileName: string;
46 XMLDoc: IXMLDocument;
47 XMLNode: IXMLNode;
48 HistoryNode: IXMLNode;
49 i: Integer;
50 s: string;
51 }
52 begin
53 {
54 sl.Clear;
55 FReadCount := ReadCount;
56
57 FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
58
59 if FileExists(FileName) then begin
60 try
61 XMLDoc := LoadXMLDocument(FileName);
62 XMLNode := XMLDoc.DocumentElement;
63
64 if XMLNode.NodeName = 'address' then begin
65 for i := 0 to XMLNode.ChildNodes.Count - 1 do begin
66 HistoryNode := XMLNode.ChildNodes[i];
67 if HistoryNode.NodeName = 'history' then begin
68 if FReadCount >= sl.Count then begin
69 s := Trim(HistoryNode.Attributes['url']);
70 if s <> '' then
71 sl.Add(s);
72 //sl.Add(HttpDecode(s));
73 end;
74 end;
75 end;
76 end;
77 except
78 end;
79 end;
80 }
81 // AddressSAXHandler.OnStartDocument := SAXStartDocument;
82 // AddressSAXHandler.OnEndDocument := SAXEndDocument;
83 // AddressSAXHandler.OnStartElement := SAXStartElement;
84 // AddressSAXHandler.OnStartElement := SAXStartElement;
85 // AddressSAXHandler.OnEndElement := SAXEndElement;
86 // AddressSAXHandler.OnCharacters := SAXCharacters;
87
88 // AddressSAXReader.Vendor := 'Keith Wood';
89 // AddressSAXReader.URL := FileName;
90 // AddressSAXReader.Parse;
91 end;
92
93 procedure TAddressHistoryDM.WriteHistory(sl: TStrings; WriteCount: Integer);
94 var
95 FileName: string;
96 SaveList: TStringList;
97 i: Integer;
98 Count: Integer;
99 {
100 XMLDoc: IXMLDocument;
101 XMLNode: IXMLNode;
102 HistoryNode: IXMLNode;
103 }
104 begin
105 {
106 XMLDoc := NewXMLDocument;
107 XMLDoc.Encoding := 'Shift_JIS';
108 XMLDoc.StandAlone := 'yes';
109 XMLNode := XMLDoc.AddChild('address');
110
111 FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
112 if sl.Count > WriteCount then
113 Count := WriteCount
114 else
115 Count := sl.Count;
116
117 for i := 0 to Count - 1 do begin
118 HistoryNode := XMLNode.AddChild('history');
119 HistoryNode.Attributes['url'] := Trim(sl[i]);
120 end;
121 XMLDoc.SaveToFile(FileName);
122 }
123 FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
124 SaveList := TStringList.Create;
125 try
126 if sl.Count > WriteCount then
127 Count := WriteCount
128 else
129 Count := sl.Count;
130 SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
131 SaveList.Add('<address>');
132 for i := 0 to Count - 1 do begin
133 SaveList.Add('<history url="' + HttpEncode(Trim(sl[i])) + '"/>');
134 end;
135 SaveList.Add('</address>');
136 SaveList.SaveToFile(FileName);
137 finally
138 SaveList.Free;
139 end;
140 end;
141
142 {procedure TAddressHistoryDM.SAXStartDocument(Sender: TObject);
143 begin
144 //
145 end;
146
147 procedure TAddressHistoryDM.SAXEndDocument(Sender: TObject);
148 begin
149 //
150 end;
151
152 procedure TAddressHistoryDM.SAXStartElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString;
153 const Atts: IAttributes);
154 var
155 s: string;
156 begin
157 if QName = 'history' then begin
158 if FReadCount >= FList.Count then begin
159 s := Atts.getValue('url');
160 if Trim(s) <> '' then
161 FList.Add(s);
162 end;
163 end;
164 end;
165
166 procedure TAddressHistoryDM.SAXEndElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString);
167 begin
168 //
169 end;
170
171 procedure TAddressHistoryDM.SAXCharacters(Sender: TObject; const PCh: SAXString);
172 begin
173 //
174 end;
175 }
176 end.

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