OSDN Git Service

title表示を書き直した シンプルになった
authoryamat0jp <terukohietori@gmail.com>
Mon, 20 Jan 2020 13:43:49 +0000 (22:43 +0900)
committeryamat0jp <terukohietori@gmail.com>
Mon, 20 Jan 2020 13:43:49 +0000 (22:43 +0900)
WebModuleUnit1.dfm
WebModuleUnit1.pas

index 95f776f..5bba989 100644 (file)
@@ -1890,7 +1890,7 @@ object WebModule1: TWebModule1
         'abase></a>'#8595'</p>'
       '<div>'#12479#12452#12488#12523': <#title> ; '#35352#20107#25968': <#count> ; '#26356#26032#26178#21051': <#date></div><p>'
       '')
-    DataSet = FDTable2
+    DataSet = FDQuery1
     OnHTMLTag = tiHTMLTag
     Left = 48
     Top = 320
@@ -1972,14 +1972,6 @@ object WebModule1: TWebModule1
       Origin = '"SOURCE"'
     end
   end
-  object FDQuery1: TFDQuery
-    Connection = FDConnection1
-    SQL.Strings = (
-      'select dbnum,number,title from article'
-      ' where number = 1;')
-    Left = 624
-    Top = 184
-  end
   object FDTable4: TFDTable
     IndexFieldNames = 'ID'
     Connection = FDConnection1
@@ -2118,4 +2110,12 @@ object WebModule1: TWebModule1
     Left = 632
     Top = 256
   end
+  object FDQuery1: TFDQuery
+    Connection = FDConnection1
+    SQL.Strings = (
+      'select dbnum,title,max(date) from article '
+      ' group by dbnum order by max(date);')
+    Left = 616
+    Top = 184
+  end
 end
index d1eea68..a44faa5 100644 (file)
@@ -47,7 +47,6 @@ type
     FDTable2DATE: TDateField;
     FDTable2PASS: TWideStringField;
     FDTable5: TFDTable;
-    FDQuery1: TFDQuery;
     FDTable4: TFDTable;
     FDTable4ID: TIntegerField;
     FDTable4DBNAME: TIntegerField;
@@ -73,6 +72,7 @@ type
     footer: TPageProducer;
     FDTable3mente: TBooleanField;
     FDGUIxWaitCursor1: TFDGUIxWaitCursor;
+    FDQuery1: TFDQuery;
     procedure indexHTMLTag(Sender: TObject; Tag: TTag; const TagString: string;
       TagParams: TStrings; var ReplaceText: string);
     procedure WebModule1indexpageAction(Sender: TObject; Request: TWebRequest;
@@ -714,11 +714,7 @@ begin
   else if TagString = 'database' then
     ReplaceText := FDTable1.FieldByName('database').AsString
   else if TagString = 'date' then
-    with FDTable2 do
-    begin
-      Last;
-      ReplaceText := FieldByName('date').AsString;
-    end;
+    ReplaceText := FDQuery1.FieldByName('max(date)').AsString;
 end;
 
 procedure TWebModule1.titleHTMLTag(Sender: TObject; Tag: TTag;
@@ -733,18 +729,11 @@ begin
   else if TagString = 'main' then
   begin
     FDQuery1.Open;
-    FDTable1.First;
-    while (FDQuery1.Eof = false) and (FDTable1.Eof = false) do
+    while FDQuery1.Eof = false do
     begin
-      if FDTable1.FieldByName('dbnum').AsInteger = FDQuery1.FieldByName('dbnum')
-        .AsInteger then
-      begin
-        ReplaceText := ReplaceText + ti.Content;
-        FDQuery1.Next;
-      end
-      else if FDTable2.Eof = false then
-        ReplaceText := ReplaceText + ti.Content;
-      FDTable1.Next;
+      FDTable1.Locate('dbnum',FDQuery1.FieldByName('dbnum').AsInteger);
+      ReplaceText:=ReplaceText+ti.Content;
+      FDQuery1.Next;
     end;
     FDQuery1.Close;
   end;