Difference between revisions of "TStringList-TStrings Tutorial"
(category and style) |
(Dynamic string array comparison) |
||
Line 71: | Line 71: | ||
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: | ||
+ | |||
+ | {| border=1 cellspacing=0 cellpadding=3 | ||
+ | |- | ||
+ | ! 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 || 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=== | ===Keep Learning=== | ||
− | You can learn all the different procedures,functions and property's | + | You can learn all the different procedures, functions and property's see [http://www.freepascal.org/docs-html/rtl/classes/tstringlist.html TStringList documentation] |
IF you feel i might have left something out, '''Modify At Will!''' | IF you feel i might have left something out, '''Modify At Will!''' |
Revision as of 22:49, 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 | 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!