![]() |
#1 |
Участник
|
![]()
Подскажите пожалуйста - можно ли как нибудь сделать что бы при экспорте ДатаПортом - если существует уже файл то он не перезаписывался а дописывался???
|
|
![]() |
#2 |
Участник
|
![]()
А зачем обязательно датапортом ? Файл ведь у Вас текстовый? Можно открыть его как самый обычный файл (переменная типа File) и дописать в него нужное число строк в удобном для Вас формате.
|
|
![]() |
#3 |
NavAx
|
В совсем крайнем случае можно таки написать в другой файл, а потом какой-нибудь умной софтиной эти два файла объединить через SHELL
![]()
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от Дуд
В совсем крайнем случае можно таки написать в другой файл, а потом какой-нибудь умной софтиной эти два файла объединить через SHELL
![]() Код: copy file1+file2 file1 |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от johndoe
Цитата:
Сообщение от Дуд
В совсем крайнем случае можно таки написать в другой файл, а потом какой-нибудь умной софтиной эти два файла объединить через SHELL
![]() Код: copy file1+file2 file1 |
|
![]() |
#6 |
Участник
|
![]() Цитата:
Сообщение от Greggy
Цитата:
Сообщение от johndoe
... такой как
Код: copy file1+file2 file1 ![]() |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от johndoe
COPY - команда операционной системы
![]() Заранее благодарен! |
|
![]() |
#8 |
Участник
|
Читайте встроенную справку ОС Windows (любая версия).
|
|
![]() |
#9 |
Участник
|
А как это можно в Навижн использовать?
|
|
![]() |
#10 |
Moderator
|
Ой-ёй-ёй........
<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 позволяет дождаться заверешения операции, иначе она пойдет "параллельно". |
|
![]() |
#11 |
Участник
|
Пожалуйста не судите строго меня
![]() |
|
![]() |
#12 |
Участник
|
Спасибо большое всем! Я на самом деле протупил - я пропустил функцию SHELL перед всеми извиняюсь за мозгопарство
![]() |
|
![]() |
#13 |
Участник
|
Hi, All!
Коллеги, что-то вы перемудрили. На вопрос можно ли дописывать Датапортом , ответ - можно. |
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от zma
Hi, All!
Коллеги, что-то вы перемудрили. На вопрос можно ли дописывать Датапортом , ответ - можно. |
|
![]() |
#15 |
Участник
|
У меня через Датапорт идет обмен B2B - Датапорт пополняет буфер обмена данными. Делал года 2 назад. Насколько я помню, при экспорте, если указанный файл уже существует - то Датапорт дозаписывает его. По моему никаких спец. опций выставлять не нужно. Если не получится, то я открою то приложение и уточню.
|
|
![]() |
#16 |
Участник
|
Уточните пожалуйста - потому как у меня датапорт по умолчанию перезаписывает файл!
![]() |
|
![]() |
#17 |
Участник
|
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; Вот наверное и все ... |
|
![]() |
#18 |
Участник
|
![]()
Согласен с Greggy. Если никаких опций не выставлять, то датапорт демонстрирует поведение по умолчанию. По умолчанию же он именно перезаписывает существующий файл, а не дописывает в его конец.
Возможность дописывать в конец файла при помощи датапорта в документации не описана ![]() Пока писал свой ответ, появился пост zma 2zma: А переменная CurrFile случайно не файлового типа? Если да, то это хотя и не выставление опций, но точно уж некий финт. Если такое работает - снимает шляпу, но это отнюдь не лобовое решение, которое не требует кодинга... |
|
![]() |
#19 |
Участник
|
Переменная CurrFile именно файлового типа, а за ответ zma спасибо большое!
|
|