Доброе время суток, Yevg! Ну я бы в Билдере так написал: char root[] = "c:", vol[10], filesys[10]; DWORD volsize = 10, volsn, maxcl, fsysflg, fsyssize = 10; GetVolumeInformation(root,vol,volsize,&volsn,&maxcl,&fsysflg,filesys,fsyssize); Символ "&" перед некотолрыми именами означает что в функцию передается не значение переменной, а ее адрес. Ответ отправлен: 24.08.2002, 16:31 Отправитель: Pablo
Вопрос № 152
Насчет вопроса о TTable (в приложении) Ответ Pablo: Чтото не совсем понятно, если ты удаляешл индекс то почему он должен быть найден?! Потому что делфи в БД по 28 байту dbf файла, записала 1 (типа БД проиндексирована => индекс должен быть, соответсвенно 0 - непроиндексирована) и ей плевать есть он на самом деле или нет. А Name это же имя индекса, и я впервые слышу чтоб каждый индекс содердался в одлеьном файле, помому они или в БД держатся или все индексы в отдельном файле, но не каждый. Переписываю клиперовскую программу, у нее каждый индекс в отдельном файле.
Добрый день, Serzhant! Ну вот так как не всегда по твоим словам индекс хранится в том же файле, как он и называется для этого и нужно поле Name. А по поводу удаления индекса, тебе что нужно обязательно таблица не индексированная?! Если не то апосля удаления ненужного индекса создавай какой нить фиктивный индекс например! Ответ отправлен: 26.08.2002, 13:12 Отправитель: Pablo Отвечает baldr
Добрый день, Serzhant! Не знаю как в твоем клиторе, но вот я делал БД на Делфи с paradox-таблицами, так вот каждый индекс там действительно хранится в отдельном файле. Может, ты путаешь индекс и значение? В таблице может быть хоть миллион записей, но один или несколько индексов (от нуля до количества полей, кажется). Ответ отправлен: 26.08.2002, 12:29 Отправитель: baldr
Вопрос № 157
Ну вот так как не всегда по твоим словам индекс хранится в том же файле, как он и называется для этого и нужно поле Name. ?!, есть у меня бд dbname.dbf, если для нее я создаю индекс методом addindex("myindex","FieldName",[ixUnique]), то у меня создается файл, не myindex.mdx,а dbname.mdx причем dbname.dbf с подправленны заголовком, хотя я не просил делфи проявлять инициативу, может это отменить как нибудь можно, если уж вернуть все как выросло нельзя? А по поводу удаления индекса, тебе что нужно обязательно таблица не индексированная?! Индексированную таблицу с удаленным индексом(файлом) делфи открывать отказывается :( фиктивный индекс например! - что это такое? P.S. Сорри, я тебе чужое авторство присвоил.
Я тут смотрю, вы скоро на кулаки перейдёте... А заглянуть в Source\Vcl\dbtables.pas никто не додумался? Поищите там реализацию метода TTable.GetHandle и поймите, что средствами Borland VCL проблема индексов не решится! Повторно убедится можно, заглянув в реализацию TTable.IsXBaseTable. То есть, нужно писать с использованием BDE. Как - приблизительно подскажу. Есть родной VCL объект TDataBase. Его свойство Handle позволит открыть таблицу вызовом DbiOpenTable. Получив Handle открытой таблицы, можно издеваться над ней так, как душе угодно, например - DbiDeleteIndex. После издевательств рекомендуется закрыть таблицу, используя DbiCloseCursor. Ответ отправлен: 27.08.2002, 18:38 Отправитель: Артём Шегеда Отвечает Pablo
Доброе время суток, Serzhant! Я не понял таки зачем тебе нужно чтоб индекс был создан а хатем удален?! Ну и правильно, один файл с индексами, который и содержит в себе все индексы к базе данных. Ответ отправлен: 27.08.2002, 22:02 Отправитель: Pablo
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.