Можно ли в поиске найти конец текстового фрейма? ("#")

  • Автор темы Автор темы @diz@
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

@diz@

отечеств. про
Топикстартер
20 лет на форуме
Сообщения
4 220
Реакции
1 914
Может проглядел как-то, но никак не получается найти последний символ во фрейме.
Была дана верстка, где подписи к рисункам - отдельные фреймы.
В конце подписей понаставлено точек. Задача была убрать их.
У меня не получилось их найти автоматом, приходится ручками.
Можно ли найти ".#", чтобы заменить это на "#"?
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Перемещаю тему, потому как ей место здесь :)
Код на JavaScript, который убирает все точки в конце текстового фрейма, кроме одной :)
PHP:
with (app) {
	if (documents.length < 1) {
		alert("No open documents");
		exit();
	}
	if (selection.length < 1) {
		alert("No selection");
		exit();
	}
	
	if (selection[0].constructor.name == 'TextFrame') {
		var myStory = selection[0].parentStory;
		while (myStory.characters.lastItem().contents == '.')
		{
			if  (myStory.characters[myStory.characters.length - 2].contents == '.') {
				myStory.characters.lastItem().remove();
			} else {
				exit();
			}
		}
	}
}
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Прикольно.
Спасибо!
Только мне нужно было вообще убрать точку в конце фрейма.
Изменил эту строчку и получил нужное:

if (myStory.characters[myStory.characters.length - 1].contents == '.')

Жалко, что не умею такие простые вещи сам делать, очень бы выручало.
Еще просьба: можно ли сделать так, чтобы это делалось во всех выделенных на страницах (развороте) фреймах?
Я попробовал, но он только в последнем убирает.
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

А что тут писать-то??? Блин, ребят, ну я ж филолог до мозга костей, я могу, значит, и вы можете :)
PHP:
with (app) {
	if (documents.length < 1) {
		alert("No open documents");
		exit();
	}
	if (selection.length < 1) {
		alert("No selection");
		exit();
	}
	for (i = 0; i < selection.length; i++) {
	if (selection[i].constructor.name == 'TextFrame') {
		var myStory = selection[i].parentStory;
		while (myStory.characters.lastItem().contents == '.')
		{
			myStory.characters.lastItem().remove();
		}
	}
	}
}
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Я не буду комментировать про филолога :)
Просто спасибо!

Ну забыл я этот Си (или что там сейчас). Последний раз писал на нем в 1992 году.
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

JavaScript. Я начал "программировать", то есть купил книжку по VB6 в декабре 2002 года. На JS стал писать после выхода ID CS. Под сильным влиянием Бутрина :)
А филолога чего комментировать? :) Учитесь лениться :)
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Учитесь лениться
Пора соревнования устраивать, как сделать быстрее n рутинных операций: руками или написать vbatushev'у.
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Здравствуйте.

Не может ли кто-нибудь подсказать, как модифицировать приведенный выше код, чтобы наоборот добавлять в конец фрема (ячеек таблицы) какой-либо текст?
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Уже разобрался как делать это с помощь GREP
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

t34 сказал(а):
Уже разобрался как делать это с помощь GREP

Офф: Поделитесь по секрету, плиз. :)
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Никаких секретов:

в поле «найти» вводим .$ (искать последний символ)
в поле «заменить» — $0(то, что надо добавить к концу, без скобок)

($0 — найденное выше)
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

А если несколько абзацев, то как?
 

Вложения

  • last_sym.png
    last_sym.png
    40 КБ · Просм.: 942
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Не хотите сами искать решение? ,)

можно, например, сочетание точка + знак абзаца сделать strikethrough.

а потом сделать замену как указано выше с условием not strikethrough
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Думаю, что лучше указать в строке поиска игнор сочетания \.r\
Но сам не пробовал ещё :)
Хотя и здесь есть подводный камень: в таблицах аффтары частенько последним символом в ячейке долбят по Enter :(
Короче: тут творчески нужно подходить.
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

Именно, в каждом конкретном случае свои нюансы.

Мне просто нужно было добавить в конец ячеек с одним абзацем текста в каждой какой-то текст
 
Ответ: Можно ли в поиске найти конец текстового фрейма? ("#")

t34 сказал(а):
Мне просто нужно было добавить в конец ячеек с одним абзацем текста в каждой какой-то текст
...Contents = ...Contents + "Мой новый текст"
 
Статус
Закрыто для дальнейших ответов.