Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запись в конец текущей строки (https://javascript.ru/forum/misc/34160-zapis-v-konec-tekushhejj-stroki.html)

Maxfashko 22.12.2012 14:28

Запись в конец текущей строки
 
Здравствуйте товарищи!)

Есть такой проблемный код, часть которого мне не полностью понятна.

код открывает текстовик данного вида
1015\t9999\t10x15
3000\t8789\t10x15
и т.д

и проставляет вместо первой табуляции любой знак ("DoneMark")
далее переходит на след строку, и удаляя старый, снова ставит знак
для того чтобы отметить выполняемую в данный момент строку

У меня возникла острая нужда дописать в текущую выполняемую строку через знак \t один символ.

чтобы получилось данное:
1015\t9999\t10x15\tV


Прошу помощи у знатоков.


var separator ='\t'
var doneMark ='>'





istFile.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);


// где-то вот здесь необходимо сделать запись
              



// закрываем текстовик
 listFile2.close();

cyber 22.12.2012 14:45

Maxfashko,
что то я не понял, а что мешает просто сделать так (если нужно в конец добавить)
var str = "1015\t9999\t10x15";
      str+="\tV"

alert(str);

Maxfashko 22.12.2012 15:11

cyber

Мне не важен этот символ в самом скрипте
Мне нужно записать в сам txt в текущую выполняемую строку

cyber 22.12.2012 18:16

Maxfashko,
вы считуете содержимое файла в переменную и к ней прибавляет то что нужно добавить в конец..

Maxfashko 23.12.2012 19:38

Цитата:

Сообщение от cyber (Сообщение 222932)
Maxfashko,
вы считуете содержимое файла в переменную и к ней прибавляет то что нужно добавить в конец..

Вы видимо не вникли в суть вопроса.

Объясню еще раз

Мне нужно !записать в txt в конец currentLine символ.
Для того чтобы другой скрипт прочел этот символ в "строке"
добавлять в переменную я могу внутри скрипта js сколько угодно, только что толку???

пробовал сделать так


var XPos =currentLine.length;
listFile.seek(XPos, 1);
listFile.write('V');


но он пишет символ в строку не совсем корректно


Кто действительно знает, как это сделать?

godofjavascript 24.12.2012 01:09

а я вообще вопроса не понял если честно

видимо я нубло

Maxfashko 24.12.2012 06:05

пересоздам тему


Часовой пояс GMT +3, время: 08:53.