As a general remark to your 'problem':
In case you have difficulty understanding the usage of insert and other 'constructions' on strings then might i suggest the use of
WriteStr ?
If you want to make the code readable then the use of WriteStr will require you to do a few extra steps, but in doing so that also leads to much clearer code and is more in line with what human do namely writing strings from left to right. (well, in some parts of the world, that is).
Under normal cisrcumstances i would suggest to make use of the function
Format but i'm guessing that you are not at liberty to use that function because it is part of unit SysUtils.
In case you insist (which is not wrong) on using Insert, then do it step by step and print out the results by every step you take in your code. Under normal circumstances i would say: use the debugger and see what every variable holds by each line that is being executed. That way you are able to see what your code is actually doing.
Even using the function
Concat or the plain '+' operator on strings will lead to code that is clearer to read and more humanly understandable then using the function Insert.