Skip to content

Commit ca1ca92

Browse files
committed
add/defaults-question-view
1 parent 73479d3 commit ca1ca92

File tree

6 files changed

+173
-2
lines changed

6 files changed

+173
-2
lines changed

Package/DelphiAIDeveloper.dpk

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ contains
7777
C4D.Conn.Utils in '..\Src\Conn\C4D.Conn.Utils.pas',
7878
DelphiAIDev.DefaultsQuestions.View in '..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.View.pas' {DelphiAIDevDefaultsQuestionsView},
7979
DelphiAIDev.Utils.ListView in '..\Src\Utils\DelphiAIDev.Utils.ListView.pas',
80-
DelphiAIDev.Utils.GetIniPositionStr in '..\Src\Utils\DelphiAIDev.Utils.GetIniPositionStr.pas';
80+
DelphiAIDev.Utils.GetIniPositionStr in '..\Src\Utils\DelphiAIDev.Utils.GetIniPositionStr.pas',
81+
DelphiAIDev.DefaultsQuestions.Model in '..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.Model.pas',
82+
DelphiAIDev.DefaultsQuestions.Interfaces in '..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.Interfaces.pas',
83+
DelphiAIDev.DefaultsQuestions.Dao in '..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.Dao.pas';
8184

8285
end.

Package/DelphiAIDeveloper.dproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@
181181
</DCCReference>
182182
<DCCReference Include="..\Src\Utils\DelphiAIDev.Utils.ListView.pas"/>
183183
<DCCReference Include="..\Src\Utils\DelphiAIDev.Utils.GetIniPositionStr.pas"/>
184+
<DCCReference Include="..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.Model.pas"/>
185+
<DCCReference Include="..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.Interfaces.pas"/>
186+
<DCCReference Include="..\Src\DefaultsQuestions\DelphiAIDev.DefaultsQuestions.Dao.pas"/>
184187
<RcItem Include="Img\c4d_gear.bmp">
185188
<ResourceType>BITMAP</ResourceType>
186189
<ResourceId>c4d_gear</ResourceId>
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
unit DelphiAIDev.DefaultsQuestions.Dao;
2+
3+
interface
4+
5+
uses
6+
System.SysUtils,
7+
System.Classes,
8+
DelphiAIDev.DefaultsQuestions.Interfaces,
9+
DelphiAIDev.DefaultsQuestions.Model;
10+
11+
type
12+
TDelphiAIDevDefaultsQuestionsDao = class(TInterfacedObject, IDelphiAIDevDefaultsQuestionsDao)
13+
private
14+
protected
15+
procedure ReadData(AProc: TProc<TDelphiAIDevDefaultsQuestionsModel>);
16+
public
17+
class function New: IDelphiAIDevDefaultsQuestionsDao;
18+
end;
19+
20+
implementation
21+
22+
class function TDelphiAIDevDefaultsQuestionsDao.New: IDelphiAIDevDefaultsQuestionsDao;
23+
begin
24+
Result := Self.Create;
25+
end;
26+
27+
procedure TDelphiAIDevDefaultsQuestionsDao.ReadData(AProc: TProc<TDelphiAIDevDefaultsQuestionsModel>);
28+
var
29+
i: Integer;
30+
LModel: TDelphiAIDevDefaultsQuestionsModel;
31+
begin
32+
for i := 0 to 10 do
33+
begin
34+
LModel := TDelphiAIDevDefaultsQuestionsModel.Create;
35+
try
36+
LModel.Id := i;
37+
LModel.IdParent := i + 10;
38+
LModel.Question := 'Question ' + i.ToString;
39+
LModel.Order := i;
40+
LModel.Visible := True;
41+
LModel.CodeOnly := False;
42+
AProc(LModel);
43+
finally
44+
LModel.Free;
45+
end;
46+
end;
47+
48+
// LIniFile := Self.GetIniFile;
49+
// try
50+
// LSections := TStringList.Create;
51+
// try
52+
// LIniFile.ReadSections(LSections);
53+
// for i := 0 to Pred(LSections.Count) do
54+
// begin
55+
// LSessaoStr := LSections[i];
56+
// LModel := TC4DWizardOpenExternal.Create;
57+
// try
58+
// LModel.Guid := LSessaoStr;
59+
// LModel.Description := LIniFile.ReadString(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Description, '');
60+
// LModel.Path := LIniFile.ReadString(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Path, '');
61+
// LModel.Parameters := LIniFile.ReadString(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Parameters, '');
62+
// LModel.Kind := TC4DWizardUtils.StrToOpenExternalKind(LIniFile.ReadString(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Kind, ''));
63+
// LModel.Visible := LIniFile.ReadBool(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Visible, True);
64+
// LModel.VisibleInToolBarUtilities := LIniFile.ReadBool(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_VisibleInToolBarUtilities, False);
65+
// LModel.Order := LIniFile.ReadInteger(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Order, 0);
66+
// LModel.Shortcut := LIniFile.ReadString(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_Shortcut, '');
67+
// LModel.IconHas := LIniFile.ReadBool(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_IconHas, False);
68+
// LModel.GuidMenuMaster := LIniFile.ReadString(LSessaoStr, TC4DConsts.OPEN_EXTERNAL_INI_GuidMenuMaster, '');
69+
// AProc(LModel);
70+
// finally
71+
// LModel.Free;
72+
// end;
73+
// end;
74+
// finally
75+
// LSections.Free;
76+
// end;
77+
// finally
78+
// LIniFile.Free;
79+
// end;
80+
end;
81+
82+
end.
83+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
unit DelphiAIDev.DefaultsQuestions.Interfaces;
2+
3+
interface
4+
5+
uses
6+
System.SysUtils,
7+
DelphiAIDev.DefaultsQuestions.Model;
8+
9+
type
10+
IDelphiAIDevDefaultsQuestionsDao = interface
11+
['{3399A776-4B23-4CFC-8992-568AE07FE065}']
12+
procedure ReadData(AProc: TProc<TDelphiAIDevDefaultsQuestionsModel>);
13+
end;
14+
15+
implementation
16+
17+
end.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
unit DelphiAIDev.DefaultsQuestions.Model;
2+
3+
interface
4+
5+
type
6+
TDelphiAIDevDefaultsQuestionsModel = class
7+
private
8+
FId: Integer;
9+
FIdParent: Integer;
10+
FQuestion: string;
11+
FOrder: Integer;
12+
FVisible: Boolean;
13+
FCodeOnly: Boolean;
14+
public
15+
constructor Create;
16+
procedure Clear;
17+
18+
property Id: Integer read FId write FId;
19+
property IdParent: Integer read FIdParent write FIdParent;
20+
property Question: string read FQuestion write FQuestion;
21+
property Order: Integer read FOrder write FOrder;
22+
property Visible: Boolean read FVisible write FVisible;
23+
property CodeOnly: Boolean read FCodeOnly write FCodeOnly;
24+
end;
25+
26+
implementation
27+
28+
constructor TDelphiAIDevDefaultsQuestionsModel.Create;
29+
begin
30+
Self.Clear;
31+
end;
32+
33+
procedure TDelphiAIDevDefaultsQuestionsModel.Clear;
34+
begin
35+
FId := 0;
36+
FIdParent := 0;
37+
FQuestion := '';
38+
FOrder := 0;
39+
FVisible := True;
40+
FCodeOnly := False;
41+
end;
42+
43+
end.

Src/DefaultsQuestions/DelphiAIDev.DefaultsQuestions.View.pas

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ interface
1212
Vcl.StdCtrls,
1313
Vcl.ExtCtrls,
1414
Vcl.ComCtrls,
15-
DelphiAIDev.Utils.ListView;
15+
DelphiAIDev.Utils.ListView,
16+
DelphiAIDev.DefaultsQuestions.Dao,
17+
DelphiAIDev.DefaultsQuestions.Model;
1618

1719
type
1820
TDelphiAIDevDefaultsQuestionsView = class(TForm)
@@ -167,6 +169,26 @@ procedure TDelphiAIDevDefaultsQuestionsView.ReloadData;
167169
LId := ListViewHistory.Items[ListViewHistory.Selected.Index].SubItems[C_INDEX_SUBITEM_Id];
168170

169171
ListViewHistory.Clear;
172+
173+
TDelphiAIDevDefaultsQuestionsDao.New.ReadData(
174+
procedure(AModel: TDelphiAIDevDefaultsQuestionsModel)
175+
begin
176+
if(LStrSearch.Trim.IsEmpty)
177+
or(AModel.Question.ToLower.Contains(LStrSearch))
178+
then
179+
begin
180+
LListItem := ListViewHistory.Items.Add;
181+
LListItem.Caption := AModel.Question;
182+
LListItem.ImageIndex := -1;
183+
LListItem.SubItems.Add(AModel.Order.Tostring);
184+
LListItem.SubItems.Add(TUtils.BoolToStrC4D(AModel.Visible));
185+
LListItem.SubItems.Add(TUtils.BoolToStrC4D(AModel.CodeOnly));
186+
LListItem.SubItems.Add(AModel.Id.ToString);
187+
LListItem.SubItems.Add(AModel.IdParent.Tostring);
188+
end;
189+
end
190+
);
191+
170192
{TC4DWizardOpenExternalModel.New.ReadIniFile(
171193
procedure(AC4DWizardOpenExternal: TC4DWizardOpenExternal)
172194
begin

0 commit comments

Comments
 (0)