| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > Работа с БД FoxBASE+/dBase III PLUS в С++ Билдер 6 |
| Автор: Eugene82 15.7.2005, 10:26 |
| Вообще задача такая: Есть таблица FoxBASE+/dBASE III PLUS. Нужно исправить значение текстового поля, добавив текст в начало записи, если начало записи удовлетворяет условию вхождения в текстовый файл - в текстовом файле существует такая строка. Я представляю программу примерно так: 1. Открыть файл таблицы. 2. Открыть текстовый файл. 3. Взять значение из поля таблицы. 4. Сравнить это значение строкой текстового файла. Сравнение должно быть по количеству первых символов равное количеству символов текущей строки в текстовом файле. 5. Если совпадают - записать в поле новое значение в виде "новый текст + старое значение". 6. Если не совпадают - сравнить со следующей строкой текстового файла. 7. Взять значение из следующей строки таблицы. 8. Повторять пункты 4-7 пока не кончаться строки в таблице. Вариант 2. Тоже самое, только сравнить каждую строку таблицы со строкой текстового файл и перейти к следующей. Какой из вариантов лучше? Помогите пожалуйста с реализацией этого алгоритма в коде! Можно по отдельным пунктам. |
| Автор: ArnoldLane 18.7.2005, 01:01 |
| Не совсем понял тебя. Скорее всего понял не правильно. Вот, что я понял, если неправ поправь: 1. Есть текстовый файл, в который построчно записанна какая-то информация. 2. Есть файл dbf с текстовым полем. 3. К примеру в тестовом файле первая сторока выглядит следующим образом - "date47ef", так вот надо найти в таблице такую запись, в искомом поле которой будет следующая строка, к примеру - "date47ef_JAGA_JAGA". 4. Значение этого же поля в найденной записе, следует изминить на - "date47ef-date47ef_JAGA_JAGA". Если все же я прав, то задача довольна проста. В принципе могу помочь с кодом. |
| Автор: Eugene82 18.7.2005, 07:37 |
| ArnoldLane Ты почти прав. Только прибавлять к значению поля надо не строку из файла, а определённую текстовую константу: "643" (Код России по Общероссийскому классификатору стран мира (ОКСМ)). В результате должна получиться строка типа: "643,,Область,Район,Город,Населённый пункт,Улица,Дом,Корпус,Квартира". В текстовом файле находиться перечень областей, краёв, АО и республик. Искать надо строки без кода страны, т.е. начинающиеся на ",,"+"строка из текстового файла". |
| Автор: ArnoldLane 18.7.2005, 20:55 | ||
Кажется так. |
| Автор: Eugene82 20.7.2005, 12:11 |
| ArnoldLane Создал формочку, подключил файл operate, кинул на формочку ADOQuery, а Билдер говорит что не понял что такое ifstream. Что ещё надо подключить? |
| Автор: ArnoldLane 20.7.2005, 13:44 | ||
|