Skip to content

Commit 67890bc

Browse files
committed
bk/2024-09-16-1404
1 parent 2d9549d commit 67890bc

File tree

4 files changed

+48
-9
lines changed

4 files changed

+48
-9
lines changed

Src/AI/DelphiAIDev.AI.pas

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ procedure TDelphiAIDevAI.ProcessSend(const AQuestion: string);
5656
LQuestion := TUtils.AdjustQuestionToJson(AQuestion);
5757
FResponse.Clear;
5858

59+
if TUtils.InDebugMy then
60+
TUtils.AddLogDeleteFileFirst(LQuestion, 'DelphiAIDevAI_ProcessSend');
61+
5962
case FAiUse of
6063
TC4DAiAvailable.Gemini:
6164
FResponse.Text := TDelphiAIDevAIGemini.New(FSettings).GetResponse(LQuestion);

Src/Test/DelphiAIDev.Test.Client.pas

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ TDelphiAIDevTestClient = class
1010
FBairro: string;
1111
FNumero: Integer;
1212
FTelefone: string;
13-
1413
public
1514
property Nome: string read FNome write FNome;
1615
property Endereco: string read FEndereco write FEndereco;

Src/Types/DelphiAIDev.Types.pas

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,14 +175,27 @@ function TC4DLanguageHelper.GetMsgJSONInformedAnswerQuestion: string;
175175
function TC4DLanguageHelper.GetMsgCodeCompletionSuggestion: string;
176176
begin
177177
Result := 'Com base no seguinte código delphi, de uma sugestão ' +
178-
'de código para ser adicionado onde esta o comentário //Suggestion';
178+
'de código para ser adicionado onde esta o comentário %s ' + sLineBreak +
179+
'Importante: antes do implementation e dentro dos especificadores '+
180+
'private, protected, public, published deve-se adicionar apenas declarações '+
181+
'e nunca se deve adicionar implementações de códigos delphi que contenham begin. ' + sLineBreak +
182+
'Nas sugestões, nunca repita um código que já exista. ';
179183
case Self of
180184
TC4DLanguage.en:
181-
Result := 'Based on the following Delphi code, give a suggestion of code to be added where the comment //Suggestion is';
185+
Result := 'Based on the following Delphi code, give a suggestion of code to be added where the comment %s is ' + sLineBreak +
186+
'Important: before implementation and within the '+
187+
'private, protected, public, published specifiers, you should only add declarations '+
188+
'and never add Delphi code implementations that contain begin. '+ sLineBreak +
189+
'In suggestions, never repeat code that already exists. ';
182190
TC4DLanguage.es:
183-
Result := 'Basado en el siguiente código Delphi, se agregará una sugerencia de código donde está el comentario //Sugerencia';
191+
Result := 'Basado en el siguiente código Delphi, se agregará una sugerencia de código donde está el comentario %s ' + sLineBreak +
192+
'Importante: antes de la implementación y dentro de los especificadores '+
193+
'privados, protegidos, públicos y publicados, solo se deben agregar declaraciones '+
194+
'y nunca se deben agregar implementaciones de códigos Delphi que contienen begin. ' + sLineBreak +
195+
'En sugerencias, nunca repita código que ya existe. ';
184196
end;
185197

198+
Result := Format(Result, [TConsts.TAG_CODE_COMPLETION]);
186199
Result := Result + sLineBreak;
187200
end;
188201

Src/Utils/DelphiAIDev.Utils.pas

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ TUtils = class
3636
class procedure DriverIDFillItemsTStrings(AStrings: TStrings);
3737
class procedure DefaultsQuestionsKindFillItemsTStrings(AStrings: TStrings);
3838
class function AdjustQuestionToJson(const AValue: string): string;
39+
class function InDebugMy: Boolean;
3940
class procedure AddLog(const AMessage: string);
41+
class procedure AddLogDeleteFileFirst(const AMessage: string; const ANameFile: string);
42+
class procedure AddLogInFileTxt(const AMessage: string; const ANameFile: string; ADeleteFileFirst: Boolean = False);
4043
class function GetFileName(const AExtension: string): string;
4144
class procedure MemoFocusOnTheEnd(const AMemo: TMemo);
4245
class function IfThenColor(const Conditional: Boolean; const AColorTrue, AColorFalse: TColor): TColor;
@@ -210,11 +213,24 @@ class function TUtils.AdjustQuestionToJson(const AValue: string): string;
210213
Result := Result.Replace('\\"', '\"', [rfReplaceAll, rfIgnoreCase]);
211214
end;
212215

213-
216+
class function TUtils.InDebugMy: Boolean;
217+
begin
218+
Result := FileExists('C:\Temp\DelphiAIDev\DebugOn.c4d');
219+
end;
214220

215221
class procedure TUtils.AddLog(const AMessage: string);
222+
begin
223+
Self.AddLogInFileTxt(AMessage, FormatDateTime('yyyy-mm-dd', Now));
224+
end;
225+
226+
class procedure TUtils.AddLogDeleteFileFirst(const AMessage: string; const ANameFile: string);
227+
begin
228+
Self.AddLogInFileTxt(AMessage, ANameFile, True);
229+
end;
230+
231+
class procedure TUtils.AddLogInFileTxt(const AMessage: string; const ANameFile: string; ADeleteFileFirst: Boolean = False);
216232
const
217-
DIRECTORY = 'C:\Temp\DelphiAIDev\';
233+
DIRECTORY = 'C:\Temp\DelphiAIDev\Logs\';
218234
var
219235
LFileName: string;
220236
LTextFile: TextFile;
@@ -223,19 +239,27 @@ class procedure TUtils.AddLog(const AMessage: string);
223239
if not(DirectoryExists(DIRECTORY)) then
224240
ForceDirectories(DIRECTORY);
225241

226-
LFileName := DIRECTORY + FormatDateTime('yyyy-mm-dd', Now) + '.txt';
242+
LFileName := DIRECTORY + ANameFile + '.txt';
243+
244+
if ADeleteFileFirst then
245+
begin
246+
if FileExists(LFileName)then
247+
DeleteFile(LFileName);
248+
end;
249+
227250
AssignFile(LTextFile, LFileName);
228251
if not FileExists(LFileName)then
229252
Rewrite(LTextFile);
230253
Append(LTextFile);
231254
Writeln(LTextFile, Format('%s: %s', [DateTimeToStr(Now), AMessage]));
232255
CloseFile(LTextFile);
233256
except
234-
// on E: Exception do
235-
// ShowMsg('Unable to generate log. Message: ' + E.Message + sLineBreak + 'Filename: ' + LFileName);
257+
//on E: Exception do
258+
// ShowMsg('Unable to generate log. Message: ' + E.Message + sLineBreak + 'Filename: ' + LFileName);
236259
end;
237260
end;
238261

262+
239263
class function TUtils.GetFileName(const AExtension: string): string;
240264
var
241265
LFileName: string;

0 commit comments

Comments
 (0)