Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

разбор dbf (DBASE III, IV)

462
18 октября 2002 года
little brother
81 / / 18.10.2002
Работаю с dbf форматом и немогу вытащить записи. Получается только извлечь их в CString (readstring), но туда лезет сразу все. Считываю в new unsigned char[](read), но не могу разобрать что за симыолы (получаю НННННННННэээ)??? Как бы это все сладить в VC++?
1.3K
18 октября 2002 года
Undefined
5 / / 20.05.2000
через ODBC
426
19 октября 2002 года
Krivonos
112 / / 20.01.2000
Вообще-то у меня всегда получается. Лично я использую нижеприведенные классы и считываю эти структуры целиком, т.е. read(экземпляр класса, sizeof(TDBFHeaderDescrStruct));
Нюанс: большинство файлов дбф были под дос, поэтому использовал ф-ии OemToChar и CharToOem

class TDBFHeaderDescrStruct
{
public:
unsigned char m_dbtype; // Type of DBF file··············· //
unsigned char m_year; // Year of DBF file··············· //
unsigned char m_month; // Month of DBF file·············· //
unsigned char m_day; // Day of DBF file················ //
unsigned long m_reccount; // Record count··················· //
unsigned short m_position; // Position of first record······· //
unsigned short m_recordlen; // Lenght of record··············· //
char m_reserved1[16]; // Reserved bytes················· //
unsigned char m_cdx; // Is CDX-file ··················· //
char m_reserved2[3]; // Reserved bytes (0x00)·········· //
};

class TDBFFieldDescrStruct
{
public:
char m_fieldname[11]; // Field name: 11 chars··········· //
unsigned char m_fieldtype; // Field type: C,N,D,L,M·········· //
unsigned long m_fieldadress; // Field adress··················· //
unsigned char m_fieldlen; // Field lenght··················· //
unsigned char m_fielddec; // Lenght of decimal places······· //
char m_reserved[14]; // Reserved bytes················· //
};
462
21 октября 2002 года
little brother
81 / / 18.10.2002
Все работает! Немного странновато (не так, как в книжках пишут), но работает. Вот только не могу теперь удалить свою переменную. Пробовал и delete и delete [] - программа выдает ошибку и отмирает?!
Причем пока нет данных в буфере все нормально, но стоит присвоить хоть один символ и хана.
426
22 октября 2002 года
Krivonos
112 / / 20.01.2000
опиши проблему конкретней.
delete надо использовать только вместе с new
462
22 октября 2002 года
little brother
81 / / 18.10.2002
Конкретный пример:
//*********************
char *buf;
buf = new char;
delete buf;
Вот этот вариант работает нормально.
//**********************

А следующий уже не работает!
//**********************
char *buf;
buf = new char;
buf = "string";
delete buf;
(не получается и delete [] buf и dlete [7] buf)
//***********************
В общем не могу удалить не нулевую переменную.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог