Вместо статьи:
Простой пример обработки для выполнения арифметических действий, использования различных функций с числовыми значениями и формулами из ячеек таблиц, текстовых файлов и т.п. через буфер обмена. Расширение возможностей [M] [M+] [M-].
- Выделяем нужные ячейки с числовыми значениями в печатных формах, значения в текстовых файлах и.т.п.
- Жмем Ctrl — C или щелчок правой клавиши «мыши» и <Запомнить>
- Открываем данную обработку
- Жмем Alt — С или [F5]
Отображается сумма по выбранным значениям и результат вычисления иных функции (максимум, минимум, среднее арифметическое).
Обработка открыта для дополнения необходимыми Вам функциями !
Дополнительно можно использовать для суммирования значений разделенных «;» и » » из текстового файла. Также осуществляется расчет текстовых формул из буфера вида «12+165/3» — [F9]
//далее читаем как статью ... модуль дополняем необходимыми функциями
Перем Сум,Итог,Миним,Максим,Среднее,Колво;
Процедура Вычислить(Как)
HTM=СоздатьОбъект("htmlfile");
//глянем в буфер обмена - Clipboard
Текст=СокрЛП(HTM.ParentWindow.ClipboardData.GetData("text"));
Если ПустаяСтрока(Текст)=1 Тогда
Предупреждение("Буфер обмена пуст !",3);Возврат;
КонецЕсли;
//расчет по формуле
Если Как>0 Тогда
Сум=Шаблон("["+Текст+"]");Возврат;
КонецЕсли;
Р=РазделительСтрок;
Текст=СтрЗаменить(Текст,СимволТабуляции,Р)+Р;//гориз.ячейки
Текст=СтрЗаменить(Текст,"'","");//убираем триады
Текст=СтрЗаменить(Текст,";",Р); //разделитель в тексте ";"
Текст=СтрЗаменить(Текст," ",Р); //разделитель в тексте " "
Кол=СтрКоличествоСтрок(Текст);//количество значений
Сум=0;//сумма значений
Колво=0;//реальное количество значений
Для i=1 По Кол Цикл
тЗ=СтрПолучитьСтроку(Текст,i);
Если ПустаяСтрока(тЗ)=0 Тогда
КолВо=Колво+1;
Зн=Число(тЗ);//получаем числовое значение
Сум=Сум+Зн;
Миним =?(i=1,Зн,Мин (Зн,Миним ));
Максим=?(i=1,Зн,Макс(Зн,Максим));
//...здесь может быть представлена ваша арифм.функция...среднеквадратичная дисперсия например
КонецЕсли;
КонецЦикла;
Среднее=Сум/Колво;
Итог=Итог+Сум;//дополняем итог
КонецПроцедуры;
Сорри, что немного не потеме — а как можно отловить какая область выделена в печатной форме?
Прикольно 🙂 +1
.
А что за объект "htmlfile"?
Показать полностью
От ИЕ ? или еще что?
.
ЗЫ такой маленький код можно было здесь показать 🙂
а калькулятор для чего придумали ? как в 7.7 так и 8 он это умеет
(3) Знамо дело, но мож кому надо мошные функции и формулы вычислять,
суммировать кучу значений из текста.
(2) Да. От IE. Пож-та-код выложу.
(1) Нет.
(1) Че, а ты на TableDoc от Трапезникова Дмитрия (aka trad) посмотри: там много чего интересного есть, в том числе и метод «ПолучитьВыделение»http://www.1cpp.ru/forum/YaBB.pl?num=1177688915