Changeset 91
- Timestamp:
- Dec 21, 2009, 1:19:39 PM (15 years ago)
- Location:
- branches/DirectWeb
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DirectWeb/Data/Style.css
r82 r91 6 6 padding: 0px; 7 7 border-collapse: collapse; 8 text-align: center; 9 margin-left: auto; 10 margin-right: auto; 8 11 } 9 12 … … 23 26 padding: 5px; 24 27 } 28 29 .MainMenu 30 { 31 text-align: center; 32 margin-left: auto; 33 margin-right: auto; 34 } 35 36 .MainMenu span 37 { 38 padding-left: 5px; 39 padding-right: 5px; 40 } 41 42 .Page 43 { 44 text-align: center; 45 margin-left: auto; 46 margin-right: auto; 47 } -
branches/DirectWeb/UHTMLControls.pas
r88 r91 49 49 Page := StrToInt(HandlerData.Request.Query.Values[PageIndexName]); 50 50 51 Count := Round(TotalCount / ItemPerPage); 51 Count := Trunc(TotalCount / ItemPerPage) + 1; 52 if Page > Count - 1 then Page := Count - 1; 53 52 54 Output := ''; 53 55 if Count > 1 then 54 56 with HandlerData, Request do begin 55 if Page > Count - 1 then Page := Count - 1;56 57 57 58 if Page > 0 then begin … … 68 69 if PagesMax > Count - 1 then PagesMax := Count - 1; 69 70 71 if PagesMin > 0 then Output := Output + ' .. '; 70 72 // Show page numbers 71 73 for I := PagesMin to PagesMax do begin … … 78 80 end; 79 81 end; 82 if PagesMax < (Count - 1) then Output := Output + ' .. '; 80 83 81 if PagesMax < (Count - 1) then Output := Output + ' .. ';82 84 if Page < (Count - 1) then begin 83 85 Query.Values[PageIndexName] := IntToStr(Page + 1); -
branches/DirectWeb/URSS.pas
r90 r91 6 6 7 7 uses 8 Classes, SysUtils, pwmain, dateutils;8 Classes, SysUtils, DateUtils; 9 9 10 10 type … … 56 56 with TRSSChannelItem(Items[I]) do begin 57 57 Result := Result + '<item>' + 58 '<title>' + FilterHTML(Title)+ '</title>' +59 '<description>' + FilterHTML(Description)+ '</description>' +58 '<title>' + Title + '</title>' + 59 '<description>' + Description + '</description>' + 60 60 '<pubDate>' + RFC2822TimeFormat(Time) + '</pubDate>' + 61 61 '<link>' + Link + '</link>' + -
branches/DirectWeb/UWebServer.pas
r89 r91 18 18 type 19 19 20 { TDatabasePool }21 20 22 TDatabasePool = class(TThreadedPool)23 private24 FActive: Boolean;25 procedure SetActive(const AValue: Boolean);26 public27 property Active: Boolean read FActive write SetActive;28 public29 HostName: string;30 Schema: string;31 UserName: string;32 Password: string;33 constructor Create;34 destructor Destroy; override;35 end;36 21 37 22 { TWebServer } … … 39 24 TWebServer = class 40 25 private 41 SessionStorage: TFileHTTPSessionStorage;42 procedure ServerInfo(HandlerData: THTTPHandlerData);43 26 public 44 27 HTTPServer: THTTPServer; 45 DatabasePool: TDatabasePool;46 47 procedure ViewList(HandlerData: THTTPHandlerData);48 procedure ViewItem(HandlerData: THTTPHandlerData);49 procedure SendIndex(HandlerData: THTTPHandlerData);50 procedure WriteHeader(Stream: TMemoryStreamEx);51 procedure WriteFooter(Stream: TMemoryStreamEx);52 28 constructor Create; 53 29 destructor Destroy; override; 54 procedure LoadConfiguration;55 procedure Run;56 30 end; 57 31 58 32 implementation 59 33 60 procedure TWebServer.LoadConfiguration;61 var62 Config: TXMLDocument;63 I1: Integer;64 I2: Integer;65 I3: Integer;66 begin67 if FileExists(ConfigFileName) then begin68 ReadXMLFile(Config, ConfigFileName);69 for I1 := 0 to Config.ChildNodes.Count - 1 do70 with Config.ChildNodes[I1] do begin71 if NodeName = 'configuration' then72 for I2 := 0 to ChildNodes.Count - 1 do73 with ChildNodes[I2] do begin74 if NodeName = 'database' then75 for I3 := 0 to ChildNodes.Count - 1 do76 with ChildNodes[I3] do begin77 if NodeName = 'hostname' then78 DatabasePool.HostName := TextContent;79 if NodeName = 'schema' then80 DatabasePool.Schema := TextContent;81 if NodeName = 'username' then82 DatabasePool.UserName := TextContent;83 if NodeName = 'password' then84 DatabasePool.Password := TextContent;85 end;86 if NodeName = 'server' then87 for I3 := 0 to ChildNodes.Count - 1 do88 with ChildNodes[I3] do begin89 if NodeName = 'address' then90 HTTPServer.Socket.Address := TextContent;91 if NodeName = 'port' then92 HTTPServer.Socket.Port := StrToInt(TextContent);93 end;94 end;95 end;96 Config.Destroy;97 end;98 end;99 100 procedure TWebServer.Run;101 var102 Command: string;103 begin104 LoadConfiguration;105 DatabasePool.Active := True;106 WriteLn('WoW hosting web server');107 with HTTPServer do begin108 Socket.Active := True;109 WriteLn('Accepting connections.');110 repeat111 Write('Server command: ');112 ReadLn(Command);113 until Command = 'quit';114 //WaitForFinish;115 end;116 end;117 118 procedure TWebServer.ViewList(HandlerData: THTTPHandlerData);119 var120 SqlDatabase: TSqlDatabase;121 DbRows: TDbRows;122 I, II: integer;123 OrderColumn: string;124 OrderDirection: string;125 Title: string;126 LinkQuery: TQueryParameterList;127 PageList: TPageList;128 begin129 SqlDatabase := TSqlDatabase(DatabasePool.Acquire);130 with HandlerData, Response, Stream, SqlDatabase do131 begin132 WriteHeader(Stream);133 134 WriteString('<div align="center">');135 136 // Prepare table paging137 DbRows := Query('SELECT COUNT(*) FROM ' + Request.Query.Values['Table']);138 PageList := TPageList.Create;139 PageList.HandlerData := HandlerData;140 with PageList do begin141 TotalCount := StrToInt(DbRows[0].ValuesAtIndex[0]);142 ItemPerPage := 20;143 NavigatorVisibleItems := 5;144 Process;145 end;146 DbRows.Destroy;147 148 //WriteString(Request.Query.Values['Table']);149 OrderColumn := Request.Query.Values['OrderCol'];150 OrderDirection := Request.Query.Values['OrderDir'];151 if OrderDirection = '1' then152 OrderDirection := 'ASC'153 else154 OrderDirection := 'DESC';155 DbRows := Query('SELECT * FROM ' + Request.Query.Values['Table'] +156 ' ORDER BY ' + OrderColumn + ' ' + OrderDirection + PageList.SQLLimit);157 158 LinkQuery := TQueryParameterList.Create;159 LinkQuery.Assign(Request.Query);160 161 WriteString('<strong>Seznam typů karet</strong><br/>');162 WriteString(PageList.Output);163 WriteString('<table><tr>');164 if DbRows.Count > 0 then165 for I := 0 to DbRows[0].Count - 1 do166 begin167 Title := DbRows[0].Names[I];168 LinkQuery.Values['OrderCol'] := Title;169 if Title = OrderColumn then170 LinkQuery.Values['OrderDir'] :=171 IntToStr(1 - StrToInt(Request.Query.Values['OrderDir']))172 else173 LinkQuery.Values['OrderDir'] := Request.Query.Values['OrderDir'];174 Title := '<a href="?' + LinkQuery.Syntetize + '">' + Title + '</a>';175 176 WriteString('<th>' + Title + '</th>');177 end;178 WriteString('</tr>');179 180 LinkQuery.Destroy;181 for II := 0 to DbRows.Count - 1 do182 begin183 WriteString('<tr>');184 for I := 0 to DbRows[II].Count - 1 do185 WriteString('<td>' + DbRows[II].ValuesAtIndex[I] + '</td>');186 WriteString('</tr>');187 end;188 WriteString('</table>');189 WriteString(PageList.Output);190 WriteString('</div>');191 192 DbRows.Destroy;193 WriteFooter(Stream);194 end;195 PageList.Destroy;196 DatabasePool.Release(SqlDatabase);197 end;198 199 procedure TWebServer.ViewItem(HandlerData: THTTPHandlerData);200 var201 SqlDatabase: TSqlDatabase;202 DbRows: TDbRows;203 I, II: Integer;204 OrderColumn: string;205 OrderDirection: string;206 Title: string;207 LinkQuery: TQueryParameterList;208 begin209 SqlDatabase := TSqlDatabase(DatabasePool.Acquire);210 with HandlerData, Response, Stream, SqlDatabase do211 begin212 WriteHeader(Stream);213 DbRows := Query('SELECT * FROM ' + Request.Query.Values['Table'] +214 ' WHERE Id=' + Request.Query.Values['Id']);215 if DbRows.Count > 0 then begin216 WriteString('<strong>Zobrazení položky</strong>');217 WriteString('<table><tr><th>Vlastnost</th><th>Hodnota</th></tr>');218 for I := 0 to DbRows[0].Count - 1 do begin219 WriteString('<tr><td>' + DbRows[0].Names[I] + '</td><td>' +220 DbRows[0].ValuesAtIndex[I] + '</td></tr>');221 end;222 end else WriteString('Položka nenalezena.');223 WriteString('</table>');224 DbRows.Destroy;225 WriteFooter(Stream);226 end;227 DatabasePool.Release(SqlDatabase);228 end;229 230 procedure TWebServer.ServerInfo(HandlerData: THTTPHandlerData);231 var232 I: Integer;233 begin234 with HandlerData, Response.Stream do begin235 //Response.Cookies.Values['Test'] := 'Halo';236 //Response.Cookies.Values['Test2'] := 'Halo2';237 238 //HTTPServer.SessionHandler.Variables.Values['Session1'] := 'Value1';239 //HTTPServer.SessionHandler.Variables.Values['Session2'] := 'Value2';240 241 WriteString('<a href="?ServerInfo">Refresh</a>');242 243 WriteString('<h5>Request HTTP headers</h5>');244 for I := 0 to Request.Headers.Count - 1 do begin;245 WriteString(Request.Headers.Strings[I] + '<br/>');246 end;247 248 WriteString('<h5>Request HTTP cookies</h5>');249 for I := 0 to Request.Cookies.Count - 1 do begin;250 WriteString(Request.Cookies.Strings[I] + '<br/>');251 end;252 253 WriteString('<h5>Session variables</h5>');254 for I := 0 to Session.Count - 1 do begin;255 WriteString(Session.Strings[I] + '<br/>');256 end;257 258 WriteString('<h5>Response HTTP headers</h5>');259 with Response.Stream do260 for I := 0 to Response.Headers.Count - 1 do begin;261 WriteString(Response.Headers.Strings[I] + '<br/>');262 end;263 end;264 end;265 266 procedure TWebServer.SendIndex(HandlerData: THTTPHandlerData);267 begin268 with HandlerData, Response, Stream do269 begin270 WriteHeader(Stream);271 WriteString('Index');272 WriteFooter(Stream);273 end;274 end;275 276 procedure TWebServer.WriteHeader(Stream: TMemoryStreamEx);277 begin278 with Stream do279 begin280 WriteString('<?xml version="1.0" encoding="UTF-8"?>');281 WriteString('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">');282 WriteString('<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs">');283 WriteString('<head>');284 WriteString('<title>');285 WriteString('Dispečink výtahů');286 WriteString('</title>');287 WriteString('<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>');288 WriteString('<link rel="stylesheet" href="Style.css" type="text/css" media="all"/>');289 WriteString('<script type="text/javascript" src="Application/Style/Custom/Global.js">');290 WriteString('</script>');291 WriteString('<script type="text/javascript" src="Base/Style/jquery.js">');292 WriteString('</script>');293 WriteString('</head>');294 WriteString('<body>');295 end;296 end;297 298 procedure TWebServer.WriteFooter(Stream: TMemoryStreamEx);299 begin300 with Stream do301 begin302 WriteString('</body>');303 WriteString('</html>');304 end;305 end;306 307 34 constructor TWebServer.Create; 308 35 begin 309 36 inherited Create; 310 DatabasePool := TDatabasePool.Create;311 DatabasePool.TotalCount := 20;312 313 SessionStorage := TFileHTTPSessionStorage.Create;314 37 HTTPServer := THTTPServer.Create; 315 38 with HTTPServer, Socket do begin 316 SessionStorage := Self.SessionStorage;317 DocumentRoot := 'Data';318 with RequestHandlerList do begin319 Add('/', SendIndex);320 Add('/index.htm', SendIndex);321 Add('/index.html', SendIndex);322 Add('/logo.png', FileResponse);323 Add('/Style.css', FileResponse);324 Add('/ViewList', ViewList);325 Add('/ViewItem', ViewItem);326 Add('/ServerInfo', ServerInfo);327 end;328 39 end; 329 40 end; … … 331 42 destructor TWebServer.Destroy; 332 43 begin 333 DatabasePool.Destroy;334 44 HTTPServer.Destroy; 335 SessionStorage.Destroy;336 45 inherited Destroy; 337 46 end; 338 47 339 { TDatabasePool }340 341 procedure TDatabasePool.SetActive(const AValue: Boolean);342 var343 I: Integer;344 begin345 if not FActive and AValue then begin346 for I := 0 to TotalCount - 1 do347 with TThreadedPoolItem(Items[I]) do begin348 Item := TSqlDatabase.Create;349 with TSqlDatabase(Item) do begin350 HostName := Self.HostName;351 UserName := Self.UserName;352 Password := Self.Password;353 Database := Self.Schema;354 Connect;355 end;356 end;357 end else358 if FActive and not AValue then begin359 360 end;361 FActive := AValue;362 end;363 364 constructor TDatabasePool.Create;365 begin366 inherited;367 end;368 369 destructor TDatabasePool.Destroy;370 begin371 inherited Destroy;372 end;373 48 374 49 end. -
branches/DirectWeb/UXMLClasses.pas
r90 r91 70 70 I: Integer; 71 71 begin 72 Attributes.Free; 73 for I := 0 to SubElements.Count - 1 do TXmlElement(SubElements[I]).Free; 74 SubElements.Free; 72 Attributes.Destroy; 73 for I := 0 to SubElements.Count - 1 do 74 TXmlElement(SubElements[I]).Destroy; 75 SubElements.Destroy; 75 76 inherited; 76 77 end; … … 116 117 begin 117 118 inherited; 118 Encoding := ' windows-1250';119 Encoding := 'utf-8'; 119 120 XmlVersion := '1.0'; 120 121 MainTag := TXmlTag.Create; … … 123 124 EndTagSymbol := '?'; 124 125 Attributes.Add('version=1.0'); 125 Attributes.Add('encoding= windows-1250');126 Attributes.Add('encoding=utf-8'); 126 127 end; 127 128 Content := TXmlTag.Create; … … 130 131 destructor TXmlDocument.Destroy; 131 132 begin 132 Content. Free;133 MainTag. Free;133 Content.Destroy; 134 MainTag.Destroy; 134 135 inherited; 135 136 end; -
branches/DirectWeb/WoWHostingWebServer.lpi
r89 r91 13 13 <Icon Value="0"/> 14 14 <UseXPManifest Value="True"/> 15 <ActiveEditorIndexAtStart Value=" 1"/>15 <ActiveEditorIndexAtStart Value="5"/> 16 16 </General> 17 17 <VersionInfo> … … 37 37 </Item1> 38 38 </RequiredPackages> 39 <Units Count="3 8">39 <Units Count="31"> 40 40 <Unit0> 41 41 <Filename Value="WoWHostingWebServer.lpr"/> 42 42 <IsPartOfProject Value="True"/> 43 43 <UnitName Value="WoWHostingWebServer"/> 44 <CursorPos X=" 1" Y="24"/>45 <TopLine Value="1"/> 46 <EditorIndex Value=" 0"/>44 <CursorPos X="85" Y="20"/> 45 <TopLine Value="1"/> 46 <EditorIndex Value="2"/> 47 47 <UsageCount Value="200"/> 48 48 <Loaded Value="True"/> … … 52 52 <CursorPos X="1" Y="1"/> 53 53 <TopLine Value="1"/> 54 <UsageCount Value="1 91"/>54 <UsageCount Value="177"/> 55 55 <SyntaxHighlighter Value="None"/> 56 56 </Unit1> … … 58 58 <Filename Value="mimetable.pp"/> 59 59 <UnitName Value="mimetable"/> 60 <UsageCount Value="1 91"/>60 <UsageCount Value="177"/> 61 61 </Unit2> 62 62 <Unit3> 63 63 <Filename Value="BreakTokens.pp"/> 64 64 <UnitName Value="BreakTokens"/> 65 <UsageCount Value="1 91"/>65 <UsageCount Value="177"/> 66 66 </Unit3> 67 67 <Unit4> … … 70 70 <CursorPos X="3" Y="208"/> 71 71 <TopLine Value="202"/> 72 <UsageCount Value="1 95"/>72 <UsageCount Value="181"/> 73 73 </Unit4> 74 74 <Unit5> … … 76 76 <IsPartOfProject Value="True"/> 77 77 <UnitName Value="UHTTPServer"/> 78 <CursorPos X="1 7" Y="92"/>79 <TopLine Value=" 74"/>80 <EditorIndex Value=" 13"/>78 <CursorPos X="1" Y="218"/> 79 <TopLine Value="308"/> 80 <EditorIndex Value="9"/> 81 81 <UsageCount Value="200"/> 82 82 <Loaded Value="True"/> … … 86 86 <CursorPos X="14" Y="1436"/> 87 87 <TopLine Value="1419"/> 88 <EditorIndex Value="10"/> 89 <UsageCount Value="98"/> 90 <Loaded Value="True"/> 88 <UsageCount Value="167"/> 91 89 </Unit6> 92 90 <Unit7> … … 95 93 <CursorPos X="15" Y="397"/> 96 94 <TopLine Value="380"/> 97 <UsageCount Value=" 95"/>95 <UsageCount Value="81"/> 98 96 </Unit7> 99 97 <Unit8> … … 103 101 <CursorPos X="24" Y="148"/> 104 102 <TopLine Value="130"/> 105 <EditorIndex Value=" 3"/>103 <EditorIndex Value="6"/> 106 104 <UsageCount Value="200"/> 107 105 <Loaded Value="True"/> … … 116 114 </Unit9> 117 115 <Unit10> 118 <Filename Value="..\..\..\..\Knihovny\Free Pascal\synapse\sswin32.pas"/> 119 <UnitName Value="sswin32"/> 120 <CursorPos X="54" Y="330"/> 121 <TopLine Value="327"/> 122 <UsageCount Value="7"/> 116 <Filename Value="UAssociativeArray.pas"/> 117 <IsPartOfProject Value="True"/> 118 <UnitName Value="UAssociativeArray"/> 119 <CursorPos X="24" Y="61"/> 120 <TopLine Value="25"/> 121 <EditorIndex Value="3"/> 122 <UsageCount Value="273"/> 123 <Loaded Value="True"/> 123 124 </Unit10> 124 125 <Unit11> 125 <Filename Value="UAssociativeArray.pas"/>126 <IsPartOfProject Value="True"/>127 <UnitName Value="UAssociativeArray"/>128 <CursorPos X="24" Y="61"/>129 <TopLine Value="1"/>130 <UsageCount Value="135"/>131 </Unit11>132 <Unit12>133 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\classes\stringl.inc"/>134 <CursorPos X="41" Y="704"/>135 <TopLine Value="690"/>136 <UsageCount Value="6"/>137 </Unit12>138 <Unit13>139 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\classes\streams.inc"/>140 <CursorPos X="9" Y="356"/>141 <TopLine Value="348"/>142 <UsageCount Value="6"/>143 </Unit13>144 <Unit14>145 126 <Filename Value="UMemoryStreamEx.pas"/> 146 127 <IsPartOfProject Value="True"/> … … 148 129 <CursorPos X="3" Y="130"/> 149 130 <TopLine Value="121"/> 150 <UsageCount Value=" 134"/>151 </Unit1 4>152 <Unit1 5>131 <UsageCount Value="272"/> 132 </Unit11> 133 <Unit12> 153 134 <Filename Value="UMIMEType.pas"/> 154 135 <IsPartOfProject Value="True"/> … … 156 137 <CursorPos X="26" Y="28"/> 157 138 <TopLine Value="25"/> 158 <UsageCount Value=" 134"/>159 </Unit1 5>160 <Unit1 6>139 <UsageCount Value="272"/> 140 </Unit12> 141 <Unit13> 161 142 <Filename Value="USqlDatabase.pas"/> 162 143 <IsPartOfProject Value="True"/> … … 164 145 <CursorPos X="20" Y="178"/> 165 146 <TopLine Value="164"/> 166 <EditorIndex Value="8"/> 167 <UsageCount Value="81"/> 168 <Loaded Value="True"/> 169 </Unit16> 170 <Unit17> 171 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\packages\mysql\src\mysql.inc"/> 172 <CursorPos X="52" Y="6"/> 173 <TopLine Value="1392"/> 174 <UsageCount Value="5"/> 175 </Unit17> 176 <Unit18> 177 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\systemh.inc"/> 178 <CursorPos X="29" Y="275"/> 179 <TopLine Value="260"/> 180 <UsageCount Value="5"/> 181 </Unit18> 182 <Unit19> 147 <EditorIndex Value="7"/> 148 <UsageCount Value="219"/> 149 <Loaded Value="True"/> 150 </Unit13> 151 <Unit14> 183 152 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\win\tthread.inc"/> 184 153 <CursorPos X="3" Y="113"/> 185 154 <TopLine Value="97"/> 186 <EditorIndex Value="11"/> 187 <UsageCount Value="32"/> 188 <Loaded Value="True"/> 189 </Unit19> 190 <Unit20> 191 <Filename Value="..\..\..\..\Knihovny\Free Pascal\synapse\synapse.pas"/> 192 <UnitName Value="synapse"/> 193 <CursorPos X="27" Y="2"/> 194 <TopLine Value="1"/> 195 <UsageCount Value="1"/> 196 </Unit20> 197 <Unit21> 155 <UsageCount Value="101"/> 156 </Unit14> 157 <Unit15> 198 158 <Filename Value="UWebServer.pas"/> 199 159 <IsPartOfProject Value="True"/> 200 160 <UnitName Value="UWebServer"/> 201 <CursorPos X="15" Y="283"/> 202 <TopLine Value="260"/> 203 <EditorIndex Value="1"/> 204 <UsageCount Value="124"/> 205 <Loaded Value="True"/> 206 </Unit21> 207 <Unit22> 208 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\win\winsock.pp"/> 209 <UnitName Value="winsock"/> 210 <CursorPos X="25" Y="58"/> 211 <TopLine Value="31"/> 212 <UsageCount Value="5"/> 213 </Unit22> 214 <Unit23> 161 <CursorPos X="1" Y="48"/> 162 <TopLine Value="14"/> 163 <EditorIndex Value="0"/> 164 <UsageCount Value="262"/> 165 <Loaded Value="True"/> 166 </Unit15> 167 <Unit16> 215 168 <Filename Value="ConfigSample.xml"/> 216 169 <IsPartOfProject Value="True"/> 217 <CursorPos X=" 32" Y="11"/>218 <TopLine Value="1"/> 219 <UsageCount Value=" 82"/>170 <CursorPos X="13" Y="8"/> 171 <TopLine Value="1"/> 172 <UsageCount Value="220"/> 220 173 <SyntaxHighlighter Value="XML"/> 221 </Unit 23>222 <Unit 24>174 </Unit16> 175 <Unit17> 223 176 <Filename Value="ReadMe.txt"/> 224 177 <IsPartOfProject Value="True"/> 225 178 <CursorPos X="77" Y="4"/> 226 179 <TopLine Value="1"/> 227 <UsageCount Value=" 82"/>180 <UsageCount Value="220"/> 228 181 <SyntaxHighlighter Value="None"/> 229 </Unit 24>230 <Unit 25>182 </Unit17> 183 <Unit18> 231 184 <Filename Value="UHTTPSession.pas"/> 232 185 <UnitName Value="UHTTPSession"/> 233 186 <CursorPos X="1" Y="19"/> 234 187 <TopLine Value="1"/> 235 <UsageCount Value="1 5"/>236 </Unit 25>237 <Unit 26>188 <UsageCount Value="1"/> 189 </Unit18> 190 <Unit19> 238 191 <Filename Value="UHTTPSessionFile.pas"/> 239 192 <IsPartOfProject Value="True"/> … … 241 194 <CursorPos X="35" Y="8"/> 242 195 <TopLine Value="1"/> 243 <EditorIndex Value="1 4"/>244 <UsageCount Value=" 79"/>245 <Loaded Value="True"/> 246 </Unit 26>247 <Unit2 7>196 <EditorIndex Value="10"/> 197 <UsageCount Value="217"/> 198 <Loaded Value="True"/> 199 </Unit19> 200 <Unit20> 248 201 <Filename Value="UHTMLControls.pas"/> 249 202 <IsPartOfProject Value="True"/> 250 203 <UnitName Value="UHTMLControls"/> 251 <CursorPos X=" 40" Y="60"/>252 <TopLine Value="3 3"/>253 <EditorIndex Value=" 2"/>254 <UsageCount Value=" 77"/>255 <Loaded Value="True"/> 256 </Unit2 7>257 <Unit2 8>204 <CursorPos X="3" Y="51"/> 205 <TopLine Value="35"/> 206 <EditorIndex Value="5"/> 207 <UsageCount Value="215"/> 208 <Loaded Value="True"/> 209 </Unit20> 210 <Unit21> 258 211 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\threadh.inc"/> 259 212 <CursorPos X="26" Y="23"/> 260 213 <TopLine Value="4"/> 261 <EditorIndex Value="5"/> 262 <UsageCount Value="14"/> 263 <Loaded Value="True"/> 264 </Unit28> 265 <Unit29> 266 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\win\sysosh.inc"/> 267 <CursorPos X="3" Y="33"/> 268 <TopLine Value="1"/> 269 <UsageCount Value="5"/> 270 </Unit29> 271 <Unit30> 214 <UsageCount Value="83"/> 215 </Unit21> 216 <Unit22> 272 217 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\packages\fcl-base\src\syncobjs.pp"/> 273 218 <UnitName Value="syncobjs"/> 274 219 <CursorPos X="25" Y="138"/> 275 220 <TopLine Value="134"/> 276 <EditorIndex Value="4"/> 277 <UsageCount Value="32"/> 278 <Loaded Value="True"/> 279 </Unit30> 280 <Unit31> 281 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\objpash.inc"/> 282 <CursorPos X="8" Y="170"/> 283 <TopLine Value="153"/> 284 <UsageCount Value="10"/> 285 </Unit31> 286 <Unit32> 287 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\win\wininc\func.inc"/> 288 <CursorPos X="10" Y="142"/> 289 <TopLine Value="125"/> 290 <UsageCount Value="6"/> 291 </Unit32> 292 <Unit33> 293 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\classes\lists.inc"/> 294 <CursorPos X="12" Y="102"/> 295 <TopLine Value="100"/> 296 <UsageCount Value="6"/> 297 </Unit33> 298 <Unit34> 221 <UsageCount Value="101"/> 222 </Unit22> 223 <Unit23> 299 224 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\packages\fcl-base\src\contnrs.pp"/> 300 225 <UnitName Value="contnrs"/> 301 226 <CursorPos X="26" Y="72"/> 302 227 <TopLine Value="64"/> 303 <EditorIndex Value="9"/> 304 <UsageCount Value="32"/> 305 <Loaded Value="True"/> 306 </Unit34> 307 <Unit35> 228 <UsageCount Value="101"/> 229 </Unit23> 230 <Unit24> 308 231 <Filename Value="UPool.pas"/> 309 232 <IsPartOfProject Value="True"/> … … 311 234 <CursorPos X="37" Y="106"/> 312 235 <TopLine Value="88"/> 313 <EditorIndex Value="7"/> 314 <UsageCount Value="65"/> 315 <Loaded Value="True"/> 316 </Unit35> 317 <Unit36> 236 <UsageCount Value="203"/> 237 </Unit24> 238 <Unit25> 318 239 <Filename Value="UResetableThread.pas"/> 319 240 <IsPartOfProject Value="True"/> … … 321 242 <CursorPos X="50" Y="72"/> 322 243 <TopLine Value="69"/> 323 <EditorIndex Value=" 12"/>324 <UsageCount Value=" 64"/>325 <Loaded Value="True"/> 326 </Unit 36>327 <Unit 37>244 <EditorIndex Value="8"/> 245 <UsageCount Value="202"/> 246 <Loaded Value="True"/> 247 </Unit25> 248 <Unit26> 328 249 <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\thread.inc"/> 329 250 <CursorPos X="32" Y="236"/> 330 251 <TopLine Value="233"/> 331 <EditorIndex Value="6"/> 332 <UsageCount Value="11"/> 333 <Loaded Value="True"/> 334 </Unit37> 252 <UsageCount Value="80"/> 253 </Unit26> 254 <Unit27> 255 <Filename Value="UXMLClasses.pas"/> 256 <IsPartOfProject Value="True"/> 257 <UnitName Value="UXMLClasses"/> 258 <CursorPos X="31" Y="185"/> 259 <TopLine Value="155"/> 260 <EditorIndex Value="4"/> 261 <UsageCount Value="163"/> 262 <Loaded Value="True"/> 263 </Unit27> 264 <Unit28> 265 <Filename Value="UHTMLClasses.pas"/> 266 <IsPartOfProject Value="True"/> 267 <UnitName Value="UHTMLClasses"/> 268 <UsageCount Value="163"/> 269 <SyntaxHighlighter Value="Text"/> 270 </Unit28> 271 <Unit29> 272 <Filename Value="URSS.pas"/> 273 <IsPartOfProject Value="True"/> 274 <UnitName Value="URSS"/> 275 <CursorPos X="24" Y="60"/> 276 <TopLine Value="40"/> 277 <UsageCount Value="163"/> 278 </Unit29> 279 <Unit30> 280 <Filename Value="UCustomWebServer.pas"/> 281 <IsPartOfProject Value="True"/> 282 <UnitName Value="UCustomWebServer"/> 283 <CursorPos X="108" Y="160"/> 284 <TopLine Value="142"/> 285 <EditorIndex Value="1"/> 286 <UsageCount Value="22"/> 287 <Loaded Value="True"/> 288 </Unit30> 335 289 </Units> 336 290 <JumpHistory Count="30" HistoryIndex="29"> 337 291 <Position1> 338 292 <Filename Value="UWebServer.pas"/> 339 <Caret Line="13 0" Column="1" TopLine="113"/>293 <Caret Line="137" Column="1" TopLine="120"/> 340 294 </Position1> 341 295 <Position2> 342 <Filename Value="U WebServer.pas"/>343 <Caret Line="1 32" Column="1" TopLine="115"/>296 <Filename Value="USqlDatabase.pas"/> 297 <Caret Line="174" Column="1" TopLine="157"/> 344 298 </Position2> 345 299 <Position3> 346 <Filename Value="U WebServer.pas"/>347 <Caret Line="1 34" Column="1" TopLine="117"/>300 <Filename Value="USqlDatabase.pas"/> 301 <Caret Line="176" Column="1" TopLine="159"/> 348 302 </Position3> 349 303 <Position4> 350 <Filename Value="U WebServer.pas"/>351 <Caret Line="1 37" Column="1" TopLine="120"/>304 <Filename Value="USqlDatabase.pas"/> 305 <Caret Line="177" Column="1" TopLine="160"/> 352 306 </Position4> 353 307 <Position5> 354 <Filename Value="U WebServer.pas"/>355 <Caret Line="1 28" Column="1" TopLine="111"/>308 <Filename Value="USqlDatabase.pas"/> 309 <Caret Line="179" Column="1" TopLine="162"/> 356 310 </Position5> 357 311 <Position6> 358 312 <Filename Value="UWebServer.pas"/> 359 <Caret Line="1 29" Column="1" TopLine="112"/>313 <Caret Line="193" Column="1" TopLine="169"/> 360 314 </Position6> 361 315 <Position7> 362 <Filename Value="U WebServer.pas"/>363 <Caret Line="1 30" Column="1" TopLine="113"/>316 <Filename Value="USqlDatabase.pas"/> 317 <Caret Line="178" Column="20" TopLine="164"/> 364 318 </Position7> 365 319 <Position8> 366 320 <Filename Value="UWebServer.pas"/> 367 <Caret Line=" 128" Column="1" TopLine="111"/>321 <Caret Line="322" Column="31" TopLine="306"/> 368 322 </Position8> 369 323 <Position9> 370 <Filename Value="U WebServer.pas"/>371 <Caret Line=" 129" Column="1" TopLine="112"/>324 <Filename Value="UHTTPServer.pas"/> 325 <Caret Line="211" Column="24" TopLine="205"/> 372 326 </Position9> 373 327 <Position10> 374 328 <Filename Value="UWebServer.pas"/> 375 <Caret Line=" 130" Column="1" TopLine="113"/>329 <Caret Line="322" Column="31" TopLine="291"/> 376 330 </Position10> 377 331 <Position11> 378 <Filename Value="U WebServer.pas"/>379 <Caret Line=" 132" Column="1" TopLine="115"/>332 <Filename Value="UHTTPServer.pas"/> 333 <Caret Line="210" Column="1" TopLine="193"/> 380 334 </Position11> 381 335 <Position12> 382 <Filename Value="U WebServer.pas"/>383 <Caret Line=" 134" Column="1" TopLine="117"/>336 <Filename Value="UHTTPServer.pas"/> 337 <Caret Line="211" Column="1" TopLine="194"/> 384 338 </Position12> 385 339 <Position13> 386 <Filename Value="U WebServer.pas"/>387 <Caret Line=" 137" Column="1" TopLine="120"/>340 <Filename Value="UHTTPServer.pas"/> 341 <Caret Line="212" Column="1" TopLine="195"/> 388 342 </Position13> 389 343 <Position14> 390 <Filename Value="U SqlDatabase.pas"/>391 <Caret Line=" 174" Column="1" TopLine="157"/>344 <Filename Value="UWebServer.pas"/> 345 <Caret Line="52" Column="54" TopLine="30"/> 392 346 </Position14> 393 347 <Position15> 394 <Filename Value="U SqlDatabase.pas"/>395 <Caret Line=" 176" Column="1" TopLine="159"/>348 <Filename Value="UWebServer.pas"/> 349 <Caret Line="296" Column="27" TopLine="277"/> 396 350 </Position15> 397 351 <Position16> 398 <Filename Value="U SqlDatabase.pas"/>399 <Caret Line="1 77" Column="1" TopLine="160"/>352 <Filename Value="UWebServer.pas"/> 353 <Caret Line="135" Column="23" TopLine="131"/> 400 354 </Position16> 401 355 <Position17> 402 <Filename Value="U SqlDatabase.pas"/>403 <Caret Line=" 179" Column="1" TopLine="162"/>356 <Filename Value="UCustomWebServer.pas"/> 357 <Caret Line="34" Column="34" TopLine="7"/> 404 358 </Position17> 405 359 <Position18> 406 <Filename Value="U SqlDatabase.pas"/>407 <Caret Line=" 181" Column="25" TopLine="164"/>360 <Filename Value="UWebServer.pas"/> 361 <Caret Line="65" Column="1" TopLine="50"/> 408 362 </Position18> 409 363 <Position19> 410 <Filename Value="U WebServer.pas"/>411 <Caret Line=" 128" Column="1" TopLine="111"/>364 <Filename Value="UCustomWebServer.pas"/> 365 <Caret Line="380" Column="13" TopLine="281"/> 412 366 </Position19> 413 367 <Position20> 414 <Filename Value="U WebServer.pas"/>415 <Caret Line=" 129" Column="1" TopLine="112"/>368 <Filename Value="UCustomWebServer.pas"/> 369 <Caret Line="34" Column="24" TopLine="17"/> 416 370 </Position20> 417 371 <Position21> 418 <Filename Value="U WebServer.pas"/>419 <Caret Line=" 130" Column="1" TopLine="113"/>372 <Filename Value="UCustomWebServer.pas"/> 373 <Caret Line="339" Column="1" TopLine="335"/> 420 374 </Position21> 421 375 <Position22> 422 376 <Filename Value="UWebServer.pas"/> 423 <Caret Line="1 32" Column="1" TopLine="115"/>377 <Caret Line="19" Column="8" TopLine="19"/> 424 378 </Position22> 425 379 <Position23> 426 <Filename Value="U WebServer.pas"/>427 <Caret Line=" 134" Column="1" TopLine="117"/>380 <Filename Value="UCustomWebServer.pas"/> 381 <Caret Line="36" Column="5" TopLine="3"/> 428 382 </Position23> 429 383 <Position24> 430 <Filename Value=" UWebServer.pas"/>431 <Caret Line="1 37" Column="1" TopLine="120"/>384 <Filename Value="WoWHostingWebServer.lpr"/> 385 <Caret Line="17" Column="21" TopLine="1"/> 432 386 </Position24> 433 387 <Position25> 434 <Filename Value=" USqlDatabase.pas"/>435 <Caret Line=" 174" Column="1" TopLine="157"/>388 <Filename Value="WoWHostingWebServer.lpr"/> 389 <Caret Line="24" Column="23" TopLine="1"/> 436 390 </Position25> 437 391 <Position26> 438 <Filename Value="U SqlDatabase.pas"/>439 <Caret Line="1 76" Column="1" TopLine="159"/>392 <Filename Value="UCustomWebServer.pas"/> 393 <Caret Line="160" Column="30" TopLine="136"/> 440 394 </Position26> 441 395 <Position27> 442 <Filename Value="U SqlDatabase.pas"/>443 <Caret Line=" 177" Column="1" TopLine="160"/>396 <Filename Value="UHTMLControls.pas"/> 397 <Caret Line="55" Column="18" TopLine="34"/> 444 398 </Position27> 445 399 <Position28> 446 <Filename Value="U SqlDatabase.pas"/>447 <Caret Line="1 79" Column="1" TopLine="162"/>400 <Filename Value="UCustomWebServer.pas"/> 401 <Caret Line="160" Column="57" TopLine="142"/> 448 402 </Position28> 449 403 <Position29> 450 <Filename Value=" UWebServer.pas"/>451 <Caret Line=" 193" Column="1" TopLine="169"/>404 <Filename Value="WoWHostingWebServer.lpr"/> 405 <Caret Line="21" Column="47" TopLine="1"/> 452 406 </Position29> 453 407 <Position30> 454 <Filename Value="U SqlDatabase.pas"/>455 <Caret Line=" 178" Column="20" TopLine="164"/>408 <Filename Value="UHTMLControls.pas"/> 409 <Caret Line="47" Column="18" TopLine="24"/> 456 410 </Position30> 457 411 </JumpHistory> -
branches/DirectWeb/WoWHostingWebServer.lpr
r88 r91 10 10 {$ENDIF} 11 11 {$ENDIF} 12 Classes, SysUtils, U WebServer;12 Classes, SysUtils, UCustomWebServer; 13 13 14 14 {$IFDEF WINDOWS}{$R WoWHostingWebServer.rc}{$ENDIF} 15 15 16 16 var 17 WebServer: T WebServer;17 WebServer: TCustomWebServer; 18 18 begin 19 WebServer := T WebServer.Create;19 WebServer := TCustomWebServer.Create; 20 20 with WebServer do begin 21 21 Run;
Note:
See TracChangeset
for help on using the changeset viewer.