Xcos:READC_f.sci localization 96/3496/5
Bernard DUJARDIN [Thu, 10 Mar 2011 09:17:45 +0000 (10:17 +0100)]
Make environment variable available in file name

Change-Id: Ibe449e9f436f5c57d1c9ec9b50c7e97d8fb6c94e
Signed-off-by: Bernard DUJARDIN <bernard.dujardin@contrib.scilab.org>

scilab/modules/scicos_blocks/macros/Sources/READC_f.sci

index 3103ded..0b0b39c 100644 (file)
@@ -1,7 +1,7 @@
-//  Scicos
+//  Xcos
 //
 //  Copyright (C) INRIA - METALAU Project <scicos@inria.fr>
-//  Copyright (C) 2011 - Bernard DUJARDIN
+//  Copyright 2011 - Bernard DUJARDIN <bernard.dujardin@contrib.scilab.org>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 //
 // See the file ../license.txt
 //
-// 03/02/2011   Bernard DUJARDIN
-// - Fix typo and messages
-// - Adding some checks on the user's inputs
-// - Begin to set file to the Scilab coding's standards
 
 function [x,y,typ] = READC_f(job,arg1,arg2)
 
@@ -58,102 +54,77 @@ function [x,y,typ] = READC_f(job,arg1,arg2)
         frmt = exprs(4)
 
         while %t do
-            [ok,tmask1,outmask,fname1,frmt1,M,N,offset,swap,exprs] = ...
-                scicos_getvalue( ...
-                    ["Set READC_f block parameters"; ...
-                     " "; ...
-                     "Read is done on a binary file" ...
-                    ], ...
-                    ["Time record selection"; ...
-                     "Outputs record selection"; ...
-                     "Input file name";
-                     "Input Format"; ...
-                     "Record size"; ...
-                     "Buffer size (in records)"; ...
-                     "Initial record index"; ...
-                     "Swap mode 0/1" ...
-                    ], ...
-                    list("vec", -1, "vec", -1, "str", 1, "str", 1, ...
-                        "vec", 1, "vec", 1,"vec", 1, "vec", 1 ...
-                    ),..
-                    exprs ...
-                    );
+            [ok,tmask1,outmask,fname1,frmt1,M,N,offset,swap,exprs] = scicos_getvalue([msprintf(gettext("Set %s block parameters"), "READC_f" );
+              " "; gettext("Read from C binary file")], [gettext("Time Record Selection"); gettext("Outputs Record Selection"); ..
+              gettext("Input File Name"); gettext("Input Format"); gettext("Record Size"); gettext("Buffer Size"); ..
+              gettext("Initial Record Index"); gettext("Swap Mode (0:No, 1:Yes)")], ..
+              list("vec", -1, "vec", -1, "str", 1, "str", 1, "vec", 1, "vec", 1,"vec", 1, "vec", 1), exprs);
 
             if ~ok then
                 break
 
             end //user cancel modification
 
-            fname1 = stripblanks(fname1)
+            fname1 = pathconvert(stripblanks(fname1), %f, %t)
             frmt1 = stripblanks(frmt1)
-            fmts = [ ...
-                "s","l","d","f","c","us","ul","uc","ull","uls","ubl","ubs",..
-                "dl","fl","ll","sl","db","fb","lb","sb"...
-                ];
+            fmts = [ "s","l","d","f","c","us","ul","uc","ull","uls","ubl","ubs","dl","fl","ll","sl","db","fb","lb","sb"];
 
             nout  =  size(outmask,"*")
 
             if prod(size( tmask1 )) > 1 then
-                message( ...
-                    "Time record selection must be a scalar or an empty matrix")
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter."), gettext("Time Record Selection")), ..
+                  gettext("Must be a scalar or an empty matrix."))
 
             elseif and(frmt1 <> fmts) then
-                message( ...
-                    ["Incorrect input format, valid formats are:"; ...
-                      strcat(fmts,', ')] ...
-                    );
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter: %s."), gettext("Input Format"), frmt1), ..
+                  gettext("Valid formats are: " + strcat(fmts,', ')));
 
             elseif alreadyran & fname1 <> fname then
-                message( ...
-                    ["You cannot modify Output file name when running"; ...
-                      "End current simulation first"] ...
-                    );
+                block_parameter_error(msprintf(gettext("You cannot modify ''%s'' when running"), gettext("Input File Name")), ..
+                  gettext("End current simulation first."));
 
             elseif N <> ipar(6) & alreadyran then
-                message(["You cannot modify buffer length when running"; ...
-                  "End current simulation first"])
+                block_parameter_error(msprintf(gettext("You cannot modify ''%s'' when running."), gettext("Buffer Size")), ..
+                  gettext("End current simulation first"));
 
             elseif alreadyran & size(tmask1) <> size(tmask) then
-                message( ...
-                    ["You cannot modify time management when running"; ...
-                     "End current simulation first"] ...
-                    );
+                block_parameter_error(msprintf(gettext("You cannot modify ''%s'' when running."), gettext("Time Record Selection")), ..
+                  gettext("End current simulation first."));
 
             elseif fname1 == "" then
-                message("You must provide a file name")
-
-            elseif M < 1 then
-                message("Record size must be at least 1")
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter."), gettext("Input File Name")), ..
+                  gettext("You must provide a file name."));
+             elseif M < 1 then
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter: %d."), gettext("Record Size"), M), ..
+                  gettext("Strictly positive integer expected."));
 
             elseif tmask1 ~= [] & (tmask1 < 1 | tmask1 > M) then
-                message( ...
-                    "Time record index must be positive and " ...
-                    + " at the most equal Record size=" + string (M) ...
-                    );
+              block_parameter_error(msprintf(gettext("Wrong value for  ''%s'' parameter: %d."), gettext("Time Record Selection"), tmask1), ..
+                msprintf(gettext("Must be in the interval %s."), gettext("[1, Record Size = ") + string (M)+"]"));
 
             elseif nout == 0 then
-                message("You must read at least one field in record")
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter: %d."), gettext("Outputs Record Selection"), nout), ..
+                  gettext("Strictly positive integer expected."));
 
             elseif nout > M then
-                message( ...
-                    "Number of outputs cannot be greater than  Record size = " ...
-                    + string (M) ...
-                    );
+              block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter: %d."), gettext("Outputs Record Selection"), nout), ..
+                msprintf(gettext("Must be in the interval %s."), gettext("[1, Record Size = ") + string (M)+"]"));
 
             elseif max(outmask) > M | min(outmask) < 1 then
-                  message( ...
-                      "Outputs record indexes must be positive and " ...
-                      + " at the most equal " + string (M) ...
-                      );
+              block_parameter_error(msprintf(gettext("Wrong value for indexes in ''%s'' parameter: %s."), gettext("Outputs Record Selection"),  strcat(string(outmask(:))," ")), ..
+                msprintf(gettext("Must be in the interval %s."), gettext("[1, Record Size = ") + string (M)+"]"));
 
             elseif N < 1 then
-                message("Buffer size must be at least 1")
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter: %d."), gettext("Buffer Size"), N), ..
+                  gettext("Strictly positive integer expected."));
 
             elseif swap <> 0 & swap <> 1 then
-                message("Swap mode must be 0 or 1")
+                block_parameter_error(msprintf(gettext("Wrong value for  ''%s'' parameter: %d."), gettext("Swap Mode"), swap), ..
+                  msprintf(gettext("Must be in the interval %s."), "[0, 1]"));
 
             elseif offset < 1 then
-                message("Initial record index must be strictly positive")
+                block_parameter_error(msprintf(gettext("Wrong value for ''%s'' parameter: %d."), gettext("Initial Record Index"), offset), ..
+                  gettext("Strictly positive integer expected."));
 
             else