Subversion Repositories oidplus

Rev

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;