Rev 735 | Rev 740 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 735 | Rev 737 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | procedure FreeList(list: PStringList); |
23 | procedure FreeList(list: PStringList); |
24 | function ListContains(list: PStringList; val: string): boolean; |
24 | function ListContains(list: PStringList; val: string): boolean; |
25 | procedure ListClear(list: PStringList); |
25 | procedure ListClear(list: PStringList); |
26 | function ListAppend(list: PStringList; str: string): integer; |
26 | function ListAppend(list: PStringList; str: string): integer; |
27 | function ListCount(list: PStringList): integer; |
27 | function ListCount(list: PStringList): integer; |
28 | procedure ListDeleteElement(list: PStringlist; idx: integer); |
28 | function ListDeleteElementByIndex(list: PStringlist; idx: integer): boolean; |
- | 29 | function ListDeleteElementByValue(list: PStringlist; val: string): boolean; |
|
29 | function ListGetElement(list: PStringList; idx: integer): string; |
30 | function ListGetElement(list: PStringList; idx: integer): string; |
30 | procedure ListSetElement(list: PStringList; idx: integer; value: string); |
31 | procedure ListSetElement(list: PStringList; idx: integer; value: string); |
31 | procedure ListInsert(list: PStringlist; str: string; idx: integer); |
32 | procedure ListInsert(list: PStringlist; str: string; idx: integer); |
32 | procedure ListSwapElement(list: PStringList; i, j: integer); |
33 | procedure ListSwapElement(list: PStringList; i, j: integer); |
33 | procedure SplitStrToList(str: string; list: PStringList; separator: string); |
34 | procedure SplitStrToList(str: string; list: PStringList; separator: string); |
Line 71... | Line 72... | ||
71 | 72 | ||
72 | procedure ListClear(list: PStringList); |
73 | procedure ListClear(list: PStringList); |
73 | begin |
74 | begin |
74 | while ListCount(list) > 0 do |
75 | while ListCount(list) > 0 do |
75 | begin |
76 | begin |
76 | ListDeleteElement(list, 0); |
77 | ListDeleteElementByIndex(list, 0); |
77 | end; |
78 | end; |
78 | end; |
79 | end; |
79 | 80 | ||
80 | function ListAppend(list: PStringList; str: string): integer; |
81 | function ListAppend(list: PStringList; str: string): integer; |
81 | var |
82 | var |
Line 127... | Line 128... | ||
127 | end; |
128 | end; |
128 | 129 | ||
129 | ListCount := cnt; |
130 | ListCount := cnt; |
130 | end; |
131 | end; |
131 | 132 | ||
132 | procedure ListDeleteElement(list: PStringlist; idx: integer); |
133 | function ListDeleteElementByIndex(list: PStringlist; idx: integer): boolean; |
133 | var |
134 | var |
134 | tmp, tmp2, prev: PStringList; |
135 | tmp, tmp2, prev: PStringList; |
135 | i: integer; |
136 | i: integer; |
136 | begin |
137 | begin |
- | 138 | ListDeleteElementByIndex := false; |
|
137 | if idx < 0 then exit; |
139 | if idx < 0 then exit; |
138 | if idx > ListCount(list)-1 then exit; |
140 | if idx > ListCount(list)-1 then exit; |
139 | 141 | ||
140 | tmp := list; |
142 | tmp := list; |
141 | prev := nil; |
143 | prev := nil; |
Line 164... | Line 166... | ||
164 | else |
166 | else |
165 | begin |
167 | begin |
166 | prev^.next := tmp^.next; |
168 | prev^.next := tmp^.next; |
167 | FreeMem(tmp, SizeOf(TStringList)); |
169 | FreeMem(tmp, SizeOf(TStringList)); |
168 | end; |
170 | end; |
- | 171 | ||
- | 172 | ListDeleteElementByIndex := true; |
|
- | 173 | end; |
|
- | 174 | ||
- | 175 | function ListDeleteElementByValue(list: PStringlist; val: string): boolean; |
|
- | 176 | var |
|
- | 177 | i: integer; |
|
- | 178 | begin |
|
- | 179 | ListDeleteElementByValue := false; |
|
- | 180 | for i := 0 to ListCount(list)-1 do |
|
- | 181 | begin |
|
- | 182 | if ListGetElement(list, i) = val then |
|
- | 183 | begin |
|
- | 184 | ListDeleteElementByValue := ListDeleteElementByIndex(list, i); |
|
- | 185 | exit; |
|
- | 186 | end; |
|
- | 187 | end; |
|
169 | end; |
188 | end; |
170 | 189 | ||
171 | function ListGetElement(list: PStringList; idx: integer): string; |
190 | function ListGetElement(list: PStringList; idx: integer): string; |
172 | var |
191 | var |
173 | tmp: PStringList; |
192 | tmp: PStringList; |