Difference between revisions of "ReNamer:Pascal Script:FileName Utilities"

From den4b Wiki
Jump to navigation Jump to search
m (Text replacement - "<source>" to "<syntaxhighlight lang="pascal">")
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
Line 11: Line 11:
 
   FileName := FileName + '_part2';
 
   FileName := FileName + '_part2';
 
end.
 
end.
</source>
+
</syntaxhighlight>
  
 
What we've got is "''file.txt_part2''" and that's probably not what we expected, but it's purely logical. We added together "''file.txt''" and "''_part2''". The result is correct. So what should we do when we want to add something after the filename but before the extention? There is no "skip extention" option for PascalScript rules. The answer is simple: we need to split the FileName into base filename and extention and insert "''_part2''" in between.
 
What we've got is "''file.txt_part2''" and that's probably not what we expected, but it's purely logical. We added together "''file.txt''" and "''_part2''". The result is correct. So what should we do when we want to add something after the filename but before the extention? There is no "skip extention" option for PascalScript rules. The answer is simple: we need to split the FileName into base filename and extention and insert "''_part2''" in between.
Line 21: Line 21:
 
   FileName := WideExtractBaseName(FileName) + '_part2' + WideExtractFileExt(FileName);
 
   FileName := WideExtractBaseName(FileName) + '_part2' + WideExtractFileExt(FileName);
 
end.
 
end.
</source>
+
</syntaxhighlight>
  
 
And that's it. The result for "''file.txt''" is ''<nowiki>'</nowiki>file_part2.txt<nowiki>’</nowiki>''.
 
And that's it. The result for "''file.txt''" is ''<nowiki>'</nowiki>file_part2.txt<nowiki>’</nowiki>''.

Latest revision as of 16:05, 8 February 2017

Basic FileName Utilities or How to skip extention

A FileName variable is a string, so we can do with it anything that we could do with a string.

We already know how to concatenate (add together) strings. We did that in the previous chapter, when we were adding a prefix to a FileName. Let's try to add a postfix now. As before we will use a constant string '_part2' (constant strings in Pascal need to be enclosed in apostrophes) and concatenation operator (+).

begin
  FileName := FileName + '_part2';
end.

What we've got is "file.txt_part2" and that's probably not what we expected, but it's purely logical. We added together "file.txt" and "_part2". The result is correct. So what should we do when we want to add something after the filename but before the extention? There is no "skip extention" option for PascalScript rules. The answer is simple: we need to split the FileName into base filename and extention and insert "_part2" in between.

At that point ReNamer comes in hand with its standard procedures and functions. We will take a look on two main functions that you can find among FileName Utilities: WideExtractBaseName and WideExtractFileExt functions. I guess their names are clear enough. So let's write our code.

begin
  FileName := WideExtractBaseName(FileName) + '_part2' + WideExtractFileExt(FileName);
end.

And that's it. The result for "file.txt" is 'file_part2.txt’.