You may also see "TEIMSI Documentation"
Table of contents
The editor and compiler is part of the TEIMSI project, to run properly it may need the files located on the folders the project includes.
Therefore TEIMSI may indicate the following:
⇒ The entire set of files that make up the project.
⇒ The programming language accepted by the editor and compiler.
⇒ The editor and compiler (program file named "EditorTEIMSI")
And since it's a programming text editor (note that this it's user manual), we can see that:
⇒ It meets the task of allowing viewing and modifying programmed texts or any type of files which contain readable texts (not binary files).
⇒ It allows to compile and assemble a .Exe or .Dll file using the text of a file being edited. As requirements for it, a folder with the project name must be created and put on it the main file with TEIMSI text (the file with .tsi extension), then open it with the editor.
⇒ It allows the text formatting using purposeful commands, such as applying tabs or comment/uncomment a text block and many more effects.
⇒ It facilitates the task of creating a new project or open file in another instance, to do it simply press the "Ctrl + I" keys, or go to the "File > New Instance" menu.
To start the editor the application must be started using a shortcut file to it (created during installation), typically the program would be within a folder names "Teimsi" located in the "Program Files" folder (on the C drive).
The splash screen looks like the following:
2- Project options on startup
When the editor is started, the wizard menu for editing or creating a project appears, the project can be a program file (.Exe), Dynamic Library (.Dll), or TEIMSI Dynamic Library (.Dll). A base code as example is created according to each type of new project. The library files (Dll) are created with a special commented instruction on the top of the text used by the editor to determine the type of project: “// @_teimsi_app_type_is_dll_” indicates that the project is a normal Dll and “// @_teimsi_app_type_is_tsidll_” instruction indicates that the project is a TEIMSI DLL. If omitted some of these special instructions then the editor considers it as a program file project, the information about the type of project is automatically loaded when the main file is opened (which has the .TSI extension) and is automatically activaded the corresponding option in the menu at: "Compile" > "Select ... Mode" that determines the behavior of the compiler when compiling the TEIMSI programmed text.
(Next, it can be seen wizard screen when starting the editor).
The "Open an existing file" allows you to choose any type of file to edit it. The "Open folder of the application to watch sample files" opens the sample programs folder to visualize examples of Teimsi projects (which are not those of the user's documents folder).
The "Cancel" option leaves the editor in blank to allow notes or quick edits to be saved into a file.
3- The operation of the editor
During operation of the editor, the default working folder is the same that contains the program file "EditorTeimsi.exe", typically located at “C:\Program Files\Teimsi”. This folder which has the program also has other key folders for compiling programs such as one with name "internal", or "engine". These folders have the basic files of any project, as well as the assembly language code for the default functions and operators of TEIMSI.
Here is a snapshot screen of a single TEIMSI project.
In the program folder you can also find the "teimsicfg.ini" file, it has important information such as:
The style properties of the text and font used and other defaults, for example the "FontName" variable indicates the name of the font of the text, "FontList" indicates the list of available fonts by default.
The location of the “FASM” assembler is essential, and it's indicated by the "fasmexeloc" variable and it generally point to "c:\fasm\fasm.exe ". The "fasm_api_dir" variable specifies the folder with the information about the operating system's "Api" generally pointed to "c:\fasm\include\api". The Fasm version 1.68 (which proved to have stability) is recommended for this version (0.95) of the TEIMSI Editor. The "fasminclist" variable has a list of the form “api filename.inc”" separated by a slash "/"; this list contains the files with the "Api's" prototypes (for the Win.2000/XP/7/... operating systems) to be loaded by the editor.
The information on these variables is also used by the dynamic library file of TEIMSI compilation whose name begins with “teimsi_" which is placed in the folder of the editor. The editor uses that dynamic library whose specific file name depends on the version of the editor program and the Dll , whether it is professional or educational edition, and also depends on the language in which it is presented.
4- The "File" menu
In the "File" menu contains commands to open or save a project's file. The "New Instance" command will call itself to open another project instance or file editing.
5- The "Edit" menu
In the "Edit" menu are the basic commands for editing text. The "Date and Time" menu places the current date and time into the text, for example: "23:05 Sunday, January 16th of 1973". The replace command allows you to make a string replacement.
With the "Preferences" menu, you can change the text font properties.
6- The "Effects" menu
The "Effects" menu contains commands to format text, improving programming. The "tab spaces" have four space characters, but normal tabs are the "Tab" character which has ASCII code 9.
Comments for assembler (Asm) are placed with the ";" character. Comments for TEIMSI are made with "//".
If you are not using the professional version, you can find the "Break long lines of the selection" menu which shortens long lines specifying the maximum length them.
If you are using the professional version; additional submenus can be found in the "More effects to apply on the selection" menu, there are commands of the following snapshot image:
The commands within the "More effects to apply on the selection" menu are described below:
|(Submenu command)||(Action)||(Input)||(Input 2)||(Output)||(Output 2)|
|Break long lines of the selection||Shorten long lines specifying the maximum length that each one will have||Selection||-||Selection||-|
|Sort||Sorts the list of rows in the selection||Selection||-||Selection||-|
|Take away empty lines||It removes empty lines||Selection||-||Selection||-|
|Take away repeated lines||It replaces the repeated lines one after the other by blank lines||Selection||-||Selection||-|
|Join with each line of the text in the clipboard||It concatenates each row with the corresponding row of the clipboard's text using the specified spacer||Selection||Clipboard||Selection||-|
|Separate each line joined by a separator string||It separates joined lines by a spacer||Selection||-||Selection||Clipboard|
|Add a string to the left||It concatenates a string to the left side of each row of text selection||Selection||-||Selection||-|
|Add a string to the right||It concatenates a string to the right side of each row of text selection||Selection||-||Selection||-|
|Merge alternately with text of the Clipboard||It creates a new text that has the text selected within its odd number rows and that has the clipboard text within its even number rows.||Selection||Clipboard||Selection||-|
|Separate alternated merging||Replaces the text selection with the odd number rows of the original text selection and puts on the clipboard the even number rows of the original text selection.||Selection||-||Selection||Clipboard|
|Invert text||Places the first lines as the lasts and vice versa.||Selection||-||Selection||-|
|Invert the chars of each line||Puts the first characters as the last and vice versa in each row of the selection.||Selection||-||Selection||-|
|Extract a fixed length string of the right side||Extracts a fixed length string from the right side of each row. It also places into the clipboard text that has the rest of each line.||Selection||-||Selection||Clipboard|
|Extract a fixed length string of the left side||Extracts a fixed length string from the left side of each row. It also places into the clipboard text that has the rest of each line.||Selection||-||Selection||Clipboard|
|Replace selection by Clipboard in the Document||It replaces the selected text with the clipboard's text inside the whole Document. This command allows you to replace texts with carriage returns.||Selection||Clipboard||Document||-|
7- The "Compile" menu
In the "Compile" menu are found the commands to compile the project currently being edited.
The command “Create and run .exe from the Teimsi script” is responsible to do the following:
⇒ 1) It saves the file being edited into disk. Warning: the file will be saved without prompting overwrite, must be careful if the file is displayed more than once with the Teimsi editor.
⇒ 2) It compiles the project of the TEIMSI programmed text, creating the folder ("project")_ asm_files ("project" is the name of the file being edited) and creating the base files generated during compilation that will contain the assembler text language, they are required to assemble the program file or dynamic library file.
⇒ 3) It calls to the "fasm.exe" program file that is responsible for creating the desired .Exe or .Dll file.
⇒ 4) It deletes the files created to do the assembly (on the step 1).
⇒ 5) It runs the program file created if it's a .Exe program file.
While compiling a small console that displays errors that may occur during the process opens up.
The mode selection (.EXE, .DLL, .DLL Teimsi), determines the base files used in the process, so that the created object satisfies the desired conditions.
The “Save and only Compile Teimsi Script” command performs steps 1, 2 and 3 previously described for the “Create and run .exe from the Teimsi script” command, but lets you do manually the task of assembling the object; to do so it must be run the "create.bat" file located in created folder during this step.
The “Assemble compiled object with Fasm” command calls to the "create.bat" file.
The "Fast Save" command is equivalent to "save" command from the "File" menu, its purpose is to quickly dump to disk the contents of the file being edited by pressing a single key on the keyboard which is "Inter Pause".
8- The "Help" menu
In the "Help" menu are the commands to display the editor's manual and the TEIMSI language reference manual. You can visit the project or available tools page to download them from Internet.
The "Report an error" command allows you to report a bug and/or suggestions, this information can help us to create improved versions of the compiler.