Показать сообщение отдельно
  #5 (permalink)  
Старый 24.12.2012, 13:00
Аспирант
Отправить личное сообщение для Maxfashko Посмотреть профиль Найти все сообщения от Maxfashko
 
Регистрация: 08.12.2012
Сообщений: 31

Все работает, все ок.
Нужно дописать в txt символ. см выше описание()

я пришлю код который отвечает за открытие txt, так как вся у меня проблема с ним.
Не могу дописать символ в строку txt
Сам код ничего не значит для Ps без файлов, фотографий, путей и psd исходников. Всё я присылать не вижу смысла, так как самое нужное ниже:

Тут нужен хотя бы тулкит

вот код
var workFolderName = 'D:\\work\\Script';
var listFileName = 'VAR.txt';
var separator = '\t';
var doneMark = '>'
var currentLine = "";

var workFolder =  new Folder(workFolderName);
var listFile = File (workFolder+ "/" + listFileName);




/ открываем тектовый файл для редактирования
listFile.open("e", "TEXT", "????");

// ищем последнее выполненную строчку, отмеченную знаком ">"
do {
	var previousPos = listFile.tell();
	currentLine = listFile.readln();
	var currentPos = listFile.tell();
	var seekDelta = currentPos - previousPos - currentLine.length;
} while(!listFile.eof && currentLine.search(doneMark) < 0);

// запоминаем, добрались ли мы до конца файла (т.к. в дальнейшем будем пользоваться сдвигом, и .eof может поменять значение)

var endOfFile = false;
if (listFile.eof) endOfFile = true;

if (currentLine.search(doneMark) > 0) {
// если в файле найден знак ">"
// заменяем его на пробел
	var signPos = currentLine.indexOf(doneMark) - currentLine.length - seekDelta;
	listFile.seek(signPos, 1);
	listFile.write(separator);
};

// если мы уперлись в конец файла, сдвигаемся в начало
if (endOfFile) {
	listFile.seek (0,0);
	previousPos = 0 } 
else {
	previousPos = currentPos;
	listFile.seek(- signPos - 1, 1);};
	
// считываем строчку, с которой будем работать
currentLine = listFile.readln();

currentPos = listFile.tell();
seekDelta = currentPos - previousPos - currentLine.length;

// заменяем в рабочей строке пробел на знак ">"
var signPos = currentLine.indexOf(separator) - currentLine.length - seekDelta;
listFile.seek(signPos, 1);
listFile.write(doneMark);

// делаем запись в конец currentLine через табуляцию
Ответить с цитированием