Bringing the Lovely VBScript Split Function into Delphi with a Custom Function
Posted by Daniel - 5,199 Views
It was a very old idea that I want to be able to perform the process carried out by the VBScript Split Function with Delphi. I had done it once but only capable of doing the split process with only one character as the delimiter, if I want to split a series of strings by two or more character as the delimiter, it didn’t work. This is the update, now I can perform the Split process with more than one character as the delimiter.
Before you get confused by what the Split Function does, let me explain: Split Function which is found as a built in function on the Visual Basic family languages will slice a strings based on a character delimiter specified and then will return an array containing each pieces from the slice process.
For example if you run this code:
Then the arrSplit will contains 3 elements:
arrSplit(0)=”a”
arrSplit(1)=”b”
arrSplit(2)=”c”
That kind of function does not available as a built-in function in Delphi (am I wrong?), but I want to be able to perform such process with Delphi so as usual, I created my own function, and here is the code:
var i : integer;
s : string;
arrString: TStringList;
begin
arrString := TStringList.Create;
s := ”;
i := 1;
repeat
begin
if Copy(source,i,Length(delimiter)) <> delimiter then
begin
s := s + Copy(source,i,1);
i := i + 1;
end
else
begin
arrString.Add(s);
s := ”;
i := i + Length(delimiter);
end;
end
until i > Length(source);
if s <> ” then arrString.Add(s);
result := arrString;
end;
MySplit Function will slice the string passed as the source parameter based on the delimiter character specified and then will return the resulting array as a stringlist.
A demo is included with this article. You can download the demo project then have it tested to see how the function works.
If you only need to split strings with one character as the delimiter, you may also consider the function from Zarko Gajic here - it’s neat and brilliant.
Download the demo project (8 KB)
The following posts are programmatically considered as related to the current post by YARPP Plugin:
- ConsoleProgressBar - Simple Progress Bar Function for your VB.Net Console Application
- FlatStyle Delphi controls (Flat controls for your Delphi application)
- Delphi SMSCodec (SMS Processing Component)
- PinoezProgramRun (Running external program from Delphi)
- An example: Using CPort Delphi Component to read data from your cellphone
Hi, my name is Daniel Nugraha, a single male live on an island called Java, Indonesia. This is the place for me to share my interest in computer programming.
-
Get my Full Feed Here
Popular Entries
- Passing arguments to your VB.NET console application
- Microsoft Excel Import External Data Problem: When Microsoft Query doesn’t recognize some of your parameters
- Resize Image or Crop Image with Joe Lencioni’s Smart Image Resizer, WordPress Setup
- How to Get User Input and allowing more than 256 characters to be entered on .NET Console Application
- ASCII To PDU Converter (Convert ASCII to PDU and vice versa)
- ConsoleProgressBar - Simple Progress Bar Function for your VB.Net Console Application
- An example: Using CPort Delphi Component to read data from your cellphone
- Runtime-Form-Creation. Automatically creating child forms in a Delphi MDI application with a component array
- CPort Component (Serial port interface component for Delphi)
- SmartImageResizer Plugin, WordPress plugin based on Joe Lencioni’s Smart Image Resizer













