Broblem z bazą danych dBase III

0

Pisze programik a dokładniej bibliotekę dll do obsługi bazy danych dBASE III napisałem juz funkcje i procedury sterujące tzn. otwieranie, odczytywanie, zmienianie wartości w bazie, wstawianie nowego rekordu. Strukturę bazy zanalazłem w internecie jednakw przykładzie nie było opisane jak usuwać dany rekord.
Wiem że delphi posiada biblioteki DBE które obsługują wszystkie bazy danych. Jednak ja chce sam taka bibliotekę napisać potrzebne mi to jest gdyż pisze nową bazę danych o innej strukturze a otwieranie dbase III ma być dodatkiem fdo mojego programu a poza tym chce napisać program działający jak i pod Windowsem i Linuxem.

Problem jednak tkwi gdyż nigdzie nie mogłem znaleŹć jak usuwa się danych rekord, próbowałem kilku rozwiązan ale utrudnia mi to że baza danych dBase jest plikiem anforycznym o zmiennej budowie. Znam procedure w Delphi która usuwa ostani rekokord, danę "TRUNCATE", ale jednak o na nie działa na pliki anforyczne.

Prosze o jakies wskazówki jak można nay rekord usunąc w pliku.

II PYTANIE.
Mam pytanie czy do biblioteki dll można wstawiać funkcje przeciążone?

0

delphi posiada biblioteki DBE które obsługują wszystkie bazy danych

Zapewne chodzi Ci o BDE (Borland Database Engine).
Otóż BDE wcale nie obsługuje wszystkich baz danych.

Rozumiem, że chcesz napisać samodzielnie obsługę dBase-a bez użycia BDE. Czyli nie można użyć zwykłego TTable.Delete, czy TQuery.Delete.
Usuwanie (fizyczne) danych z pliku musi być połączone z kopiowaniem, a operacje dyskowe trwają! Dlatego z reguły w bazach danych, przy usuwaniu rekordów, tak naprawdę wcale nie są one usuwane - zob.: http://4programmers.net/Forum/viewtopic.php?id=56162 i http://4programmers.net/Forum/viewtopic.php?id=40674. Zrób coś podobnego u siebie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1