OSDN Git Service

variant は扱いが難しそうでした
authoryamat0jp <terukohietori@gmail.com>
Fri, 10 Jan 2020 08:28:55 +0000 (17:28 +0900)
committeryamat0jp <terukohietori@gmail.com>
Fri, 10 Jan 2020 08:28:55 +0000 (17:28 +0900)
Project3.dproj
WebModuleUnit1.dfm
WebModuleUnit1.pas

index 24db392..521fa38 100644 (file)
                 </Source>
             </Delphi.Personality>
             <Deployment>
-                <DeployFile LocalName="Win32\Debug\Project3.exe" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName="Win32\Release\Project3.exe" Configuration="Release" Class="ProjectOutput">
                     <Platform Name="Win32">
                         <RemoteName>Project3.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName="Win32\Release\Project3.exe" Configuration="Release" Class="ProjectOutput">
+                <DeployFile LocalName="Win32\Debug\Project3.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
                         <RemoteName>Project3.exe</RemoteName>
                         <Overwrite>true</Overwrite>
index c674804..9980374 100644 (file)
@@ -425,7 +425,7 @@ object WebModule1: TWebModule1
       '<input type=radio name=delete value=all>'#12377#12409#12390#28040#21435
       '<input type=submit value="'#36865#20449'">'
       '</form>'
-      '<p style=text-align:center><a href=/logout?db=master>'#12525#12464#12450#12454#12488'</a>'
+      '<p style=text-align:center><a href=/logout>'#12525#12464#12450#12454#12488'</a>'
       '<p style=text-align:center><a href=/>'#25147#12427'</a>'
       '</body></html>')
     OnHTMLTag = masterHTMLTag
index 1621d97..deb7043 100644 (file)
@@ -623,8 +623,9 @@ var
   s, t: string;
   i: Integer;
 begin
-  s:=Request.CookieFields.Values['user'];
-  if (s = '')or(hash(s) <> DataModule1.FDTable3.FieldByName('password').AsString) then
+  s := Request.CookieFields.Values['user'];
+  if (s = '') or (hash(s) <> DataModule1.FDTable3.FieldByName('password')
+    .AsString) then
   begin
     WebModule1loginAction(nil, Request, Response, Handled);
     Exit;
@@ -750,7 +751,7 @@ end;
 procedure TWebModule1.WebModule1helpAction(Sender: TObject;
   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 var
-  i, j: Integer;
+  i, j, k: Integer;
   s: string;
 begin
   Response.ContentType := 'text/html;charset=utf-8';
@@ -759,7 +760,9 @@ begin
     i := DataModule1.FDTable1.FieldByName('dbnum').AsInteger;;
     j := DataModule1.FDTable2.FieldByName('number').AsInteger;
     s := Request.ContentFields.Values['help'];
-    DataModule1.FDTable4.AppendRecord([i, j, s]);
+    DataModule1.FDTable4.Last;
+    k := DataModule1.FDTable4.FieldByName('ID').AsInteger + 1;
+    DataModule1.FDTable4.AppendRecord([k, i, j, Now, s]);
   end;
   Response.Content := help.Content;
 end;
@@ -879,7 +882,9 @@ end;
 procedure TWebModule1.WebModule1logoutAction(Sender: TObject;
   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 var
+  i: Integer;
   s: string;
+  x: Boolean;
 begin
   with Response.Cookies.Add do
   begin
@@ -887,7 +892,12 @@ begin
     Expires := Now - 1;
   end;
   s := Request.QueryFields.Values['db'];
-  if s = 'master' then
+  i := StrToIntDef(s, -1);
+  x := DataModule1.FDTable1.Locate('dbnum', i);
+  if (x = true) and (DataModule1.FDTable1.FieldByName('database')
+    .AsString = 'master') then
+    x := false;
+  if x = false then
     Response.SendRedirect('/')
   else
     Response.SendRedirect('/index?db=' + s);