Render.ru
Поддержать

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

LuVeNa

Активный участник
Рейтинг
7
Изменено: 1 #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
файл содержит такой текст, уже с нужным форматированием, менять его нельзя
нужен полный аналог 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
getclipboardText и setclipboardText - с этим максимально, что получилось, скопировать в буфер одну строку (вчера еще пробовал)

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

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

LuVeNa

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

LastJedi

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

LuVeNa

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

Вложения

LastJedi

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