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

Ваш аккаунт

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

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

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

Помогите разобраться с форматом csv

12K
14 декабря 2006 года
IceHead
3 / / 07.09.2005
Мне не обходимо выдрать данные (фамилию и 59547,07) из csv файла:
;060000970;;ДЕНИСОВ АЛЕКСАНДР АЛЕКСЕЕВИЧ;;;;;14537,07;;0,00;0,00;;0,00;;59547,07;0,00
как это можно сделать?
Я могу только фамилию через Memo и функцией AnsiPos, а как предпоследнее число даже не представляю.
12K
15 декабря 2006 года
wedmed
32 / / 10.12.2006
Я так понимаю- тебе нужно распарсить csv- файл на N записей- чтобы выцарапать оттуда нужные данные...
Есть 2 пути решения:
1- если в csv есть какая-то логика- распарсить файл в многомерный массив по разделилелю ";" чтобы у тебя получилось
 
Код:
char ArrOfData[][m][n]={};//m-кол-во блоков записей
                                     //n- максимальная длинна записи

2- если логики в файле нет(что вряд-ли)- сделать то что тебе нужно нереально (если только у тебя на машине случайно нет исходников матрицы)
Если исхходники матрицы есть- скомпилируй их, а дальше из командной строки:
 
Код:
TAgentSmith* Smith= new TAgentSmith;
Snith->AddTarget(Neo);
Snith->AddTarget(Triniti);
Snith->AddTarget(то что тебе нужно сделать с cvs);

//ГЛАВНОЕ!!!!! НЕ ЗАБЫТЬ УДАЛИТЬ ОБЪЕКТ Smith
delete Smith;


P.S.
п 2 - конечно, шутка;)
12K
15 декабря 2006 года
IceHead
3 / / 07.09.2005
А по первому способу можно поподробней, исходничек как парсить
294
15 декабря 2006 года
Plisteron
982 / / 29.08.2003
Если вопрос в том, как лучше поделить строку по разделителям, можно ещё местный FAQ почитать.
92
15 декабря 2006 года
Тень Пса
2.2K / / 19.10.2006
 
Код:
TStringList * row = new TStringList();

row->Delimiter = ";";
row->DelimitedText = temp_string; //где temp_string это строчка CSV файла

/*...........*/

ShowMessage(row->operator[](15).Trim());


вроде как должна показать тебе чиселку которую надо, а если вместо 15 будет 3, то должна показать тебе ФИО.....

PS: если где-то ошибки, сильно ногами не пинать.... в работе не проверял, но как бы должна работать... :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог