скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как получить номер записи в dBASE или Paradox



Попали в одну камеру разбойник и хакер. Разбойник:
- Я вот сижу за ограбление магазина... А ты за что сидишь? Хакер:
- Ограбил банк на 7 миллионов долларов... Разбойник:
- Да ты че... ни фига себе.. как же ты унес их из банка - денег-то офигенно много? Хакер рассказывает в общих чертах о компьютерах, сетях, взломах и т. д. Разбойник:
- Ну ни фига себе, а как же ты попался? Хакер:
- Брандмауэр засек и сработала защита.. Разбойник:
- Ах ты... Брандмауэр, твою мать... Всегда знал, что евреев опасаться надо...


function FindRecordNumber (aDataSet : TDataSet): longint;
 var
  cP: CurProps;
  rP: RECProps;
  DBRes: DBiResult;
 begin
  {Return 0 if dataset is not Paradox or dBase}
  Result := 0;
 
  with aDataset do
   begin
    if state = dsInactive then exit;
 
    {we need to make this call to grab the cursor's iSeqNums}
    DBRes := DBiGetCursorProps(Handle,cP);
    if DBRes <> DBIERR_NONE then exit;
 
    {synchronize the BDE cursor with the dataset's cursor}
    UpdateCursorPos;
 
    {fill rP with the current record's properties}
    DBRes := DBiGetRecord(Handle,DBiNOLOCK,nil,@rP);
    if DBRes <> DBIERR_NONE then exit;
 
    {what kind of dataset are we looking at?}
    case cP.iSeqNums of
     0: result := rP.iPhyRecNum; {dBase}
     1: result := rP.iSeqNum;    {Paradox}
    end;
   end;
 end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook