AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.12.2004, 14:18   #1  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Thumbs down
Подскажите пожалуйста - можно ли как нибудь сделать что бы при экспорте ДатаПортом - если существует уже файл то он не перезаписывался а дописывался???
Старый 17.12.2004, 14:38   #2  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
->
А зачем обязательно датапортом ? Файл ведь у Вас текстовый? Можно открыть его как самый обычный файл (переменная типа File) и дописать в него нужное число строк в удобном для Вас формате.
Старый 17.12.2004, 15:03   #3  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
В совсем крайнем случае можно таки написать в другой файл, а потом какой-нибудь умной софтиной эти два файла объединить через SHELL
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 17.12.2004, 15:35   #4  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
Цитата:
Сообщение от Дуд
В совсем крайнем случае можно таки написать в другой файл, а потом какой-нибудь умной софтиной эти два файла объединить через SHELL
... такой как
Код:
copy file1+file2 file1
Старый 20.12.2004, 14:49   #5  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Цитата:
Сообщение от johndoe
Цитата:
Сообщение от Дуд
В совсем крайнем случае можно таки написать в другой файл, а потом какой-нибудь умной софтиной эти два файла объединить через SHELL
... такой как
Код:
copy file1+file2 file1
Не совсем понял как так можно : copy file1+file2 file1!?
Старый 20.12.2004, 15:13   #6  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
Post
Цитата:
Сообщение от Greggy
Цитата:
Сообщение от johndoe
... такой как
Код:
copy file1+file2 file1
Не совсем понял как так можно : copy file1+file2 file1!?
COPY - команда операционной системы , дающая возможность "склеивать" файлы так, как я написал в примере. Пример, кстати, рабочий (если файлы file1 и file2 имеются в наличии, разумеется).
Старый 21.12.2004, 08:45   #7  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Цитата:
Сообщение от johndoe
COPY - команда операционной системы  , дающая возможность "склеивать" файлы так, как я написал в примере. Пример, кстати, рабочий (если файлы file1 и file2 имеются в наличии, разумеется).
А можно ссылочку или информацию где об этом можно было бы поподробнее прочитать?
Заранее благодарен!
Старый 21.12.2004, 11:27   #8  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
Читайте встроенную справку ОС Windows (любая версия).
Старый 21.12.2004, 13:55   #9  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
А как это можно в Навижн использовать?
Старый 21.12.2004, 14:06   #10  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Ой-ёй-ёй........

<div class='CALtop'>C/AL</div><div class='CAL'>
IF SHELL(STRSUBSTNO('cmd /C copy "%1"+"%2" "%1"', filename1,filename2)) THEN;
</div>

Двойные кавычки позволяют использовать длинные/русские имена файлов.
Если нет CMD (Win95), то пользуйте COMMAND.COM
/C - выполнить команду и завершиться, иначе окно останется.
Проверка кода возврата SHELL позволяет дождаться заверешения операции, иначе она пойдет "параллельно".
Старый 21.12.2004, 14:17   #11  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Пожалуйста не судите строго меня постараюсь разобраться
Старый 21.12.2004, 14:38   #12  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Спасибо большое всем! Я на самом деле протупил - я пропустил функцию SHELL перед всеми извиняюсь за мозгопарство
Старый 21.12.2004, 15:23   #13  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
Hi, All!
Коллеги, что-то вы перемудрили. На вопрос можно ли дописывать Датапортом , ответ - можно.
Старый 21.12.2004, 15:47   #14  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Цитата:
Сообщение от zma
Hi, All!
Коллеги, что-то вы перемудрили. На вопрос можно ли дописывать Датапортом , ответ - можно.
Уважаемый zma! Тогда подскажите как!
Старый 21.12.2004, 17:06   #15  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
У меня через Датапорт идет обмен B2B - Датапорт пополняет буфер обмена данными. Делал года 2 назад. Насколько я помню, при экспорте, если указанный файл уже существует - то Датапорт дозаписывает его. По моему никаких спец. опций выставлять не нужно. Если не получится, то я открою то приложение и уточню.
Старый 21.12.2004, 17:14   #16  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Уточните пожалуйста - потому как у меня датапорт по умолчанию перезаписывает файл!
Старый 21.12.2004, 17:41   #17  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
DataPort Properties:
FileForamt - Fixed

OnInitDataPort:

CurrFile.QUERYREPLACE(FALSE);
CurrFile.TEXTMODE(True);

OnPreDataPort:

Im:=CurrDataport.IMPORT;
IF NOT Im THEN BEGIN
nm:=CurrDataport.FILENAME;
CurrFile.TEXTMODE(TRUE);
CurrFile.WRITEMODE(TRUE);
IF CurrFile.OPEN(nm) THEN BEGIN
Lenght:=CurrFile.LEN;
CurrFile.SEEK(Lenght);
END ELSE
CurrFile.CREATE(nm);
END;

Вот наверное и все ...
Старый 21.12.2004, 17:49   #18  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
:(
Согласен с Greggy. Если никаких опций не выставлять, то датапорт демонстрирует поведение по умолчанию. По умолчанию же он именно перезаписывает существующий файл, а не дописывает в его конец.

Возможность дописывать в конец файла при помощи датапорта в документации не описана

Пока писал свой ответ, появился пост zma

2zma:
А переменная CurrFile случайно не файлового типа? Если да, то это хотя и не выставление опций, но точно уж некий финт. Если такое работает - снимает шляпу, но это отнюдь не лобовое решение, которое не требует кодинга...
Старый 22.12.2004, 06:49   #19  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Переменная CurrFile именно файлового типа, а за ответ zma спасибо большое!
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:01.