![]() |
|
|
![]()
|
|
| Eugene82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 30.5.2005 Где: г. Ростов-на-Дону Репутация: нет Всего: нет |
Вообще задача такая: Есть таблица FoxBASE+/dBASE III PLUS. Нужно исправить значение текстового поля, добавив текст в начало записи, если начало записи удовлетворяет условию вхождения в текстовый файл - в текстовом файле существует такая строка.
Я представляю программу примерно так: 1. Открыть файл таблицы. 2. Открыть текстовый файл. 3. Взять значение из поля таблицы. 4. Сравнить это значение строкой текстового файла. Сравнение должно быть по количеству первых символов равное количеству символов текущей строки в текстовом файле. 5. Если совпадают - записать в поле новое значение в виде "новый текст + старое значение". 6. Если не совпадают - сравнить со следующей строкой текстового файла. 7. Взять значение из следующей строки таблицы. 8. Повторять пункты 4-7 пока не кончаться строки в таблице. Вариант 2. Тоже самое, только сравнить каждую строку таблицы со строкой текстового файл и перейти к следующей. Какой из вариантов лучше? Помогите пожалуйста с реализацией этого алгоритма в коде! Можно по отдельным пунктам. |
|||
|
||||
| ArnoldLane |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 14.6.2005 Репутация: нет Всего: нет |
Не совсем понял тебя. Скорее всего понял не правильно. Вот, что я понял, если неправ поправь:
1. Есть текстовый файл, в который построчно записанна какая-то информация. 2. Есть файл dbf с текстовым полем. 3. К примеру в тестовом файле первая сторока выглядит следующим образом - "date47ef", так вот надо найти в таблице такую запись, в искомом поле которой будет следующая строка, к примеру - "date47ef_JAGA_JAGA". 4. Значение этого же поля в найденной записе, следует изминить на - "date47ef-date47ef_JAGA_JAGA". Если все же я прав, то задача довольна проста. В принципе могу помочь с кодом. |
|||
|
||||
| Eugene82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 30.5.2005 Где: г. Ростов-на-Дону Репутация: нет Всего: нет |
ArnoldLane Ты почти прав. Только прибавлять к значению поля надо не строку из файла, а определённую текстовую константу: "643" (Код России по Общероссийскому классификатору стран мира (ОКСМ)).
В результате должна получиться строка типа: "643,,Область,Район,Город,Населённый пункт,Улица,Дом,Корпус,Квартира". В текстовом файле находиться перечень областей, краёв, АО и республик. Искать надо строки без кода страны, т.е. начинающиеся на ",,"+"строка из текстового файла". |
|||
|
||||
| ArnoldLane |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 14.6.2005 Репутация: нет Всего: нет |
Кажется так. |
|||
|
||||
| Eugene82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 30.5.2005 Где: г. Ростов-на-Дону Репутация: нет Всего: нет |
ArnoldLane Создал формочку, подключил файл operate, кинул на формочку ADOQuery, а Билдер говорит что не понял что такое ifstream. Что ещё надо подключить?
|
|||
|
||||
| ArnoldLane |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 14.6.2005 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |