|
![]() |
#1 |
1C
|
Извините нечаянно отправил недописанное сообщение
boolean openFile()
{ boolean ret = false; ; aSCIIFile = new AsciiIo(filename, 'r'); if (aSCIIFile) { if (aSCIIFile.status()) { throw error("@SYS52680"); } aSCIIFile.inFieldDelimiter('\r\n'); aSCIIFile.inRecordDelimiter('\r\n'); ret = true; } return ret; } Параметры \r\n надо обязательно проставить, при условии, если вы не хотите вводит разделители полей и записей. Если не проставишь то чтение строки будет происходить до первого пробела. Далее происходит чтение файла в память. Сдела это так: if (aSCIIFile) { while (aSCIIFile.Status() == IO_Status::Ok) { memoryFile = conins(memoryFile, fileCountFile, aSCIIFile.read()); fileCountFile++; } } Каждый элемент контейнера - это строка файла. Потом перемещаясь по контейнеру, вы фактически пермещатесь по строкам файла. Ну и наконец в цикле возможна обработка строк стандарными функциями Ax, например subStr итд. Единственная оговорка, что при вставки записи вполне понадобиться измнение номерной серии программно. Я делал это так: Мое поле = NumberSeq::newGetNumFromCode("Моя серия", true, false).num(); За совет спасибо форуму. Описание классов, отвечающих за работу с текстовыми файлами в Ax можно найти: http://axapta.mazzy.ru/hints/textfile/ |
|
|
![]() |
||||
Тема | Ответов | |||
импорт текст.файла во временную таблицу | 5 | |||
Импорт данных из текстового файла | 17 | |||
Импорт данных из XML файла | 0 | |||
Импорт из текстового файла | 8 | |||
импорт из текстового файла | 1 |
|