@@ -211,11 +211,22 @@ public static void GenerateDatadictionaryCSV(CsvDefinition csvdef)
211
211
INotepadPPGateway notepad = new NotepadPPGateway ( ) ;
212
212
IScintillaGateway editor = new ScintillaGateway ( PluginBase . GetCurrentScintilla ( ) ) ;
213
213
214
+ CsvDefinition datadict = new CsvDefinition ( ',' ) ;
215
+
216
+ datadict . AddColumn ( "Nr" , 8 , ColumnType . Integer ) ;
217
+ datadict . AddColumn ( "ColumnName" , 1000 , ColumnType . String ) ;
218
+ datadict . AddColumn ( "DataType" , 1000 , ColumnType . String ) ;
219
+ datadict . AddColumn ( "Width" , 8 , ColumnType . Integer ) ;
220
+ datadict . AddColumn ( "Decimals" , 8 , ColumnType . Integer ) ;
221
+ datadict . AddColumn ( "Mask" , 1000 , ColumnType . String ) ;
222
+ datadict . AddColumn ( "Enumeration" , 9999 , ColumnType . String ) ;
223
+
214
224
string FILE_NAME = Path . GetFileName ( notepad . GetCurrentFilePath ( ) ) ;
215
225
var separator = ( csvdef . Separator == '\0 ' ? "{fixed-width}" : csvdef . Separator . ToString ( ) ) ;
216
226
if ( separator == "\t " ) separator = "\\ t" ;
217
227
218
228
StringBuilder csvmeta = new StringBuilder ( ) ;
229
+ List < string > sl = new List < string > ( ) ;
219
230
220
231
// build CSV
221
232
csvmeta . Append ( "Nr,ColumnName,DataType,Width,Decimals,Mask,Enumeration\r \n " ) ;
@@ -249,13 +260,20 @@ public static void GenerateDatadictionaryCSV(CsvDefinition csvdef)
249
260
} ;
250
261
251
262
// enumeration
252
- if ( coldef . isCodedValue )
253
- {
254
- enumvals = string . Join ( "|" , coldef . CodedList ) ;
255
- enumvals = string . Format ( "\" {0}\" " , enumvals ) ; // use quotes
256
- }
257
-
258
- csvmeta . Append ( string . Format ( "{0},\" {1}\" ,{2},{3},{4},{5},{6}\r \n " , ( c + 1 ) , coldef . Name , dattyp , colwid , dec , mask , enumvals ) ) ;
263
+ if ( coldef . isCodedValue ) enumvals = string . Join ( "|" , coldef . CodedList ) ;
264
+
265
+ // add values as columns
266
+ sl . Clear ( ) ;
267
+ sl . Add ( ( c + 1 ) . ToString ( ) ) ; // Nr
268
+ sl . Add ( coldef . Name ) ; // ColumnName
269
+ sl . Add ( dattyp ) ; // DataType
270
+ sl . Add ( colwid ) ; // Width
271
+ sl . Add ( dec ) ; // Decimals
272
+ sl . Add ( mask ) ; // Mask
273
+ sl . Add ( enumvals ) ; // Enumeration
274
+
275
+ // Construct/format csv line
276
+ csvmeta . Append ( string . Format ( "{0}\r \n " , datadict . ConstructLine ( sl , false ) ) ) ;
259
277
}
260
278
261
279
// create new file
0 commit comments