Render.ru

Как считать файл txt и скопировать все содержимое в буфер?

LuVeNa

Активный участник
Рейтинг
7
#1
Всем привет,
Подскажите плиз как реализовать копирование содержимого txt файлика в буфер...
Пока что голову сломал


Код:
fs = openFile "e:/Temp/translate.txt" mode:"r"
while not eof fs do(
   l = readline fs
   print l
)
close fs
такой кусок кода - выводит все строчки в листенер
хотелось бы все содержимое txt в виндовый буфер перенаправить

Заранее спасибо!

P.S. пример отсюда тоже не подошел
https://www.vfxarabia.co/read-external-text-file
 
Последнее редактирование:

LuVeNa

Активный участник
Рейтинг
7
#2
файл содержит такой текст, уже с нужным форматированием, менять его нельзя
нужен полный аналог Ctrl+С (надеюсь он есть :) )


Код:
            "pos": {
                "x": 6.94727,
                "y": 32.877,
                "z": -164.939
            },
            "rotation": {
                "x": 1.07766,
                "y": 100.631,
                "z": 0.127004
            },
            "scale": {
                "x": 1.0,
                "y": 1.0,
                "z": 1.0
            }
 

LuVeNa

Активный участник
Рейтинг
7
#4
getclipboardText и setclipboardText - с этим максимально, что получилось, скопировать в буфер одну строку (вчера еще пробовал)

кажется нашел обходной манёвр :)

HiddenDOSCommand (" clip < e:\Temp\translate.txt ")
 

LuVeNa

Активный участник
Рейтинг
7
#5
новая трабла... иногда dos блокирует файл и закрывает доступ на запись... ((
подскажите плиз какой есть обходной путь?
 

LastJedi

Знаток
Рейтинг
27
#6
Для ответа надо понимать причину блокировки, т.е. определить какой процесс блокирует доступ. Это может быть сторонняя программа, например, если эти файлы где-то генерируются автоматически. Или этот же скрипт, если Вы где-то в скрипте открываете данный файл и не закрываете.
К слову сказать, HiddenDOSCommand выполняется достаточно медленно, т.к. в фоновом режиме открывает cmd.exe. Как следствие, файл может оказаться заблокирован, пока cmd не закроется. Соответственно, в скрипте необходимо предусмотреть паузу-ожидание.
 

LuVeNa

Активный участник
Рейтинг
7
#7
сам 3dmax блокирует и не отпускает, в проводнике даже невозможно удалить/переместить пока 3дмакс открыт
через раз... не идеальное решение
 

Вложения

LastJedi

Знаток
Рейтинг
27
#8
Значит файл где-то в скрипте открывается для записи и не закрывается. Надо искать, где это происходит.
 
Сверху