ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/DataAccess/Access_OUP_ADB.pas
(Generate patch)

Comparing oup/current/DataAccess/Access_OUP_ADB.pas (file contents):
Revision 134 by alloc, Wed Mar 28 17:53:54 2007 UTC vs.
Revision 229 by alloc, Wed Jun 20 10:57:51 2007 UTC

# Line 46 | Line 46 | type
46   implementation
47  
48   uses
49 <  SysUtils, Data, Functions, ABSDecUtil, DB, DatLinks;
49 >  SysUtils, Data, Functions, ABSDecUtil, DB, DatLinks, StrUtils;
50  
51  
52   (*
# Line 73 | Line 73 | begin
73    FDatabase.Open;
74    FQuery := TABSQuery.Create(FDatabase);
75    FQuery.DisableControls;
76 +  FQuery.RequestLive := False;
77    FQuery.DatabaseName := 'OLDBcon' + IntToStr(ConnectionID);
78    FQuery.SQL.Text := 'SELECT [name],[value] FROM globals ORDER BY [name] ASC';
79    FQuery.Open;
# Line 89 | Line 90 | begin
90      end;
91      if FQuery.FieldByName('name').AsString = 'lvl' then
92        FLevelNumber := StrToInt(FQuery.FieldByName('value').AsString);
93 <    if FQuery.FieldByName('name').AsString = 'DataOS' then
93 >    if FQuery.FieldByName('name').AsString = 'os' then
94      begin
95        if FQuery.FieldByName('value').AsString = 'WIN' then
96          FDataOS := DOS_WIN
# Line 111 | Line 112 | begin
112    FChangeRights := [CR_EditDat, CR_EditRaw, CR_ResizeDat, CR_ResizeRaw];
113  
114    UpdateListCache;
115 +
116 +  inherited;
117   end;
118  
119  
# Line 212 | Line 215 | end;
215  
216  
217  
218 +  function CompareItems(List: TStringList; I1, I2: Integer): Integer;
219 +  var
220 +    s1, s2: String;
221 +  begin
222 +    s1 := MidStr(List[I1], 1, PosEx(';', List[I1], 6) - 1);
223 +    s2 := MidStr(List[I2], 1, PosEx(';', List[I2], 6) - 1);
224 +    Result := CompareStr(s1, s2);
225 +  end;
226  
227   function TAccess_OUP_ADB.GetFilesList(ext: String; pattern: String;
228    NoEmptyFiles: Boolean; SortType: TSortType): TStrings;
# Line 252 | Line 263 | var
263  
264   begin
265    list := TStringList.Create;
266 <  list.Sorted := True;
266 >  if SortType in [ST_ExtNameAsc, ST_ExtNameDesc] then
267 >    list.Sorted := False
268 >  else
269 >    list.Sorted := True;
270    for i := 0 to GetFileCount - 1 do
271    begin
272      if ((Length(ext) = 0) or (Pos(Fdat_files[i].Extension, ext) > 0)) and
# Line 269 | Line 283 | begin
283            ST_IDAsc, ST_IDDesc:     list.Add(id + ';' + name + ';' + extension);
284            ST_NameAsc, ST_NameDesc: list.Add(name + ';' + id + ';' + extension);
285            ST_ExtAsc, ST_ExtDesc:   list.Add(extension + ';' + id + ';' + name);
286 <          ST_ExtNameAsc, ST_ExtNameDesc: list.Add(name + ';' + extension + ';' + id);
286 >          ST_ExtNameAsc, ST_ExtNameDesc: list.Add(extension + ';' + name + ';' + id);
287          end;
288        end;
289      end;
290    end;
291 +  if SortType in [ST_ExtNameAsc, ST_ExtNameDesc] then
292 +    list.CustomSort(CompareItems);
293    if not Assigned(Result) then
294      Result := TStringList.Create;
295    if list.Count > 0 then

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)