-
پیداش کردم - BDE Sorting
بالاخره پیداش کردم...
این که چجوری رکورد های یک Table رو مرتب کنم. واقعا یکی از سخت ترین چیزهایی بود که تا الان دنبالش گشته بودم. اینجا هم می ذارم تا اگه یه بنده خدای دیگه ای هم کارش گیر کرد استفاده کنه اذیت نشه.... فقط هر بار که استفاده می کنیدش یه درودی یه روح ما بفرستید که خیلی براش سختی کشیدم. بعد این همه تعریف بگم که یه سری اشکالات کوچیک هم داره ولی تا حدود زیادی کار را بندازه. مشکلات کوچیکش هم بیشتر بخاطر زبون فارسیه!!!!
کد:
Procedure SortTable(Table: TTable; Field: TField; CaseInsensitive: boolean;
Order: SORTOrder; var SortNumber: longint);
Var
Props: CURProps;
FieldNumber: Word;
hDb: hDBIDb;
Begin
If Table.Active = False Then
Raise EDatabaseError.Create('Table must be opened');
Check(DbiGetCursorProps(Table.Handle, Props));
If Props.bIndexed = True Then
Raise EDatabaseError.Create('No index can be active when sorting the table');
FieldNumber := Field.Index + 1;
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
Table.Close;
Try
Check(DbiSortTable(hDb, PChar(Table.TableName), Props.szTableType,
nil, nil, nil, nil, 1, @FieldNumber, @CaseInsensitive, @Order, nil,
False, nil, SortNumber));
Finally
Table.Open;
End;
end;
-
خواهشا کسی ایراد نگیره چرا 2 تا پست فرستادی..... تقصیر خودم نبود!!! هرچی هم گشتم دکمه ای چیزی واسه حذفش پیدا نکردم!!!!