Difference between revisions of "TStringList-TStrings Tutorial"
(Dynamic string array comparison) |
|||
Line 72: | Line 72: | ||
You just opened a file,edited it and saved it right back to were it was! | You just opened a file,edited it and saved it right back to were it was! | ||
− | + | ==Dynamic string array comparison== | |
TStringList is simply advanced object version of dynamic string array. Some methods have analogy: | TStringList is simply advanced object version of dynamic string array. Some methods have analogy: | ||
Line 86: | Line 86: | ||
| Set size || SetLength(StringList, X); || StringList.Size := X; | | Set size || SetLength(StringList, X); || StringList.Size := X; | ||
|- | |- | ||
− | | Get size || Length(StringList); || X := StringList.Size; | + | | Get size || X := Length(StringList); || X := StringList.Size; |
|- | |- | ||
| Add item || SetLength(StringList, Length(StringList) + 1); StringList[Length(StringList) - 1] := X; || StringList.Add(X); | | Add item || SetLength(StringList, Length(StringList) + 1); StringList[Length(StringList) - 1] := X; || StringList.Add(X); | ||
Line 99: | Line 99: | ||
But TStringList offer much more functionality than basic structure as dynamic array. | But TStringList offer much more functionality than basic structure as dynamic array. | ||
− | + | ==Keep Learning== | |
You can learn all the different procedures, functions and property's see [http://www.freepascal.org/docs-html/rtl/classes/tstringlist.html TStringList documentation] | You can learn all the different procedures, functions and property's see [http://www.freepascal.org/docs-html/rtl/classes/tstringlist.html TStringList documentation] | ||
Revision as of 22:50, 9 September 2010
TStringList
The TStringList(Or TStrings) is much like a fancy dynamic array or Set of Strings(Not Possible). It will come in handy alot when programming and I'm going to teach you basic TStringList Usage!
<Delphi>program StrList;
var
Str: TStringList;
begin
Str := TStringList.Create; // This is needed when using this class(or most classes) Str.Add('Some String!'); Readln;
end;</Delphi>
This is a simple program(Console) that will create and add one string to a string list! Now heres some things you should know:
Create - Will create the string list for modifying.
Count - Is a counter for the amount of strings in the List. It is a zero based counter
Add - Will allow you to add one string to the string list. It is a Function that will return the Index of the String. This is Were the counter comes in handy.
Delete - Will delete a string from the string list. Just know that you do not simply input the string, you have to input the index of the string.(Like I said. Its like a fancy Dynamic Array)
IndexOf - Will allow you to return the index of the string in the list. If it is not found it returns -1.
Clear - Will clear the list.
Example
How about a more juicy example, Eh?
<Delphi>program StrList;
var
Str: TStringList; S: String; Counter: Integer;
begin
Str := TStringList.Create; Writeln('String List Test'); repeat Writeln('Input a string to add'); Readln(S); if (S = 'EXIT') then Halt; if not (S = ) then begin Counter := Str.Add(S); Writeln('String: ' + S + ' was Added!'); Writeln('Index is: ' + IntToStr(Counter); // The counter will always become the index of the last thing added end rlse Writeln('Nothing Inputed :D'); until (S = 'EXIT');
end;</Delphi>
File Handling
When using the TStringList you have 2 main file handling procedures. SaveToFile And LoadFromFile By Using SavetoFile it will save all strings in the list to a file. LoadFromFile will open the file and add the file data to the list string by string.
<Delphi>var
Str: TStringList;
begin
Str := TStringList.Create; Str.LoadFromFile('SomeFile.txt'); Str.Add('Hello'); Str.SaveToFile('SomeFile.txt');
end;</Delphi>
You just opened a file,edited it and saved it right back to were it was!
Dynamic string array comparison
TStringList is simply advanced object version of dynamic string array. Some methods have analogy:
Operation | array of string | TStringList |
---|---|---|
Variable declaration | StringList: array of string; | StringList: TStringList; |
Initialization | implicit constructor | StringList := TStringList.Create |
Set size | SetLength(StringList, X); | StringList.Size := X; |
Get size | X := Length(StringList); | X := StringList.Size; |
Add item | SetLength(StringList, Length(StringList) + 1); StringList[Length(StringList) - 1] := X; | StringList.Add(X); |
Delete item | for I := Index to Length(StringList) - 2 do StringList[I] := StringList[I + 1]; SetLength(StringList, Length(StringList) - 1); | StringList.Delete(Index); |
Remove all items | SetLength(StringList, 0); | StringList.Clear; |
Finalization | implicit destructor | StringList.Free; |
But TStringList offer much more functionality than basic structure as dynamic array.
Keep Learning
You can learn all the different procedures, functions and property's see TStringList documentation
IF you feel i might have left something out, Modify At Will!
Hope I helped!