#title = "Строки, печатные символы и пробелы - вывод в StatusBar" #tooltip = "Строки, печатные символы и пробелы - вывод в StatusBar" // Строки, печатные символы и пробелы - StatusBar.jsee /* Данный Макрос Подсчитывает в текущем документе: 1. количество строк, содержащих только печатные символы и пробелы (из подсчета исключаются строки, в которых имеются как печатные, так и непечатные символы) 2. количество только печатных симоволов и пробелов 3. сумму этих двух "количеств" Выводит информацию о подсчетах в: 1. StatusBar */ if (document.selection.IsEmpty) { xPos = document.selection.GetActivePointX(eePosLogical); yPos = document.selection.GetActivePointY(eePosLogical); var counted_Lines = 0; // кол-во строк, содержащих только печатные символы и пробелы var counted_CHRs_SPCs = 0; // кол-во только печатных симоволов и пробелов var sum_of_both = 0; var counted_Lines_TXT = ' строк, в которых : '; var counted_CHRs_SPCs_TXT = ' только печатных символов и пробелов | '; var sum_of_both_TXT = 'сумма обоих: '; document.selection.SelectAll(); str = document.selection.Text; str = str.replace(/\r\n/g, "\n").replace(/\r/g, "\n"); // convert to unix line endings for simplicity if (! /\n$/.test(str)) str = str + "\n"; // make sure selection ends with newline counted_CHRs_SPCs = str.replace(/\n/g, "").replace(/\t/g, "").length; counted_Lines = document.selection.Find( '^[[:alnum:] [:punct:]][^\f\r\n\t\v[:cntrl:]]*$', eeFindReplaceRegExp | eeFindCount); sum_of_both = counted_Lines + counted_CHRs_SPCs; document.selection.SetActivePoint(eePosLogical, xPos, yPos, false); document.HighLightFind = false; status = counted_Lines + counted_Lines_TXT + counted_CHRs_SPCs + counted_CHRs_SPCs_TXT + sum_of_both_TXT + sum_of_both; } Quit(); |