Selaa lähdekoodia

Quick.Config UseEnumNames optional

Unknown 6 vuotta sitten
vanhempi
commit
4fc525529f
2 muutettua tiedostoa jossa 10 lisäystä ja 7 poistoa
  1. 6 3
      Quick.Config.Base.pas
  2. 4 4
      Quick.Config.Json.pas

+ 6 - 3
Quick.Config.Base.pas

@@ -7,7 +7,7 @@
   Author      : Kike Pérez
   Version     : 1.5
   Created     : 26/01/2017
-  Modified    : 25/01/2019
+  Modified    : 12/02/2019
 
   This file is part of QuickLib: https://github.com/exilon/QuickLib
 
@@ -65,6 +65,7 @@ type
   private
     fCreateIfNotExists : Boolean;
     fSerializeLevel : TSerializeProperty;
+    fUseEnumNames : Boolean;
   protected
     procedure Load(cConfig : TAppConfig); virtual; abstract;
     procedure Save(cConfig : TAppConfig); virtual; abstract;
@@ -72,6 +73,7 @@ type
     constructor Create; virtual;
     property CreateIfNotExists : Boolean read fCreateIfNotExists write fCreateIfNotExists;
     property SerializeLevel : TSerializeProperty read fSerializeLevel write fSerializeLevel;
+    property UseEnumNames : Boolean read fUseEnumNames write fUseEnumNames;
   end;
 
   TApplyConfigEvent = procedure of object;
@@ -123,6 +125,7 @@ constructor TAppConfigProvider.Create;
 begin
   fCreateIfNotExists := True;
   fSerializeLevel := spPublished;
+  fUseEnumNames := True;
 end;
 
 { TAppConfig }
@@ -158,7 +161,7 @@ var
 begin
   Result := '';
   try
-    serializer := TJsonSerializer.Create(slPublishedProperty);
+    serializer := TJsonSerializer.Create(slPublishedProperty,fProvider.UseEnumNames);
     try
       Result := serializer.ObjectToJSON(Self,fJsonIndent);
     finally
@@ -174,7 +177,7 @@ var
   Serializer : TJsonSerializer;
 begin
   try
-    serializer := TJsonSerializer.Create(slPublishedProperty);
+    serializer := TJsonSerializer.Create(slPublishedProperty,fProvider.UseEnumNames);
     try
       serializer.JsonToObject(Self,json);
     finally

+ 4 - 4
Quick.Config.Json.pas

@@ -7,7 +7,7 @@
   Author      : Kike Pérez
   Version     : 1.5
   Created     : 21/10/2017
-  Modified    : 25/01/2019
+  Modified    : 12/02/2019
 
   This file is part of QuickLib: https://github.com/exilon/QuickLib
 
@@ -163,7 +163,7 @@ end;
 procedure TAppConfigJsonProvider.Load(cConfig : TAppConfig);
 var
   json : TStrings;
-  Serializer : TJsonSerializer;
+  serializer : TJsonSerializer;
 begin
   if (not FileExists(fFilename)) and (CreateIfNotExists) then
   begin
@@ -175,7 +175,7 @@ begin
     json := TStringList.Create;
     try
       json.LoadFromFile(fFilename);
-      serializer := TJsonSerializer.Create(slPublishedProperty);
+      serializer := TJsonSerializer.Create(slPublishedProperty,UseEnumNames);
       try
         //Streamer.Options := Streamer.Options + [jsoDateTimeAsString ,jsoUseFormatString];
         //Streamer.DateTimeFormat := 'yyyy-mm-dd"T"hh:mm:ss.zz';
@@ -207,7 +207,7 @@ begin
   try
     json := TStringList.Create;
     try
-      serializer := TJsonSerializer.Create(TSerializeLevel.slPublishedProperty);
+      serializer := TJsonSerializer.Create(TSerializeLevel.slPublishedProperty,UseEnumNames);
       try
         //Streamer.Options := Streamer.Options + [jsoDateTimeAsString ,jsoUseFormatString];
         //Streamer.DateTimeFormat := 'yyyy-mm-dd"T"hh:mm:ss.zz';