Показать сообщение отдельно
Старый 23.04.2008, 23:59     # 4
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 515

Borland - Гад и сволочь
Ну, если уж делать "как положено", то есть с привлечением средств ООП, то нужно создать класс, описывающий формат файла и умеющий считывать его в память (опционально - записывать содержимое памяти обратно в файл того же формата) с функцией-членом, обеспечивающей чтение произвольного элемента.
И при заполнении целевого массива использовать эту функцию со сдвигом на 2 столбца (т.е. 1-й элемент строки целевого массива считывается считывается из 3-го элемента соответствующей "строки" класса).
А всю "прозу жизни" (разбор строк файла) упрятывать в этот класс.
Если количество строк сильно переменное (скажем, от 10 до 10000) имеет смысл целевой двумерный массив заменить на связанный список указателей на элементы-"строки" (чтобы не выделять априорно лишнюю память и в то же время не оказаться в ситуации, когда выделенная память недостаточна для считывания файла).
В общем, очень многое зависит от того, что в дальнейшем планируется делать с целевым массивом...
Цитата:
Сообщение от Emelman Посмотреть сообщение
что значит "-1" в конце команды
Означает, что ";" в подстроку не попадает (крайним правым символом подстроки-результата этой команды становится символ слева от ";").
На самом деле, данная функция должна стоять в правой части оператора присваивания...
Цитата:
Сообщение от Emelman Посмотреть сообщение
Что за команда "SubString"?
Функция выделения подстроки, что вполне очевидно...

Цитата:
Сообщение от Emelman Посмотреть сообщение
Потом мы зачем-то стираем и третий столбец.
Чтобы следующая strTMP.SubString(1,strTMP.Pos(";") - 1); вернула значение четвёртого столбца...
Цитата:
Сообщение от Emelman Посмотреть сообщение
не понятное мне "+1"
Вот здесь мне тоже не совсем понятно, а лезть в мануал за описанием команды лень... Если данная команда - правильная, то почему "+1" нету в команде удаления первых двух столбцов?
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума