Имя: Пароль:
1C
1C 7.7
v7: Бегущая строка по кнопке
0 Масянька
 
25.07.12
14:34
День добрый!
Много чего перерыла.....
Можно ли бегущую строку повесить на кнопку?
Спасибо.
1 VladZ
 
25.07.12
14:36
При желании можно и в космос полететь... Было бы время и желание...
2 1Сергей
 
25.07.12
14:37
хоспадя.... нафига?
3 VladZ
 
25.07.12
14:40
А можно тут спрошу? Отдельную ветку заводить смысла нет... Короче, вопрос такой: я тут как-то приводил ссылку с картинкой. Дату не помню, ветку тоже. Можно мне эту ссылку быстренько найти?
4 VladZ
 
25.07.12
14:40
+3 на картинке была форма отчета.
5 1Сергей
 
25.07.12
14:41
6 VladZ
 
25.07.12
14:43
(5) Это я умею делать... А как дальше? Каждую ветку тыкать?
7 1Сергей
 
25.07.12
14:44
(6) да
8 VladZ
 
25.07.12
14:45
(7) Жестоко...
9 VladZ
 
25.07.12
14:52
Все, нашел. Спасибо.
10 Vladal
 
25.07.12
14:56
Можно. Но не нужно.
Используя недокументированный _GetPerformanceCounter показывай часть строки со смещением в 1 символ.

Для ъ=1 По ДлинаСтроки Цикл
   БегущаяСтрока = Сред(ИсходнаяСтрока, ъ, СколькоСимволовНаКнопке)
   Форма.КнопкаСБегущейСтрокой.Заголовок = БегущаяСтрока;
КонецЦикла
11 Масянька
 
25.07.12
15:20
При нажатии на кнопке нжно:
вывести текст (типа "работаем")
чтобы он (текст) бежал.

В процедуре по кнопке добавила:
s="    Делу - время, делу - время, делу - время, а потехе - час!       ";
Форма.Обновить();
s=right(s,1)+mid(s,1,strlen(s)-1);
Выводи, но не бежит :(((((
12 chief accountant
 
25.07.12
15:23
децкий сад
13 Vladal
 
25.07.12
15:49
(11) Вот:

Перем Замер;
Перем ТекстСтроки;

Процедура Сформировать()

КонецПроцедуры

Функция БегущаяСтрока()
   Если _GetPerformanceCounter() - Замер > 100 Тогда // 100 миллисекунд
       Замер = _GetPerformanceCounter();
       ПозицияСтроки = ПозицияСтроки + 1;
       Если ПозицияСтроки > СтрДлина(ТекстСтроки) Тогда
           ПозицияСтроки = 1;
       КонецЕсли;
       
       Форма.кнСформировать.Заголовок(Сред(текстСтроки, ПозицияСтроки, 10));
   КонецЕсли;
   Форма.Обновить();
КонецФункции;

Замер = _GetPerformanceCounter();
ТекстСтроки = "            Ничего не хочу делать, я устал ..... ";
ПозицияСтроки = 0;


ТОлько она автоматом не стартует. Срабатывает после клика по любому элементу, например, по кнопке Сформировать с пустым обработчиком.
14 Vladal
 
25.07.12
15:49
А, надо еще на форму поместить текстовую метку с формулой БегущаяСтрока(), а у кнопки Сформировать должен быть идентификатор кнСформировать
15 IamAlexy
 
25.07.12
15:50
(0) бгыыыы

накуя????

вы еще на флажок повесьте бегущую строку
16 Vladal
 
25.07.12
15:50
готовая поделка... http://depositfiles.com/files/edvsvczsg
17 Vladal
 
25.07.12
15:53
(15) На вот, с флажком... http://depositfiles.com/files/bpwmfhbc6
18 Масянька
 
25.07.12
15:56
Спасибо.....
19 Vladal
 
25.07.12
15:56
надо жмякнуть кнопку или флажок, тогда форма обновится и сработает формула на форме .
---------------------
пожалуйста
20 Vladal
 
25.07.12
15:57
У меня еще есть Xonix на 7.7 и тетрис)))
21 monsterZE
 
25.07.12
16:06
=) любопытно какое действие выполняет кнопка с таким названием
22 ЧеловекДуши
 
25.07.12
16:07
Баловство все это ;)
23 Vladal
 
25.07.12
16:13
(22) bynthtcyj jndktxmcz jn ye;yjq hf,jns/
24 Vladal
 
25.07.12
16:13
интересно отвлечься от нудной работы
25 Масянька
 
25.07.12
16:24
Да, ёлки-моталки! Текст (бегущая строка) на форме, но отображаться должна только при нажатии на определенную кнопку.
Но, по-моему, ничего не выйдет: при нажатии на кнопке происходит поиск в большом exl-файле. Хотелось, чтобы пока идет поиск - бегала строчка. Но чего-то тормоза - жуть....
26 ukolabrother
 
25.07.12
16:28
потому что это не нужно
27 Vladal
 
25.07.12
16:43
(25) сделай, как у меня - и всё получится.
28 Vladal
 
25.07.12
16:45
Вот думаю, не заинфостартить ли эту поделку - http://s60.radikal.ru/i168/1207/75/aa1e8221cfba.png
29 Масянька
 
25.07.12
16:46
(27) Получилось, но тормозит.... Говорю же, большой exl-файл. В нем поиск...
Все равно - СПАСИБО. Интересно же.
(28) Сразу мне исходник. :))))
30 Vladal
 
25.07.12
16:51
(29) Да на:

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   ЭлементыФормы.Индикатор.МинимальноеЗначение = 1;
   ЭлементыФормы.Индикатор.МаксимальноеЗначение = КоличествоЭлементов;
   ЭлементыФормы.Индикатор.Шаг = Интервал;
   
   НачалоПроцесса = ТекущаяДата();
   Для ъ=1 По КоличествоЭлементов Цикл
       ОбработкаПрерыванияПользователя();
       Если ъ%Интервал=0 Тогда
           РазницаВремени = ТекущаяДата() - НачалоПроцесса;
           ДоляВыполнения = ъ/КоличествоЭлементов;
           ОценкаОкончания = КоличествоЭлементов/ъ*РазницаВремени;
           ОценкаВремениОкончания = НачалоПроцесса + ОценкаОкончания;
           ОставшеесяВремя = ОценкаВремениОкончания - ТекущаяДата();
           ЭлементыФормы.НадписьОсталось.Заголовок = "Осталось " + ОставшеесяВремя + " с.";
       КонецЕсли;
       ъъ = 0;
       Пока ъъ < 100 Цикл
           ъъ = ъъ + 1;
           Состояние(""+ъ+" "+ъъ);
       КонецЦикла;
       ЭлементыФормы.Индикатор.Значение = ъ;
       ТекущаяДата = ТекущаяДата();
   КонецЦикла;
   Сообщить("Готово " + ТекущаяДата());
   
КонецПроцедуры
31 Масянька
 
25.07.12
16:52
(30) Спасибо.
32 Vladal
 
25.07.12
16:57
На вот готовую. на 8.1 рисовал. http://depositfiles.com/files/m3ohx8j9q
33 VladZ
 
25.07.12
20:25
А теперь давайте усложним задачу... Пусть прога рендерит 3д-сцену склада с указанием занятых и не занятых ячеек склада и помечает нужную ячейку куда можно воткнуть указанную палетту. А лучше не одну ячейку, а все, куда влезет палетта.
35 Vladal
 
30.07.12
11:02
(33) Ну ты просто гений-генератор идей.
Для начала - предоставь конфу с реализованным адресным хранением, а потом придумаем, как отрендерить ячейку.
36 ЧеловекДуши
 
30.07.12
11:06
(28)Фигня, на управляемом приложении твоя поделка и гроша ломанного не стоит ;)
37 Ёпрст
 
30.07.12
11:07
(0) можно
38 Vladal
 
30.07.12
19:37
(36) А чо, на ИС только УФ?
39 Vladal
 
30.07.12
19:38
(37) Эх, месье, опоздал, в (16) об этом свидетельство )))
40 Злопчинский
 
30.07.12
20:31
(33) зачем? мультик для генерала с практически нулевой информативностью для реально й работы?