Subversion Repositories oidplus

Rev

Rev 737 | Rev 747 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 737 Rev 740
Line 49... Line 49...
49
end;
49
end;
50
 
50
 
51
procedure FreeList(list: PStringList);
51
procedure FreeList(list: PStringList);
52
begin
52
begin
53
  if list^.next <> nil then
53
  if list^.next <> nil then
54
    FreeMem(list^.next, SizeOf(TStringList));
54
    FreeList(list^.Next);
55
  FreeMem(list, SizeOf(TStringList));
55
  FreeMem(list, SizeOf(TStringList));
56
end;
56
end;
57
 
57
 
58
function ListContains(list: PStringList; val: string): boolean;
58
function ListContains(list: PStringList; val: string): boolean;
59
var
59
var
Line 280... Line 280...
280
 
280
 
281
procedure ListBubbleSortNumericString(list: PStringList);
281
procedure ListBubbleSortNumericString(list: PStringList);
282
var
282
var
283
  n, i: integer;
283
  n, i: integer;
284
  a, b: string;
284
  a, b: string;
-
 
285
  swapped: boolean;
285
begin
286
begin
286
  n := ListCount(list);
287
  n := ListCount(list);
287
  while n>1 do
288
  while n>1 do
288
  begin
289
  begin
289
    i := 0;
290
    i := 0;
-
 
291
    swapped := false;
290
    while i<n-1 do
292
    while i<n-1 do
291
    begin
293
    begin
292
      a := ListGetElement(list, i);
294
      a := ListGetElement(list, i);
293
      b := ListGetElement(list, i+1);
295
      b := ListGetElement(list, i+1);
294
      if CompareNumericString(a, b) > 0 then
296
      if CompareNumericString(a, b) > 0 then
295
      begin
297
      begin
296
        ListSwapElement(list, i, i+1);
298
        ListSwapElement(list, i, i+1);
-
 
299
        swapped := true;
297
      end;
300
      end;
298
      Inc(i);
301
      Inc(i);
299
    end;
302
    end;
-
 
303
    if not swapped then break;
300
    Dec(n);
304
    Dec(n);
301
  end;
305
  end;
302
end;
306
end;
303
 
307
 
304
end.
308
end.