OSDN Git Service

バグコードも減らしてきました
authoryamat0jp <terukohietori@gmail.com>
Sun, 8 Mar 2020 01:29:27 +0000 (10:29 +0900)
committeryamat0jp <terukohietori@gmail.com>
Sun, 8 Mar 2020 01:29:27 +0000 (10:29 +0900)
Unit1.pas
WebModuleUnit1.dfm
WebModuleUnit1.pas

index 979b5ef..f09424e 100644 (file)
--- a/Unit1.pas
+++ b/Unit1.pas
@@ -75,7 +75,6 @@ type
     function magid(name: string): integer;
     procedure magIdOff(id, magid: integer);
     procedure magIdOn(id, magid: integer);
-    function already(id: integer;const magnum: string): Boolean;
     procedure createMagId(id: integer; out Data: TJSONObject);
     procedure postMessage(id: integer; Data: TJSONObject);
     procedure createWriterId(Data: TJSONObject);
@@ -114,11 +113,6 @@ begin
   magList.AppendRecord([id, i]);
 end;
 
-function TDataModule1.already(id: integer; const magnum: string): Boolean;
-begin
-  result:=indexTable.Locate('readerId,magNum',VarArrayOf([id,magnum]));
-end;
-
 procedure TDataModule1.backNumber(id: integer; out Data: TJSONObject);
 const
   con = '\82±\82Ì\8bL\8e\96\82Í\8cö\8aJ\90§\8cÀ\82ª\82 \82è\82Ü\82·.';
@@ -165,7 +159,8 @@ begin
   FDQuery1.Open;
   i := FDQuery1.FieldByName('count').AsInteger + 1;
   mag.Append;
-  mag.FieldByName('magId').AsInteger := i;
+  mag.FieldByName('magId').AsInteger := id;
+  mag.FieldByName('magNum').AsString := 'MAG'+i.ToString;
   mag.FieldByName('day').AsDateTime := Date;
   mag.FieldByName('lastDay').AsDateTime := Date;
   mag.FieldByName('magName').AsString := Data.Values['magName'].Value;
@@ -446,8 +441,14 @@ begin
 end;
 
 function TDataModule1.magid(name: string): integer;
+var
+  v: Variant;
 begin
-  result := mag.Lookup('magname', name, 'magid');
+  v:=mag.Lookup('magNum', name, 'magid');
+  if VarIsNull(v) = true then
+    result:=0
+  else
+    result :=v;
 end;
 
 procedure TDataModule1.magIdOff(id, magid: integer);
@@ -458,7 +459,7 @@ end;
 
 procedure TDataModule1.magIdOn(id, magid: integer);
 begin
-  if (writer.Locate('readerid', id) = true) and
+  if (reader.Locate('readerid', id) = true) and
     (mag.Locate('magid', magid) = true) then
     indexTable.AppendRecord([id, magid]);
 end;
@@ -487,7 +488,10 @@ begin
     js.AddPair('day', mag.FieldByName('day').AsString);
     js.AddPair('lastDay', mag.FieldByName('lastDay').AsString);
     js.AddPair('count',v);
-    if (id = 0)or(indexTable.Locate('magid',id) = false) then
+    v:=magList.Lookup('magId',i,'writerId');
+    v:=writer.Lookup('writerId',v,'writer');
+    js.AddPair('writer',v);
+    if (id = 0)or(indexTable.Locate('readerId;magid',VarArrayOf([id,i])) = false) then
       js.AddPair('fun',TJSONFalse.Create)
     else
       js.AddPair('fun',TJSONTrue.Create);
index b0ca782..62441e1 100644 (file)
@@ -58,6 +58,11 @@ object WebModule1: TWebModule1
       OnAction = WebModule1loginAction
     end
     item
+      Name = 'login2'
+      PathInfo = '/writer/login'
+      OnAction = WebModule1login2Action
+    end
+    item
       MethodType = mtPost
       Name = 'logout'
       PathInfo = '/logout'
@@ -96,7 +101,7 @@ object WebModule1: TWebModule1
       '        <p>'#12354#12394#12383#12398#26412#26842#12391#12377
       '    {{#mag}}'
       '        <table border=1>'
-      '        <th>{{name}}<ht>'
+      '        <th>{{name}} writed by {{writer}}<ht>'
       '        <tr><td>{{day}}</td></tr>'
       '        <tr><td>{{lastDay}}</td></tr>'
       '        {{^enable}}<tr><td>'#20241#21002#20013'</td></tr>{{/enable}}'
@@ -152,7 +157,7 @@ object WebModule1: TWebModule1
       '    {{#items}}'
       '        {{#enable}}'
       '                <table border=1>'
-      '                <th>{{magName}}'
+      '                <th>{{magName}} writed by {{writer}}'
       '                        {{^fun}}{{#id}}'
       
         '                        <form method=post action=/reader/select?' +
@@ -307,4 +312,27 @@ object WebModule1: TWebModule1
     Left = 240
     Top = 24
   end
+  object writerLogin: TPageProducer
+    HTMLDoc.Strings = (
+      '<!DOCTYPE html>'
+      '<html lang="ja">'
+      '<head>'
+      '    <meta charset="UTF-8">'
+      
+        '    <meta name="viewport" content="width=device-width, initial-s' +
+        'cale=1.0">'
+      '    <title>Document</title>'
+      '</head>'
+      '<body>'
+      '        <p>'#35352#32773#29992#12525#12464#12452#12531
+      '        <form method=post action=/writer/login>'
+      '        <input type=text name=mail>'
+      '        <input type=password name=password>'
+      '        <input type=submit>'
+      '        </form>'
+      '</body>'
+      '</html>')
+    Left = 168
+    Top = 136
+  end
 end
index 6b38830..de8c0d1 100644 (file)
@@ -12,6 +12,7 @@ type
     writerData: TPageProducer;
     backnumber: TPageProducer;
     mainView: TPageProducer;
+    writerLogin: TPageProducer;
     procedure WebModule1DefaultHandlerAction(Sender: TObject;
       Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
     procedure WebModuleCreate(Sender: TObject);
@@ -37,6 +38,8 @@ type
       Response: TWebResponse; var Handled: Boolean);
     procedure WebModule1readerTopAction(Sender: TObject; Request: TWebRequest;
       Response: TWebResponse; var Handled: Boolean);
+    procedure WebModule1login2Action(Sender: TObject; Request: TWebRequest;
+      Response: TWebResponse; var Handled: Boolean);
   private
     { private \90é\8c¾ }
     writerId: integer;
@@ -64,7 +67,7 @@ procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
 var
   data: TJSONObject;
 begin
-  DataModule1.magListAll(readerId,data);
+  DataModule1.magListAll(readerId, data);
   if readerId = 0 then
     data.AddPair('id', TJSONFalse.Create)
   else
@@ -112,6 +115,20 @@ begin
   Response.ContentStream := mem;
 end;
 
+procedure TWebModule1.WebModule1login2Action(Sender: TObject;
+  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
+begin
+  case Request.MethodType of
+    mtGet:
+      begin
+        Response.ContentType := 'text/html;charset=utf-8';
+        Response.Content := writerLogin.Content;
+      end;
+    mtPost:
+      Response.SendRedirect('/writer/top');
+  end;
+end;
+
 procedure TWebModule1.WebModule1loginAction(Sender: TObject;
   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 var
@@ -226,7 +243,7 @@ begin
     mtDelete:
       DataModule1.magIdOff(readerId, id);
   end;
-  Handled:=false;
+  Handled := false;
 end;
 
 procedure TWebModule1.WebModule1writeMagAction(Sender: TObject;