├── .gitignore
├── LICENSE
├── README.md
├── assets
└── images
│ ├── string builder enumerator.png
│ ├── string builder using adapter.png
│ └── string builder.png
├── builds
├── TcDynStringKit_1.0.1.1.library
└── TcDynStringKit_1.0.2.2.library
└── src
├── TwinCAT Dynamic String Kit.sln
└── TwinCAT Dynamic String Kit
├── TcDynStringKit
├── DUTs
│ ├── Alias
│ │ ├── T_Char.TcDUT
│ │ ├── T_LongString.TcDUT
│ │ ├── T_ShortString.TcDUT
│ │ ├── T_Size.TcDUT
│ │ └── T_WhitespaceLocation.TcDUT
│ └── Enums
│ │ └── E_WhitespaceLocation.TcTLEO
├── ITFs
│ ├── Adapters
│ │ ├── I_ReadOnlyLineBuilderAdapter.TcIO
│ │ ├── I_ReadOnlyStringBuilderAdapter.TcIO
│ │ └── I_ReadOnlyWordBuilderAdapter.TcIO
│ ├── Builders
│ │ ├── I_LineBuilder.TcIO
│ │ ├── I_StringBuilder.TcIO
│ │ └── I_WordBuilder.TcIO
│ ├── Common
│ │ └── I_QueryInterface.TcIO
│ └── Enumerators
│ │ ├── I_Disposable.TcIO
│ │ ├── I_Enumerable.TcIO
│ │ └── I_Enumerator.TcIO
├── LineIDs.dbg
├── PARAMs
│ └── GVLs
│ │ └── Param_Configurations.TcGVL
├── POUs
│ ├── Examples
│ │ ├── P_AdapterExample.TcPOU
│ │ ├── P_EnumeratorExample.TcPOU
│ │ └── P_StringBuilderExample.TcPOU
│ ├── Function Blocks
│ │ ├── Adapters
│ │ │ └── FB_ReadOnlyStringBuilderAdapter.TcPOU
│ │ ├── Builders
│ │ │ └── FB_StringBuilder.TcPOU
│ │ ├── Enumerators
│ │ │ ├── FB_AbstractStringEnumerator.TcPOU
│ │ │ └── FB_StringBuilderEnumerator.TcPOU
│ │ └── _Internal
│ │ │ └── FB_Free.TcPOU
│ ├── Functions
│ │ ├── F_AnyStringLength.TcPOU
│ │ ├── F_AnyToString.TcPOU
│ │ ├── F_BYTETOCHAR.TcPOU
│ │ ├── F_CHARTOBYTE.TcPOU
│ │ ├── F_ISBOOL.TcPOU
│ │ ├── F_ISDIGIT.TcPOU
│ │ ├── F_ISLTIME.TcPOU
│ │ ├── F_ISSPACE.TcPOU
│ │ ├── F_ISTIME.TcPOU
│ │ ├── F_IsAnyToStringCompatable.TcPOU
│ │ ├── F_IsNumber.TcPOU
│ │ ├── F_IsSignedInteger.TcPOU
│ │ ├── F_IsUnsignedInteger.TcPOU
│ │ ├── F_MALLOCSTR.TcPOU
│ │ ├── F_MEMCPY.TcPOU
│ │ ├── F_MEMMOVE.TcPOU
│ │ ├── F_STRLCAT.TcPOU
│ │ ├── F_STRLCPY.TcPOU
│ │ ├── F_STRLEN.TcPOU
│ │ ├── F_STRNCMP.TcPOU
│ │ ├── F_STRSTR.TcPOU
│ │ ├── F_STRTOANY.TcPOU
│ │ ├── F_StringBuilder.TcPOU
│ │ ├── F_TOLOWER.TcPOU
│ │ ├── F_TOUPPER.TcPOU
│ │ └── F_TRIMWHITESPACE.TcPOU
│ └── MAIN.TcPOU
├── PlcTask.TcTTO
├── Project Information
│ ├── F_GetCompany.TcPOU
│ ├── F_GetTitle.TcPOU
│ └── F_GetVersion.TcPOU
├── TcDynStringKit.plcproj
├── Version
│ └── Global_Version.TcGVL
└── _Libraries
│ └── beckhoff automation gmbh
│ ├── tc2_standard
│ ├── 3.3.3.0
│ │ └── tc2_standard.compiled-library
│ └── 3.4.5.0
│ │ └── tc2_standard.compiled-library
│ ├── tc2_system
│ ├── 3.4.26.0
│ │ └── tc2_system.compiled-library
│ ├── 3.5.3.0
│ │ └── tc2_system.compiled-library
│ └── 3.6.4.0
│ │ └── tc2_system.compiled-library
│ ├── tc2_utilities
│ ├── 3.3.54.0
│ │ └── tc2_utilities.compiled-library
│ ├── 3.4.8.0
│ │ └── tc2_utilities.compiled-library
│ └── 3.8.1.0
│ │ └── tc2_utilities.compiled-library
│ └── tc3_module
│ ├── 3.3.21.0
│ └── tc3_module.compiled-library
│ ├── 3.3.23.0
│ └── tc3_module.compiled-library
│ └── 3.4.5.0
│ └── tc3_module.compiled-library
├── TcDynStringKitTest
├── POUs
│ └── MAIN.TcPOU
├── TcDynStringKitTest.plcproj
└── _Libraries
│ ├── beckhoff automation gmbh
│ ├── tc2_standard
│ │ ├── 3.3.3.0
│ │ │ └── tc2_standard.compiled-library
│ │ └── 3.4.5.0
│ │ │ └── tc2_standard.compiled-library
│ ├── tc2_system
│ │ ├── 3.4.26.0
│ │ │ └── tc2_system.compiled-library
│ │ ├── 3.5.3.0
│ │ │ └── tc2_system.compiled-library
│ │ └── 3.6.4.0
│ │ │ └── tc2_system.compiled-library
│ ├── tc2_utilities
│ │ ├── 3.3.54.0
│ │ │ └── tc2_utilities.compiled-library
│ │ ├── 3.4.8.0
│ │ │ └── tc2_utilities.compiled-library
│ │ └── 3.8.1.0
│ │ │ └── tc2_utilities.compiled-library
│ └── tc3_module
│ │ ├── 3.3.21.0
│ │ └── tc3_module.compiled-library
│ │ ├── 3.3.23.0
│ │ └── tc3_module.compiled-library
│ │ └── 3.4.5.0
│ │ └── tc3_module.compiled-library
│ ├── system
│ ├── base interfaces
│ │ └── 3.5.2.0
│ │ │ └── base_itfs.compiled-library
│ ├── cmperrors2 interfaces
│ │ └── 3.5.12.0
│ │ │ └── cmperrors2_itfs.compiled-library
│ ├── sysdir
│ │ └── 3.5.12.0
│ │ │ └── sysdir.compiled-library
│ ├── sysfile
│ │ └── 3.5.9.0
│ │ │ └── sysfile.compiled-library
│ └── systypes2 interfaces
│ │ └── 3.5.4.0
│ │ └── systypes_itfs.compiled-library
│ └── www.tcunit.org
│ └── tcunit
│ └── 1.2.0.0
│ └── tcunit.library
├── TwinCAT Dynamic String Kit.tsproj
└── TwinCAT Dynamic String Kit.tsproj.bak
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Ignore Twincat non-source files ##
5 |
6 | ### User-specific files (from 4018 tmc should be ignored) ###
7 | *.~u
8 | *.tpy
9 | *.tmc
10 | *.suo
11 | *.user
12 | *.orig
13 | TrialLicense.tclrs
14 |
15 | ### Build results ###
16 | _Boot/
17 | _CompileInfo/
18 | .engineering_servers/
19 | *.compileinfo
20 | *.bootinfo
21 | *.bootinfo_guids
22 |
23 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
24 |
25 | # User-specific files
26 | *.rsuser
27 | *.suo
28 | *.user
29 | *.userosscache
30 | *.sln.docstates
31 |
32 | # User-specific files (MonoDevelop/Xamarin Studio)
33 | *.userprefs
34 |
35 | # Mono auto generated files
36 | mono_crash.*
37 |
38 | # Build results
39 | [Dd]ebug/
40 | [Dd]ebugPublic/
41 | [Rr]elease/
42 | [Rr]eleases/
43 | x64/
44 | x86/
45 | [Aa][Rr][Mm]/
46 | [Aa][Rr][Mm]64/
47 | bld/
48 | [Bb]in/
49 | [Oo]bj/
50 | [Ll]og/
51 | [Ll]ogs/
52 |
53 | # Visual Studio 2015/2017 cache/options directory
54 | .vs/
55 | # Uncomment if you have tasks that create the project's static files in wwwroot
56 | #wwwroot/
57 |
58 | # Visual Studio 2017 auto generated files
59 | Generated\ Files/
60 |
61 | # MSTest test Results
62 | [Tt]est[Rr]esult*/
63 | [Bb]uild[Ll]og.*
64 |
65 | # NUnit
66 | *.VisualState.xml
67 | TestResult.xml
68 | nunit-*.xml
69 |
70 | # Build Results of an ATL Project
71 | [Dd]ebugPS/
72 | [Rr]eleasePS/
73 | dlldata.c
74 |
75 | # Benchmark Results
76 | BenchmarkDotNet.Artifacts/
77 |
78 | # .NET Core
79 | project.lock.json
80 | project.fragment.lock.json
81 | artifacts/
82 |
83 | # StyleCop
84 | StyleCopReport.xml
85 |
86 | # Files built by Visual Studio
87 | *_i.c
88 | *_p.c
89 | *_h.h
90 | *.ilk
91 | *.meta
92 | *.obj
93 | *.iobj
94 | *.pch
95 | *.pdb
96 | *.ipdb
97 | *.pgc
98 | *.pgd
99 | *.rsp
100 | *.sbr
101 | *.tlb
102 | *.tli
103 | *.tlh
104 | *.tmp
105 | *.tmp_proj
106 | *_wpftmp.csproj
107 | *.log
108 | *.vspscc
109 | *.vssscc
110 | .builds
111 | *.pidb
112 | *.svclog
113 | *.scc
114 |
115 | # Chutzpah Test files
116 | _Chutzpah*
117 |
118 | # Visual C++ cache files
119 | ipch/
120 | *.aps
121 | *.ncb
122 | *.opendb
123 | *.opensdf
124 | *.sdf
125 | *.cachefile
126 | *.VC.db
127 | *.VC.VC.opendb
128 |
129 | # Visual Studio profiler
130 | *.psess
131 | *.vsp
132 | *.vspx
133 | *.sap
134 |
135 | # Visual Studio Trace Files
136 | *.e2e
137 |
138 | # TFS 2012 Local Workspace
139 | $tf/
140 |
141 | # Guidance Automation Toolkit
142 | *.gpState
143 |
144 | # ReSharper is a .NET coding add-in
145 | _ReSharper*/
146 | *.[Rr]e[Ss]harper
147 | *.DotSettings.user
148 |
149 | # TeamCity is a build add-in
150 | _TeamCity*
151 |
152 | # DotCover is a Code Coverage Tool
153 | *.dotCover
154 |
155 | # AxoCover is a Code Coverage Tool
156 | .axoCover/*
157 | !.axoCover/settings.json
158 |
159 | # Visual Studio code coverage results
160 | *.coverage
161 | *.coveragexml
162 |
163 | # NCrunch
164 | _NCrunch_*
165 | .*crunch*.local.xml
166 | nCrunchTemp_*
167 |
168 | # MightyMoose
169 | *.mm.*
170 | AutoTest.Net/
171 |
172 | # Web workbench (sass)
173 | .sass-cache/
174 |
175 | # Installshield output folder
176 | [Ee]xpress/
177 |
178 | # DocProject is a documentation generator add-in
179 | DocProject/buildhelp/
180 | DocProject/Help/*.HxT
181 | DocProject/Help/*.HxC
182 | DocProject/Help/*.hhc
183 | DocProject/Help/*.hhk
184 | DocProject/Help/*.hhp
185 | DocProject/Help/Html2
186 | DocProject/Help/html
187 |
188 | # Click-Once directory
189 | publish/
190 |
191 | # Publish Web Output
192 | *.[Pp]ublish.xml
193 | *.azurePubxml
194 | # Note: Comment the next line if you want to checkin your web deploy settings,
195 | # but database connection strings (with potential passwords) will be unencrypted
196 | *.pubxml
197 | *.publishproj
198 |
199 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
200 | # checkin your Azure Web App publish settings, but sensitive information contained
201 | # in these scripts will be unencrypted
202 | PublishScripts/
203 |
204 | # NuGet Packages
205 | *.nupkg
206 | # NuGet Symbol Packages
207 | *.snupkg
208 | # The packages folder can be ignored because of Package Restore
209 | **/[Pp]ackages/*
210 | # except build/, which is used as an MSBuild target.
211 | !**/[Pp]ackages/build/
212 | # Uncomment if necessary however generally it will be regenerated when needed
213 | #!**/[Pp]ackages/repositories.config
214 | # NuGet v3's project.json files produces more ignorable files
215 | *.nuget.props
216 | *.nuget.targets
217 |
218 | # Microsoft Azure Build Output
219 | csx/
220 | *.build.csdef
221 |
222 | # Microsoft Azure Emulator
223 | ecf/
224 | rcf/
225 |
226 | # Windows Store app package directories and files
227 | AppPackages/
228 | BundleArtifacts/
229 | Package.StoreAssociation.xml
230 | _pkginfo.txt
231 | *.appx
232 | *.appxbundle
233 | *.appxupload
234 |
235 | # Visual Studio cache files
236 | # files ending in .cache can be ignored
237 | *.[Cc]ache
238 | # but keep track of directories ending in .cache
239 | !?*.[Cc]ache/
240 |
241 | # Others
242 | ClientBin/
243 | ~$*
244 | *~
245 | *.dbmdl
246 | *.dbproj.schemaview
247 | *.jfm
248 | *.pfx
249 | *.publishsettings
250 | orleans.codegen.cs
251 |
252 | # Including strong name files can present a security risk
253 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
254 | #*.snk
255 |
256 | # Since there are multiple workflows, uncomment next line to ignore bower_components
257 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
258 | #bower_components/
259 |
260 | # RIA/Silverlight projects
261 | Generated_Code/
262 |
263 | # Backup & report files from converting an old project file
264 | # to a newer Visual Studio version. Backup files are not needed,
265 | # because we have git ;-)
266 | _UpgradeReport_Files/
267 | Backup*/
268 | UpgradeLog*.XML
269 | UpgradeLog*.htm
270 | ServiceFabricBackup/
271 | *.rptproj.bak
272 |
273 | # SQL Server files
274 | *.mdf
275 | *.ldf
276 | *.ndf
277 |
278 | # Business Intelligence projects
279 | *.rdl.data
280 | *.bim.layout
281 | *.bim_*.settings
282 | *.rptproj.rsuser
283 | *- [Bb]ackup.rdl
284 | *- [Bb]ackup ([0-9]).rdl
285 | *- [Bb]ackup ([0-9][0-9]).rdl
286 |
287 | # Microsoft Fakes
288 | FakesAssemblies/
289 |
290 | # GhostDoc plugin setting file
291 | *.GhostDoc.xml
292 |
293 | # Node.js Tools for Visual Studio
294 | .ntvs_analysis.dat
295 | node_modules/
296 |
297 | # Visual Studio 6 build log
298 | *.plg
299 |
300 | # Visual Studio 6 workspace options file
301 | *.opt
302 |
303 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
304 | *.vbw
305 |
306 | # Visual Studio LightSwitch build output
307 | **/*.HTMLClient/GeneratedArtifacts
308 | **/*.DesktopClient/GeneratedArtifacts
309 | **/*.DesktopClient/ModelManifest.xml
310 | **/*.Server/GeneratedArtifacts
311 | **/*.Server/ModelManifest.xml
312 | _Pvt_Extensions
313 |
314 | # Paket dependency manager
315 | .paket/paket.exe
316 | paket-files/
317 |
318 | # FAKE - F# Make
319 | .fake/
320 |
321 | # CodeRush personal settings
322 | .cr/personal
323 |
324 | # Python Tools for Visual Studio (PTVS)
325 | __pycache__/
326 | *.pyc
327 |
328 | # Cake - Uncomment if you are using it
329 | # tools/**
330 | # !tools/packages.config
331 |
332 | # Tabs Studio
333 | *.tss
334 |
335 | # Telerik's JustMock configuration file
336 | *.jmconfig
337 |
338 | # BizTalk build output
339 | *.btp.cs
340 | *.btm.cs
341 | *.odx.cs
342 | *.xsd.cs
343 |
344 | # OpenCover UI analysis results
345 | OpenCover/
346 |
347 | # Azure Stream Analytics local run output
348 | ASALocalRun/
349 |
350 | # MSBuild Binary and Structured Log
351 | *.binlog
352 |
353 | # NVidia Nsight GPU debugger configuration file
354 | *.nvuser
355 |
356 | # MFractors (Xamarin productivity tool) working folder
357 | .mfractor/
358 |
359 | # Local History for Visual Studio
360 | .localhistory/
361 |
362 | # BeatPulse healthcheck temp database
363 | healthchecksdb
364 |
365 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
366 | MigrationBackup/
367 |
368 | # Ionide (cross platform F# VS Code tools) working folder
369 | .ionide/
370 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Goodwill Mzumala
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # TwinCAT Dynamic String Kit
2 |
3 | A library that provides tools for working with dynamic strings in TwinCAT. It includes a comprehensive string builder with string enumeration and a read-only string builder adapter. Additionally, there are several C-style string functions, such as `isdigit(...)`, `strstr(...)`, `strlcpy(...)`, `isspace(...)`, and more. There are also functions for converting `ANY` to `STRING` and `STRING` to `ANY`.
4 |
5 | # Examples
6 |
7 | Working with the string builder.
8 |
9 | **Declarations:**
10 | ```ST
11 | VAR
12 | bStart : BOOL;
13 | nLn1, nLn2 : T_Size;
14 | sValue1, sValue2 : STRING(255);
15 | pString : POINTER TO STRING;
16 | fbStringBuilder1,
17 | fbStringBuilder2 : FB_StringBuilder;
18 | END_VAR
19 | ```
20 |
21 | **Implementation:**
22 | ```ST
23 | IF bStart THEN
24 | bStart := FALSE;
25 | fbStringBuilder2
26 | .Append(' I hate cats.')
27 | .GetBuffer(pString);
28 |
29 | fbStringBuilder1
30 | .Clear()
31 | .Append(' I love cats.')
32 | .Append(' I love dogs.')
33 | .AppendBuffer(pString)
34 | .BTrim()
35 | .GetLength(Length => nLn1)
36 | .Replace('cats','dogs',TRUE)
37 | .Insert(nLn1, ' Anaconda! ')
38 | .Split(nLn1,100, fbStringBuilder2.Append(' Tigers are cats.'))
39 | .GetLength(Length => nLn1);
40 |
41 | sValue1 := fbStringBuilder1.ToUppercase().GetString();
42 | sValue2 := fbStringBuilder2
43 | .ToLowercase()
44 | .BTrim()
45 | .GetString();
46 |
47 | nLn2 := Tc2_Standard.LEN(sValue1);
48 | __DELETE(pString);
49 | END_IF
50 | ```
51 |
52 | **Output:**
53 |
54 | 
55 |
56 | ---
57 |
58 | Working with the read-only adapter.
59 |
60 | **Declarations:**
61 | ```ST
62 | VAR
63 | bStart : BOOL;
64 | sValue : STRING(255);
65 | nPos : T_Size;
66 | tTime : TIME := TIME();
67 | tTime2 : TIME;
68 | fbStringBuilder : FB_StringBuilder;
69 | fbReadOnlySB : FB_ReadOnlyStringBuilderAdapter;
70 | ipReadOnlySB : I_ReadOnlyStringBuilderAdapter;
71 | END_VAR
72 | ```
73 |
74 | **Implementation:**
75 | ```ST
76 | fbReadOnlySB(ipStringBuilder := fbStringBuilder);
77 | ipReadOnlySB := fbReadOnlySB;
78 |
79 | IF bStart THEN
80 | bStart := FALSE;
81 | fbStringBuilder
82 | .Clear()
83 | .Append(' I love cats.')
84 | .Append('The time is: ').AppendAny(tTime).Append('.')
85 | .Append(' ')
86 | .BTrim();
87 | END_IF
88 |
89 | sValue := ipReadOnlySB
90 | .Search('T#', 0, Position => nPos)
91 | .CopySubstringTo(nPos, tc2_Standard.LEN(TO_STRING(tTime)), tTime2)
92 | .GetString();
93 | ```
94 |
95 | **Output:**
96 |
97 | 
98 |
99 | ---
100 |
101 | Working with the enumerator.
102 |
103 | **Declarations:**
104 | ```ST
105 | VAR
106 | bStart : BOOL;
107 | sValue : STRING(255);
108 | dtTime : DT := DT#2023-5-8-12:55:23;
109 | fbStringBuilder1,
110 | fbStringBuilder2 : FB_StringBuilder;
111 | ipEnumerator : I_Enumerator;
112 | END_VAR
113 | ```
114 |
115 | **Implementation:**
116 | ```ST
117 | IF bStart THEN
118 | bStart := FALSE;
119 |
120 | fbStringBuilder1
121 | .Clear()
122 | .Append(' I love cats.')
123 | .Append('The time is: ').AppendAny(dtTime).Append('.')
124 | .BTrim();
125 |
126 | ipEnumerator := fbStringBuilder1.GetEnumerator();
127 | WHILE ipEnumerator.Next() DO
128 | fbStringBuilder2.Append(ipEnumerator.Current);
129 | END_WHILE
130 |
131 | sValue := fbStringBuilder2.GetString();
132 | END_IF
133 | ```
134 |
135 | **Output:**
136 |
137 | 
138 |
139 |
140 | # ⚠ Important ⚠
141 | This project is still in development. There's a lot of work and testing ahead. Changes to functionality may occur in the future.
142 |
--------------------------------------------------------------------------------
/assets/images/string builder enumerator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/assets/images/string builder enumerator.png
--------------------------------------------------------------------------------
/assets/images/string builder using adapter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/assets/images/string builder using adapter.png
--------------------------------------------------------------------------------
/assets/images/string builder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/assets/images/string builder.png
--------------------------------------------------------------------------------
/builds/TcDynStringKit_1.0.1.1.library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/builds/TcDynStringKit_1.0.1.1.library
--------------------------------------------------------------------------------
/builds/TcDynStringKit_1.0.2.2.library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/builds/TcDynStringKit_1.0.2.2.library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # TcXaeShell Solution File, Format Version 11.00
4 | VisualStudioVersion = 15.0.28307.1300
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "TwinCAT Dynamic String Kit", "TwinCAT Dynamic String Kit\TwinCAT Dynamic String Kit.tsproj", "{3044807D-60E3-46E8-998F-C321D2A4A40D}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7)
11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2)
12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64)
13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86)
14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7)
15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2)
16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64)
17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86)
18 | EndGlobalSection
19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
21 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
22 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
23 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
24 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
25 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
26 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
27 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
28 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
29 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
30 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
31 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
32 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
33 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
34 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
35 | {3044807D-60E3-46E8-998F-C321D2A4A40D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
36 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
37 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
38 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
39 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
40 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
41 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
42 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
43 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
44 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
45 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
46 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
47 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
48 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
49 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
50 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
51 | {EDC200F5-6521-48BC-B1DF-8F0CD4B639A1}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
52 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
53 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
54 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
55 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
56 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
57 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
58 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
59 | {06D805A9-F230-460E-A045-668D838708E1}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
60 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
61 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
62 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
63 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
64 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
65 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
66 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
67 | {06D805A9-F230-460E-A045-668D838708E1}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
68 | EndGlobalSection
69 | GlobalSection(SolutionProperties) = preSolution
70 | HideSolutionNode = FALSE
71 | EndGlobalSection
72 | GlobalSection(ExtensibilityGlobals) = postSolution
73 | SolutionGuid = {EC416996-E52C-4CA8-9FCD-66897E331291}
74 | EndGlobalSection
75 | EndGlobal
76 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/DUTs/Alias/T_Char.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/DUTs/Alias/T_LongString.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/DUTs/Alias/T_ShortString.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/DUTs/Alias/T_Size.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/DUTs/Alias/T_WhitespaceLocation.TcDUT:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/DUTs/Enums/E_WhitespaceLocation.TcTLEO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 |
16 |
17 |
18 |
19 | "Both"
20 | "0"
21 |
22 |
23 |
24 | "Start"
25 | ""
26 |
27 |
28 |
29 | "End"
30 | ""
31 |
32 |
33 |
34 | ""
35 | ""
36 |
37 |
38 |
39 |
40 | {206d024f-74cc-4d35-8f4e-87332c24fe08}
41 | {f612e0c0-68cd-415d-a554-2d199d3bd662}
42 | {eb4b5dab-6b71-4116-a4ca-fc58df96f451}
43 |
44 |
45 |
46 | System.Collections.ArrayList
47 | System.Guid
48 | System.String
49 | {4b60233c-f940-4beb-b331-82133b520151}
50 | {53da1be7-ad25-47c3-b0e8-e26286dad2e0}
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Adapters/I_ReadOnlyLineBuilderAdapter.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Adapters/I_ReadOnlyStringBuilderAdapter.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
27 |
28 |
29 |
36 |
37 |
38 |
43 |
44 |
45 |
51 |
52 |
53 |
58 |
59 |
60 |
65 |
66 |
67 |
72 |
73 |
74 |
76 |
77 |
78 |
79 |
80 |
81 |
90 |
91 |
92 |
101 |
102 |
103 |
109 |
110 |
111 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Adapters/I_ReadOnlyWordBuilderAdapter.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Builders/I_LineBuilder.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Builders/I_StringBuilder.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
14 |
19 |
20 |
21 |
27 |
28 |
29 |
31 |
32 |
33 |
35 |
36 |
37 |
39 |
40 |
41 |
42 |
43 |
44 |
46 |
47 |
48 |
54 |
55 |
56 |
61 |
62 |
63 |
70 |
71 |
72 |
77 |
78 |
79 |
85 |
86 |
87 |
92 |
93 |
94 |
99 |
100 |
101 |
106 |
107 |
108 |
114 |
115 |
116 |
123 |
124 |
125 |
132 |
133 |
134 |
140 |
141 |
142 |
144 |
145 |
146 |
147 |
148 |
149 |
154 |
155 |
156 |
161 |
162 |
163 |
172 |
173 |
174 |
182 |
183 |
184 |
189 |
190 |
191 |
196 |
197 |
198 |
207 |
208 |
209 |
218 |
219 |
220 |
226 |
227 |
228 |
230 |
231 |
232 |
237 |
238 |
239 |
243 |
244 |
245 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Builders/I_WordBuilder.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Common/I_QueryInterface.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Enumerators/I_Disposable.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Enumerators/I_Enumerable.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/ITFs/Enumerators/I_Enumerator.TcIO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 |
12 |
13 |
14 |
19 |
20 |
21 |
26 |
27 |
28 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/LineIDs.dbg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/LineIDs.dbg
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/PARAMs/GVLs/Param_Configurations.TcGVL:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Examples/P_AdapterExample.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 | nPos)
31 | .CopySubstringTo(nPos, tc2_Standard.LEN(TIME_TO_STRING(tTime)), tTime2)
32 | .GetString();]]>
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Examples/P_EnumeratorExample.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Examples/P_StringBuilderExample.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 | nLn1)
27 | .Replace('cats','dogs',TRUE)
28 | .Insert(nLn1, ' Anaconda! ')
29 | .Split(nLn1,100, fbStringBuilder2.Append(' Tigers are cats.'))
30 | .GetLength(Length => nLn1);
31 |
32 | sValue1 := fbStringBuilder1.ToUppercase().GetString();
33 | sValue2 := fbStringBuilder2
34 | .ToLowercase()
35 | .BTrim()
36 | .GetString();
37 |
38 | nLn2 := Tc2_Standard.LEN(sValue1);
39 | __DELETE(pString);
40 | END_IF]]>
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Function Blocks/Adapters/FB_ReadOnlyStringBuilderAdapter.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
32 |
33 |
36 |
37 |
38 |
39 |
45 |
46 |
49 |
50 |
51 |
52 |
59 |
60 |
63 |
64 |
65 |
66 |
72 |
73 |
75 |
76 |
77 |
78 |
84 |
85 |
87 |
88 |
89 |
90 |
95 |
96 |
98 |
99 |
100 |
101 |
107 |
108 |
110 |
111 |
112 |
113 |
116 |
117 |
119 |
120 |
121 |
122 |
129 |
130 |
132 |
133 |
134 |
135 |
138 |
139 |
142 |
143 |
145 |
146 |
147 |
148 |
149 |
159 |
160 | Position);]]>
163 |
164 |
165 |
166 |
175 |
176 | Position);]]>
179 |
180 |
181 |
182 |
189 |
190 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Function Blocks/Builders/FB_StringBuilder.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
48 |
49 | = THIS^.Capacity THEN
90 | THIS^.Reserve((THIS^.Length + Str_Len + 1)*2);
91 | END_IF
92 |
93 | THIS^.Length := THIS^.Length + Str_Len;
94 | F_StrLCat(THIS^._pBuffer, pValue, THIS^.Length + 1);
95 |
96 | IF bMalloced THEN __DELETE(pValue); END_IF]]>
97 |
98 |
99 |
100 |
109 |
110 | = THIS^.Capacity THEN
115 | THIS^.Reserve((THIS^.Length + Str_Len + 1)*2);
116 | END_IF
117 |
118 | THIS^.Length := THIS^.Length + Str_Len;
119 | F_StrLCat(THIS^._pBuffer, pBuffer, THIS^.Length + 1);]]>
120 |
121 |
122 |
123 |
125 |
126 |
128 |
129 |
130 |
131 |
137 |
138 | = Start) AND THIS^.Is_Space(THIS^._pBuffer^[End])) DO End := End - 1; END_WHILE
144 |
145 | Length := end - start + 1;
146 | F_MemMove(THIS^._pBuffer, ADR(THIS^._pBuffer^[Start]), Length);
147 | THIS^.Length := Length;
148 | THIS^._pBuffer^[THIS^.Length] := 0;]]>
149 |
150 |
151 |
152 |
154 |
155 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
172 |
173 |
180 |
181 |
182 |
183 |
193 |
194 | THIS^.Length) OR_ELSE (Length <= 0) OR_ELSE (THIS^.Length = 0) THEN Value.pValue[0] := 0; RETURN; END_IF
200 | F_StrLCpy(Value.pValue, ADR(THIS^._pBuffer^[Position]), Length + 1);
201 |
202 | __SYSTEM.TYPE_CLASS.TYPE_WSTRING:
203 | Length := MIN(Length, (Value.diSize/2) - 1 );
204 | IF (Position > THIS^.Length) OR_ELSE (Length = 0) OR_ELSE (THIS^.Length = 0) THEN pwsTemp := Value.pValue; pwsTemp^ := ""; RETURN; END_IF
205 | pTemp := THIS^.Malloc(Length + 1);
206 | F_StrLCpy(pTemp, ADR(THIS^._pBuffer^[Position]), Length + 1);
207 | Tc2_Utilities.STRING_TO_WSTRING2(Value.pValue, pTemp, TO_UDINT((Length*2)+1));
208 | __DELETE(pTemp);
209 | ELSE
210 | F_StrToAny(Value, THIS^.GetSubstring(Position, Length));
211 | END_CASE]]>
212 |
213 |
214 |
215 |
220 |
221 |
231 |
232 |
233 |
234 |
239 |
240 | 0 THEN __DELETE(THIS^._pBuffer); END_IF
241 | THIS^.Capacity := 0;]]>
242 |
243 |
244 |
245 |
251 |
252 |
255 |
256 |
257 |
258 |
263 |
264 |
266 |
267 |
268 |
269 |
275 |
276 | THIS^.Length THEN RETURN; END_IF
278 | GetChar[0] := THIS^._pBuffer^[Position];]]>
279 |
280 |
281 |
282 |
287 |
288 |
289 |
290 |
291 |
292 |
297 |
298 |
300 |
301 |
302 |
303 |
305 |
306 |
307 |
308 |
309 |
310 |
315 |
316 |
317 |
318 |
319 |
320 |
326 |
327 |
329 |
330 |
331 |
332 |
344 |
345 | THIS^.Length THEN RETURN; END_IF
347 | CASE Value.TypeClass OF
348 | __SYSTEM.TYPE_CLASS.TYPE_STRING:
349 | Str_Len := F_StrLen(Value.pValue);
350 | pValue := Value.pValue;
351 | bMalloced := FALSE;
352 |
353 | __SYSTEM.TYPE_CLASS.TYPE_WSTRING:
354 | Str_Len := TO_DINT(Tc2_Utilities.WLEN2(Value.pValue));
355 | pValue := THIS^.Malloc(Str_Len);
356 | Tc2_Utilities.WSTRING_TO_STRING2(pValue, Value.pValue, TO_UDINT(Str_Len));
357 |
358 | __SYSTEM.TYPE_CLASS.TYPE_BOOL,
359 | __SYSTEM.TYPE_CLASS.TYPE_BYTE,
360 | __SYSTEM.TYPE_CLASS.TYPE_WORD,
361 | __SYSTEM.TYPE_CLASS.TYPE_DWORD,
362 | __SYSTEM.TYPE_CLASS.TYPE_LWORD,
363 | __SYSTEM.TYPE_CLASS.TYPE_SINT,
364 | __SYSTEM.TYPE_CLASS.TYPE_INT,
365 | __SYSTEM.TYPE_CLASS.TYPE_DINT,
366 | __SYSTEM.TYPE_CLASS.TYPE_LINT,
367 | __SYSTEM.TYPE_CLASS.TYPE_USINT,
368 | __SYSTEM.TYPE_CLASS.TYPE_UINT,
369 | __SYSTEM.TYPE_CLASS.TYPE_UDINT,
370 | __SYSTEM.TYPE_CLASS.TYPE_ULINT,
371 | __SYSTEM.TYPE_CLASS.TYPE_REAL,
372 | __SYSTEM.TYPE_CLASS.TYPE_LREAL,
373 | __SYSTEM.TYPE_CLASS.TYPE_TIME,
374 | __SYSTEM.TYPE_CLASS.TYPE_LTIME,
375 | __SYSTEM.TYPE_CLASS.TYPE_DATE,
376 | __SYSTEM.TYPE_CLASS.TYPE_DATEANDTIME,
377 | __SYSTEM.TYPE_CLASS.TYPE_TIMEOFDAY,
378 | __SYSTEM.TYPE_CLASS.TYPE_POINTER:
379 | pValue := THIS^.Malloc(SIZEOF(T_LongString));
380 | pValue^ := F_AnyToString(Value);
381 | Str_Len := F_StrLen(pValue);
382 | ELSE
383 | RETURN;
384 | END_CASE
385 |
386 | IF (THIS^.Length + Str_Len) >= THIS^.Capacity THEN
387 | THIS^.Reserve((THIS^.Length + Str_Len + 1)*2);
388 | END_IF
389 |
390 | F_MemMove(THIS^._pBuffer + TO_UDINT(Position) + TO_UDINT(Str_Len), THIS^._pBuffer + TO_UDINT(Position), THIS^.Length - Position + 1);
391 | F_MemCpy(THIS^._pBuffer + TO_UDINT(Position), pValue, Str_Len);
392 | THIS^.Length := THIS^.Length + Str_Len;
393 |
394 | IF bMalloced THEN __DELETE(pValue); END_IF]]>
395 |
396 |
397 |
398 |
408 |
409 | THIS^.Length THEN RETURN; END_IF
411 | Str_Len := F_StrLen(pBuffer);
412 |
413 | IF (THIS^.Length + Str_Len) >= THIS^.Capacity THEN
414 | THIS^.Reserve((THIS^.Length + Str_Len + 1)*2);
415 | END_IF
416 |
417 | F_MemMove(THIS^._pBuffer + TO_UDINT(Position) + TO_UDINT(Str_Len), THIS^._pBuffer + TO_UDINT(Position), THIS^.Length - Position + 1);
418 | F_MemCpy(THIS^._pBuffer + TO_UDINT(Position), pBuffer, Str_Len);
419 | THIS^.Length := THIS^.Length + Str_Len;]]>
420 |
421 |
422 |
423 |
428 |
429 |
430 |
431 |
432 |
433 |
443 |
444 |
451 |
452 |
453 |
454 |
456 |
457 |
461 |
462 |
463 |
464 |
465 |
466 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
482 |
483 |
493 |
494 |
495 |
496 |
501 |
502 |
503 |
504 |
505 |
506 |
511 |
512 | THIS^.Length OR Position < 0 OR Length <= 0 OR Position > THIS^.Length THEN RETURN; END_IF
514 | F_MemMove(ADR(THIS^._pBuffer^[Position]), ADR(THIS^._pBuffer^[Position + Length]), THIS^.Length - (Position + Length) + 1);
515 | THIS^.Length := THIS^.Length - Length;
516 | ]]>
517 |
518 |
519 |
520 |
529 |
530 |
531 |
532 |
533 |
534 |
548 |
549 | Position);
557 | THIS^.Remove(Position, Old_Str_Len);
558 | THIS^.InsertAny(Position, New_Value);
559 | IF NOT bReplace_All OR Position < 0 THEN EXIT; END_IF
560 | Position := Position + New_Str_Len;
561 | END_WHILE
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 | ]]>
570 |
571 |
572 |
573 |
580 |
581 |
587 |
588 |
589 |
590 |
596 |
597 |
604 |
605 |
606 |
607 |
613 |
614 | = Start) AND THIS^.Is_Space(THIS^._pBuffer^[End])) DO End := End - 1; END_WHILE
619 |
620 | Length := end - start + 1;
621 | F_MemMove(THIS^._pBuffer, ADR(THIS^._pBuffer^[Start]), Length);
622 | THIS^.Length := Length;
623 | THIS^._pBuffer^[THIS^.Length] := 0;]]>
624 |
625 |
626 |
627 |
636 |
637 | Position);]]>
638 |
639 |
640 |
641 |
655 |
656 | THIS^.Length - 1 THEN RETURN; END_IF
658 | CASE Value.TypeClass OF
659 | __SYSTEM.TYPE_CLASS.TYPE_STRING:
660 | pValue := Value.pValue;
661 | bMalloced := FALSE;
662 |
663 | __SYSTEM.TYPE_CLASS.TYPE_WSTRING:
664 | Str_Len := TO_DINT(Tc2_Utilities.WLEN2(Value.pValue));
665 | pValue := THIS^.Malloc(Str_Len + 1);
666 | Tc2_Utilities.WSTRING_TO_STRING2(pValue, Value.pValue, TO_UDINT(Str_Len));
667 |
668 | __SYSTEM.TYPE_CLASS.TYPE_BOOL,
669 | __SYSTEM.TYPE_CLASS.TYPE_BYTE,
670 | __SYSTEM.TYPE_CLASS.TYPE_WORD,
671 | __SYSTEM.TYPE_CLASS.TYPE_DWORD,
672 | __SYSTEM.TYPE_CLASS.TYPE_LWORD,
673 | __SYSTEM.TYPE_CLASS.TYPE_SINT,
674 | __SYSTEM.TYPE_CLASS.TYPE_INT,
675 | __SYSTEM.TYPE_CLASS.TYPE_DINT,
676 | __SYSTEM.TYPE_CLASS.TYPE_LINT,
677 | __SYSTEM.TYPE_CLASS.TYPE_USINT,
678 | __SYSTEM.TYPE_CLASS.TYPE_UINT,
679 | __SYSTEM.TYPE_CLASS.TYPE_UDINT,
680 | __SYSTEM.TYPE_CLASS.TYPE_ULINT,
681 | __SYSTEM.TYPE_CLASS.TYPE_REAL,
682 | __SYSTEM.TYPE_CLASS.TYPE_LREAL,
683 | __SYSTEM.TYPE_CLASS.TYPE_TIME,
684 | __SYSTEM.TYPE_CLASS.TYPE_LTIME,
685 | __SYSTEM.TYPE_CLASS.TYPE_DATE,
686 | __SYSTEM.TYPE_CLASS.TYPE_DATEANDTIME,
687 | __SYSTEM.TYPE_CLASS.TYPE_TIMEOFDAY,
688 | __SYSTEM.TYPE_CLASS.TYPE_POINTER:
689 | pValue := THIS^.Malloc(SIZEOF(T_LongString));
690 | pValue^ := F_AnyToString(Value);
691 | ELSE
692 | RETURN;
693 | END_CASE
694 | pLoc := F_StrStr(ADR(THIS^._pBuffer^[Start_Position]), pValue);
695 | IF bMalloced THEN __DELETE(pValue); END_IF
696 | IF pLoc = 0 THEN RETURN; END_IF
697 | Position := TO_DINT(pLoc - THIS^._pBuffer);]]>
698 |
699 |
700 |
701 |
711 |
712 | THIS^.Length) OR_ELSE (Length <= 0) OR_ELSE (THIS^.Length = 0) THEN RETURN; END_IF
715 | End_Position := Position + Length;
716 | IF End_Position > THIS^.Length THEN End_Position := THIS^.Length; END_IF
717 |
718 | FOR i := Position TO End_Position - 1 DO
719 | t_Char[0] := THIS^._pBuffer^[i];
720 | ipStringBuilder.Append(t_Char);
721 | END_FOR]]>
722 |
723 |
724 |
725 |
731 |
732 | (THIS^.Length + 1) THEN
734 | pTemp := THIS^.Malloc(THIS^.Length + 1);
735 | F_StrLCpy(pTemp, THIS^._pBuffer, THIS^.Length + 1);
736 | THIS^.Free();
737 | THIS^._pBuffer := pTemp;
738 | THIS^.Capacity := THIS^.Length + 1;
739 | END_IF]]>
740 |
741 |
742 |
743 |
748 |
749 | = 65 AND THIS^._pBuffer^[i]<= 90 THEN
753 | THIS^._pBuffer^[i] := THIS^._pBuffer^[i] + 32;
754 | END_IF
755 | END_FOR]]>
756 |
757 |
758 |
759 |
764 |
765 | = 97 AND THIS^._pBuffer^[i]<= 122 THEN
769 | THIS^._pBuffer^[i] := THIS^._pBuffer^[i] - 32;
770 | END_IF
771 | END_FOR]]>
772 |
773 |
774 |
775 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Function Blocks/Enumerators/FB_AbstractStringEnumerator.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
39 |
40 |
41 |
42 |
43 |
44 |
47 |
48 |
49 |
50 |
51 |
52 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Function Blocks/Enumerators/FB_StringBuilderEnumerator.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
20 |
21 |
23 |
24 |
25 |
26 |
27 |
36 |
37 | = THIS^._ipStringBuilder.Length THEN RETURN; END_IF
38 | pTemp := __NEW(BYTE, 2);
39 | pTemp^ := THIS^._ipStringBuilder.GetChar(THIS^._Index);]]>
40 |
41 |
42 |
43 |
51 |
52 |
53 |
54 |
55 |
56 |
61 |
62 |
65 |
66 |
67 |
68 |
71 |
72 | = THIS^._ipStringBuilder.Length THEN RETURN; END_IF
73 | THIS^._Index := THIS^._Index + 1;
74 | Next := TRUE;]]>
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Function Blocks/_Internal/FB_Free.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
13 |
14 |
15 |
20 |
21 | 0 THEN __DELETE(THIS^._pValue); END_IF]]>
24 |
25 |
26 |
27 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_AnyStringLength.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_AnyToString.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
34 |
35 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_BYTETOCHAR.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_CHARTOBYTE.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_ISBOOL.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_ISDIGIT.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 | = '0' AND t_Char <= '9';]]>
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_ISLTIME.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
21 |
22 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_ISSPACE.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_ISTIME.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
21 |
22 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_IsAnyToStringCompatable.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_IsNumber.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 | 0 DO
18 | IF F_IsDigit(F_ByteToChar(sValue[i])) THEN
19 | bHasDigits := TRUE;
20 | ELSIF F_ByteToChar(sValue[i]) = '.' THEN
21 | IF bHasDecimal THEN RETURN; END_IF
22 | bHasDecimal := TRUE;
23 | ELSIF F_ByteToChar(sValue[i]) = 'E' OR_ELSE F_ByteToChar(sValue[i]) = 'e' THEN
24 | IF bHasExponent THEN RETURN; END_IF
25 | IF F_ByteToChar(sValue[i+1]) = '+' OR_ELSE F_ByteToChar(sValue[i+1]) = '-' THEN i := i + 1; END_IF
26 | bHasExponent := TRUE;
27 | ELSE
28 | RETURN;
29 | END_IF
30 | i := i + 1;
31 | END_WHILE
32 |
33 | IF NOT bHasDigits THEN RETURN; END_IF
34 | F_IsNumber := TRUE;]]>
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_IsSignedInteger.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_IsUnsignedInteger.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_MALLOCSTR.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_MEMCPY.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_MEMMOVE.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_STRLCAT.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 | = DstSize THEN F_StrLCat := SrcLen; RETURN; END_IF
22 |
23 | CopyLen := DstSize - DstLen - 1;
24 |
25 | F_MemCpy(pDst + TO_UDINT(DstLen), pSrc, CopyLen);
26 | pDst^[DstLen + CopyLen] := 0;
27 | F_StrLCat := DstLen + SrcLen;]]>
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_STRLCPY.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_STRLEN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 | 0 DO
15 | i := i + 1;
16 | END_WHILE
17 | F_StrLen := i;]]>
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_STRNCMP.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 | sValue2[i]) OR_ELSE (sValue1[i] = 0 OR sValue2[i] = 0) THEN RETURN; END_IF
19 | END_FOR
20 | F_StrNCmp := TRUE;]]>
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_STRSTR.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 | HaystackLen THEN RETURN; END_IF
22 |
23 | FOR i := 0 TO HaystackLen - NeedleLen DO
24 | FOR j := 0 TO NeedleLen - 1 DO
25 | IF pHaystackStr^[i+j] <> pNeedleStr^[j] THEN EXIT; END_IF
26 | END_FOR
27 | IF j = NeedleLen THEN F_StrStr := pHaystackStr + TO_UDINT(i); RETURN; END_IF
28 | END_FOR]]>
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_STRTOANY.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
35 |
36 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_StringBuilder.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_TOLOWER.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 | 0 DO
14 | IF sValue[i] >= 65 AND sValue[i]<= 90 THEN sValue[i] := sValue[i] + 32; END_IF
15 | i := i + 1;
16 | END_WHILE]]>
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_TOUPPER.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 | 0 DO
14 | IF sValue[i] >= 97 AND sValue[i]<= 122 THEN sValue[i] := sValue[i] - 32; END_IF
15 | i := i + 1;
16 | END_WHILE]]>
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/Functions/F_TRIMWHITESPACE.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 | = Start) AND F_IsSpace(F_ByteToChar(sValue[End]))) DO End := End - 1; END_WHILE
27 | T_WhitespaceLocation.Both:
28 | WHILE ((Start <= End) AND F_IsSpace(F_ByteToChar(sValue[Start]))) DO Start := Start + 1; END_WHILE
29 | WHILE ((End >= Start) AND F_IsSpace(F_ByteToChar(sValue[End]))) DO End := End - 1; END_WHILE
30 | ELSE
31 | RETURN;
32 | END_CASE
33 |
34 | Length := End - Start + 1;
35 | F_MemMove(ADR(sValue), ADR(sValue[Start]), Length);
36 | sValue[Length] := 0;]]>
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/POUs/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/PlcTask.TcTTO:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10000
6 | 20
7 |
8 | MAIN
9 |
10 | {82ea6f08-8278-4aaf-bc8b-48f3fb0dd029}
11 | {b070d4e3-3611-4dec-8442-d6aadff9aa82}
12 | {60df280a-f9cd-4f73-b023-89f7993b64ce}
13 | {cf20380a-2359-4b5d-9dbe-789dc1cbf211}
14 | {763ef7e9-7dd7-499c-9252-142026640b55}
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/Project Information/F_GetCompany.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/Project Information/F_GetTitle.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/Project Information/F_GetVersion.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/TcDynStringKit.plcproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1.0.0.0
5 | 2.0
6 | {06d805a9-f230-460e-a045-668d838708e1}
7 | True
8 | true
9 | true
10 | false
11 | TcDynStringKit
12 | 3.1.4023.0
13 | {e0d2e34d-1132-4eaf-b817-58bdfcc2a96f}
14 | {6c98dfdc-4718-4227-b033-8d1d816ac7c4}
15 | {a50cf20f-afdc-4464-bd18-5237fbe0d15c}
16 | {a5dadf37-0e2d-41fb-9718-a5e861fd494e}
17 | {76c5f3b1-a59d-4c82-9f99-165c8433355b}
18 | {94504b01-9442-4fd9-8ce9-45b44800d9c4}
19 | FisoThemes
20 | false
21 | TwinCAT Dynamic String Kit
22 | 1.0.2.2
23 | TcDynStringKit
24 | true
25 | Goodwill Mzumala
26 | A library that provides tools for working with dynamic strings in TwinCAT.
27 |
28 |
29 |
30 | Code
31 |
32 |
33 | Code
34 |
35 |
36 | Code
37 |
38 |
39 | Code
40 |
41 |
42 | Code
43 |
44 |
45 | Code
46 |
47 |
48 | Code
49 |
50 |
51 | Code
52 |
53 |
54 | Code
55 |
56 |
57 | Code
58 |
59 |
60 | Code
61 |
62 |
63 | Code
64 |
65 |
66 | Code
67 |
68 |
69 | Code
70 |
71 |
72 | Code
73 |
74 |
75 | Code
76 |
77 |
78 | Code
79 | true
80 |
81 |
82 | Code
83 |
84 |
85 | Code
86 |
87 |
88 | Code
89 |
90 |
91 | Code
92 |
93 |
94 | Code
95 |
96 |
97 | Code
98 |
99 |
100 | Code
101 |
102 |
103 | Code
104 |
105 |
106 | Code
107 |
108 |
109 | Code
110 |
111 |
112 | Code
113 |
114 |
115 | Code
116 |
117 |
118 | Code
119 |
120 |
121 | Code
122 |
123 |
124 | Code
125 |
126 |
127 | Code
128 |
129 |
130 | Code
131 |
132 |
133 | Code
134 |
135 |
136 | Code
137 |
138 |
139 | Code
140 |
141 |
142 | Code
143 |
144 |
145 | Code
146 |
147 |
148 | Code
149 |
150 |
151 | Code
152 |
153 |
154 | Code
155 |
156 |
157 | Code
158 |
159 |
160 | Code
161 |
162 |
163 | Code
164 |
165 |
166 | Code
167 |
168 |
169 | Code
170 |
171 |
172 | Code
173 |
174 |
175 | Code
176 |
177 |
178 | Code
179 |
180 |
181 | Code
182 |
183 |
184 | Code
185 |
186 |
187 | Code
188 |
189 |
190 | Code
191 | true
192 |
193 |
194 | Code
195 | true
196 |
197 |
198 | Code
199 | true
200 |
201 |
202 | Code
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 | Tc2_Standard, * (Beckhoff Automation GmbH)
233 | Tc2_Standard
234 |
235 |
236 | Tc2_System, * (Beckhoff Automation GmbH)
237 | Tc2_System
238 |
239 |
240 | Tc2_Utilities, * (Beckhoff Automation GmbH)
241 | Tc2_Utilities
242 |
243 |
244 | Tc3_Module, * (Beckhoff Automation GmbH)
245 | Tc3_Module
246 |
247 |
248 |
249 |
250 | Content
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 | "<ProjectRoot>"
259 |
260 | {192FAD59-8248-4824-A8DE-9177C94C195A}
261 |
262 | "{192FAD59-8248-4824-A8DE-9177C94C195A}"
263 |
264 |
265 |
266 | {29BD8D0C-3586-4548-BB48-497B9A01693F}
267 |
268 | "{29BD8D0C-3586-4548-BB48-497B9A01693F}"
269 |
270 | Rules
271 |
272 | "Rules"
273 |
274 |
275 |
276 |
277 |
278 |
279 | {40450F57-0AA3-4216-96F3-5444ECB29763}
280 |
281 | "{40450F57-0AA3-4216-96F3-5444ECB29763}"
282 |
283 |
284 | ActiveVisuProfile
285 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA=
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 | System.Collections.Hashtable
294 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861}
295 | System.String
296 |
297 |
298 |
299 |
300 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/Version/Global_Version.TcGVL:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_standard/3.4.5.0/tc2_standard.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_standard/3.4.5.0/tc2_standard.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_system/3.4.26.0/tc2_system.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_system/3.4.26.0/tc2_system.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_system/3.5.3.0/tc2_system.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_system/3.5.3.0/tc2_system.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_system/3.6.4.0/tc2_system.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_system/3.6.4.0/tc2_system.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_utilities/3.3.54.0/tc2_utilities.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_utilities/3.3.54.0/tc2_utilities.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_utilities/3.4.8.0/tc2_utilities.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_utilities/3.4.8.0/tc2_utilities.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_utilities/3.8.1.0/tc2_utilities.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc2_utilities/3.8.1.0/tc2_utilities.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc3_module/3.3.23.0/tc3_module.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc3_module/3.3.23.0/tc3_module.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc3_module/3.4.5.0/tc3_module.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKit/_Libraries/beckhoff automation gmbh/tc3_module/3.4.5.0/tc3_module.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/POUs/MAIN.TcPOU:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/TcDynStringKitTest.plcproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1.0.0.0
4 | 2.0
5 | {edc200f5-6521-48bc-b1df-8f0cd4b639a1}
6 | True
7 | true
8 | true
9 | false
10 | TcDynStringKitTest
11 | 3.1.4023.0
12 | {79988c6d-3ce3-406b-b82f-283a297ef641}
13 | {da475703-da6b-478a-adf8-b88e485c15ef}
14 | {da6a77ad-7bc7-42c7-9daa-2f699fc8ef3d}
15 | {c2ba049a-6b94-451f-bdff-787c3760403e}
16 | {f7814f9c-394f-49fb-bf60-ffffe3b6641f}
17 | {ad6c4d8b-d7a8-48c2-943f-863729f96312}
18 |
19 |
20 |
21 | Code
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | Tc2_Standard, * (Beckhoff Automation GmbH)
33 | Tc2_Standard
34 |
35 |
36 | Tc2_System, * (Beckhoff Automation GmbH)
37 | Tc2_System
38 |
39 |
40 | Tc3_Module, * (Beckhoff Automation GmbH)
41 | Tc3_Module
42 |
43 |
44 | TcUnit, * (www.tcunit.org)
45 | TcUnit
46 |
47 |
48 |
49 |
50 | Content
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | "<ProjectRoot>"
59 |
60 | {192FAD59-8248-4824-A8DE-9177C94C195A}
61 |
62 | "{192FAD59-8248-4824-A8DE-9177C94C195A}"
63 |
64 |
65 |
66 | {29BD8D0C-3586-4548-BB48-497B9A01693F}
67 |
68 | "{29BD8D0C-3586-4548-BB48-497B9A01693F}"
69 |
70 | Rules
71 |
72 | "Rules"
73 |
74 |
75 |
76 |
77 |
78 |
79 | {40450F57-0AA3-4216-96F3-5444ECB29763}
80 |
81 | "{40450F57-0AA3-4216-96F3-5444ECB29763}"
82 |
83 |
84 | ActiveVisuProfile
85 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA=
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 | System.Collections.Hashtable
94 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861}
95 | System.String
96 |
97 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_standard/3.4.5.0/tc2_standard.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_standard/3.4.5.0/tc2_standard.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_system/3.4.26.0/tc2_system.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_system/3.4.26.0/tc2_system.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_system/3.5.3.0/tc2_system.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_system/3.5.3.0/tc2_system.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_system/3.6.4.0/tc2_system.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_system/3.6.4.0/tc2_system.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_utilities/3.3.54.0/tc2_utilities.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_utilities/3.3.54.0/tc2_utilities.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_utilities/3.4.8.0/tc2_utilities.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_utilities/3.4.8.0/tc2_utilities.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_utilities/3.8.1.0/tc2_utilities.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc2_utilities/3.8.1.0/tc2_utilities.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc3_module/3.3.23.0/tc3_module.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc3_module/3.3.23.0/tc3_module.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc3_module/3.4.5.0/tc3_module.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/beckhoff automation gmbh/tc3_module/3.4.5.0/tc3_module.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/base interfaces/3.5.2.0/base_itfs.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/base interfaces/3.5.2.0/base_itfs.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/cmperrors2 interfaces/3.5.12.0/cmperrors2_itfs.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/cmperrors2 interfaces/3.5.12.0/cmperrors2_itfs.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/sysdir/3.5.12.0/sysdir.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/sysdir/3.5.12.0/sysdir.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/sysfile/3.5.9.0/sysfile.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/sysfile/3.5.9.0/sysfile.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/systypes2 interfaces/3.5.4.0/systypes_itfs.compiled-library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/system/systypes2 interfaces/3.5.4.0/systypes_itfs.compiled-library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/www.tcunit.org/tcunit/1.2.0.0/tcunit.library:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fisothemes/TwinCAT-Dynamic-String-Kit/cd4ffdde0ad9391c0331264fc7a5d0da33373dc0/src/TwinCAT Dynamic String Kit/TcDynStringKitTest/_Libraries/www.tcunit.org/tcunit/1.2.0.0/tcunit.library
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TwinCAT Dynamic String Kit.tsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | PlcTask
11 |
12 |
13 |
14 |
15 |
16 |
17 | TcDynStringKit Instance
18 | {08500001-0000-0000-F000-000000000064}
19 |
20 |
21 | 0
22 | PlcTask
23 |
24 | #x02010030
25 |
26 | 20
27 | 10000000
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | TcDynStringKitTest Instance
38 | {08500001-0000-0000-F000-000000000064}
39 |
40 |
41 | 1
42 | Default
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/TwinCAT Dynamic String Kit/TwinCAT Dynamic String Kit.tsproj.bak:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | PlcTask
11 |
12 |
13 |
14 |
15 |
16 |
17 | TcDynStringKit Instance
18 | {08500001-0000-0000-F000-000000000064}
19 |
20 |
21 | 0
22 | PlcTask
23 |
24 | #x02010030
25 |
26 | 20
27 | 10000000
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | TcDynStringKitTest Instance
38 | {08500001-0000-0000-F000-000000000064}
39 |
40 |
41 | 1
42 | Default
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------