Имя: Пароль:
1C
1C 7.7
v7: Загрузка картинки на форму ПриОткрытии
0 Масянька
 
16.05.13
11:42
День добрый!
На форму вставлена картинка.При открытии - в картинку загружается картинка из файлов jpg. Возможно ли, сделать так, чтобы загруженная картинка не искажалась?
Подскажите, пожалуйста.


Спасибо.
1 Ковычки
 
16.05.13
11:46
у картинка есть свойства
2 Масянька
 
16.05.13
11:47
(1) В свойствах картинки: по центру.
3 Ковычки
 
16.05.13
11:50
там есть пропорционально
4 vcv
 
16.05.13
11:52
Попробуй после загрузки картинки установить нужный РежимРисования.
5 Масянька
 
16.05.13
11:53
(3) Все равно - фигня получается.
(4) Пробую....
6 Масянька
 
16.05.13
11:54
(4) СПАСИБО :))))))))))))
То, что надобно :)))))))))))))))))))
7 Масянька
 
16.05.13
11:56
Еще один ма-а-а-а-аленький вопрос:
имя файла генерится (ну, типа, случайно). Иногда (непредсказуемо) выскакивает ошибка "Общая файловая ошибка при доступе к [имя файла]".
Почему?
8 vcv
 
16.05.13
11:59
(7) Имя короткое? Всяких левых символов в нём нет? Файл не может быть в это время открыт в другой программе?
9 Ёпрст
 
гуру
16.05.13
12:00
Можешь хранить картинку в мокселе еще
10 Масянька
 
16.05.13
12:02
(8) Имя файла = [цифра].jpg. Только берется полный путь =
   СтрИмяФайла = Строка(СлучайноеЧисло());
   РасшИмяФайла = ".jpg";
   КаталогФайла = "\\MANAGER2\1Cv7\DB\Shablons\Funny\";
   // собираем имя файла
   ИмяФайла = КаталогФайла + СтрИмяФайла + РасшИмяФайла;

(9) Здравствуйте, Великий Учитель! :)))) А как?
11 Ёпрст
 
гуру
16.05.13
12:11
ну так, например:
http://rusfolder.com/36416216
12 Ёпрст
 
гуру
16.05.13
12:12
хотя, если картинок много, то лучше в каталоге.
13 Ёпрст
 
гуру
16.05.13
12:14
На счет закладок, вот еще пример с кнопочками (накопал тут свой старый):
http://rusfolder.com/36416263
14 Масянька
 
16.05.13
12:17
(12) (13) Спасибо ОГРОМНОЕ!
15 Масянька
 
16.05.13
12:23
Ёпрст!
Скажи, пожалуйста, как можно открыть форму так:
! пока не закрыта открытая форма - другие не доступны (ОткрытьМодально - ?)
2. сразу открыть форму в полноэкранном режиме.
16 Ёпрст
 
гуру
16.05.13
12:28
(15)
1.да
2.либо штатно, так, например:
http://my1c-archive.narod.ru/knowhow/winonscr.html

либо формексом (смотреть в сторону объекта Окно и его методы)
17 ЧеловекДуши
 
16.05.13
12:28
(15) Формекс тебе в поддержку
18 ЧеловекДуши
 
16.05.13
12:29
+(15) Хотя формекс неадекватно ведет себя с Модальными окнами :)
19 Масянька
 
16.05.13
12:35
(16) СПАСИБО!!!!!!!!!!!!

PS Вот если бы каждое "Спасибо" стоило 1 руб., ты стал бы миллионером :))))))))
20 ЧеловекДуши
 
16.05.13
12:37
(19) Загляни в его Личку, "Интересы", одари человека спасибо :)
21 Масянька
 
16.05.13
12:39
(20) Я знаю. И буду стараться :)))))
22 Масянька
 
16.05.13
15:38
У меня тут еще один ма-а-а-а-а-аленький вопрос :))))
Как сделать, чтобы открытая форма висела (к примеру) 1 минуту, потом закрывалась? Ну типа, пользователь минуту сидит и смотрит и ничего сделать не может :))))
23 Ёпрст
 
гуру
16.05.13
15:50
дык счетчик воткни, хоть через обработку ожидания, хоть еще как
24 Ёпрст
 
гуру
16.05.13
15:51
ну и Форма.Закрыть(0) потом
25 Масянька
 
16.05.13
15:51
(23) Какой счетчик? Как его считать?
А (24) мне понятно :))))
26 Масянька
 
16.05.13
15:52
(23) Я правильно понимаю:
при открытии формы - взять тек. время.
Как его проверять?
27 oslokot
 
16.05.13
15:55
(26) _GetPerformanceCounter()
28 Ёпрст
 
гуру
16.05.13
16:18
(26) да как угодно, самое простое - в обработке ожидания, лучше даже формековской - её не остановить модальным окошком, как штатную
29 Ёпрст
 
гуру
16.05.13
16:22
тип того

Перем РасшФ;
Процедура Вася()
 Форма.Закрыть(0);
КонецПроцедуры
Процедура Послеоткрытия()
 РасшФ = СоздатьОбъект("Расширениеформы");
 РасшФ.УстановитьФорму(Форма);
 РасшФ.ОбработкаОжидания("Вася",1000);//время в милисекундах
КонецПроцедуры
30 Масянька
 
16.05.13
16:30
(29) Бом, бом, бом.... (это я лбом поклоны тебе отбиваю)
31 fedoss
 
16.05.13
16:40
(29) Форма.Закрыть(0) тоже лучше на формэксовскую заменить. Штатную модальное окно остановит
32 Масянька
 
16.05.13
17:13
Блин...
Дурдом какой-то...

Моя обработка (кусок):

//********************************************************************************
Процедура глМаксимизироватьОкно() Экспорт
   // вызывать в конце процедуры "ПриОткрытии" из модуля формы
   Форма.ОбработкаОжидания("",0);
   WSHShell = СоздатьОбъект("WScript.Shell");
   WSHShell.SendKeys("%");
   WSHShell.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}");
     
   //WSHShell = СоздатьОбъект("WScript.Shell");
   //WSHShell.SendKeys("%");
   //WSHShell.SendKeys("{LEFT}");
   //WSHShell.SendKeys("{DOWN 5}");
   //WSHShell.SendKeys("{ENTER}");
КонецПроцедуры

//********************************************************************************
Процедура ПриОткрытии()

   Счетчик = 1;
   Предел = 32;
   
   Форма.Заголовок("Special for you");

   // сгенерили случайное число
   КакоеТоЧисло=_GetPerformanceCounter()*_GetPerformanceCounter();
   
   // определяем имя файла
   СтрИмяФайла = Строка(СлучайноеЧисло());
   РасшИмяФайла = ".jpg";
   КаталогФайла = "\\MANAGER2\1Cv7\DB\Shablons\Funny\";
   // собираем имя файла
   ИмяФайла = КаталогФайла + СтрИмяФайла + РасшИмяФайла;

   Картинка.Загрузить(ИмяФайла);
   Картинка.РежимРисования(2);
   
   глМаксимизироватьОкно();

КонецПроцедуры // ПриОткрытии

//********************************************************************************
Процедура ОбновитьКартинку()
   
   // определяем имя файла
   СтрИмяФайла = Строка(Счетчик);
   РасшИмяФайла = ".jpg";
   КаталогФайла = "\\MANAGER2\1Cv7\DB\Shablons\Funny\";
   // собираем имя файла
   ИмяФайла = КаталогФайла + СтрИмяФайла + РасшИмяФайла;

   Картинка.Загрузить(ИмяФайла);
   Картинка.РежимРисования(2);
   //Форма.ЗаголовокФормы.Заголовок(ИмяФайла);    
   Счетчик = Счетчик + 1;
   
КонецПроцедуры // ОбновитьКартинку

//********************************************************************************
Процедура Назад()
       
   Счетчик = Счетчик - 1;
   СтрИмяФайла = Строка(Счетчик);
   РасшИмяФайла = ".jpg";
   КаталогФайла = "\\MANAGER2\1Cv7\DB\Shablons\Funny\";
   // собираем имя файла
   ИмяФайла = КаталогФайла + СтрИмяФайла + РасшИмяФайла;

   Картинка.Загрузить(ИмяФайла);
   Картинка.РежимРисования(2);
   //Форма.ЗаголовокФормы.Заголовок(ИмяФайла);    

КонецПроцедуры // Назад

Процедура Вася()
 Форма.Закрыть(0);
КонецПроцедуры

Процедура Послеоткрытия()
 РасшФ = СоздатьОбъект("Расширениеформы");
 РасшФ.УстановитьФорму(Форма);
 РасшФ.ОбработкаОжидания("Вася",1000);//время в милисекундах
 //РасшФ.ОбработкаОжидания("Вася",60000);//время в милисекундах
   //глМаксимизироватьОкно();

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

Моя обработка вызывается в глобальнике:

   Если (глПользователь.Код = "Администратор") Тогда
       ОткрытьФормуМодально("Отчет",,КаталогИБ() + "\Dopolnitelno\МаленькийПрикол.ert");
   КонецЕсли;
   
КонецПроцедуры  //ПриНачалеРаботыСистемы()


Так вот - сразу при старте системы окно не разворачивается во весь экран. Потом если вызвать - разворачивается.
wscript - из командной строки вызывала. Выводит окно с параметрами сервера сценариев винды.
33 Ёпрст
 
гуру
16.05.13
17:14
посмотри, как сделано тут:

http://infostart.ru/public/63653/
34 Масянька
 
16.05.13
17:15
(33) Спасибо!
35 Ёпрст
 
гуру
16.05.13
17:15
а так, модальность..всё портит, тут через WScript окно никогда не развернётся, только формексом
36 Масянька
 
16.05.13
17:21
(35) Ты будешь смеяться, но твои обработки обе не развернулись во весь экран :(. Ничего не меняла - запустила и усе.
37 Масянька
 
16.05.13
17:22
+(35) Сделала в глобальнике ОткрытьФорму (вместо Модально). Все равно фигня....
Пойду, блин, утоплюсь в море....
38 Масянька
 
16.05.13
17:25
+(37) А-а-а-а-а! Не пойду топиться..... Получилось!!!!!!
Ё! Спасибо тебе ОГРОМНОЕ!!!!!!
39 Ёпрст
 
гуру
16.05.13
17:33
чего, заставка с мураьями заработала ?
поставь там время 0 при старте
40 Масянька
 
16.05.13
17:36
(39) Прикольная такая штука :)))))
41 Масянька
 
16.05.13
17:38
(39) А можно на время, пока работает обработка (у меня получилось - при старте 1С выводится мой бантик и висит скока надо) убрать курсор мыши?
42 Ёпрст
 
гуру
16.05.13
17:44
можно
43 Масянька
 
16.05.13
17:44
(42) А как? Скажи, пожалуйста :)))
44 Ёпрст
 
гуру
16.05.13
17:44
смотри это:
http://infostart.ru/public/22442/
45 Ёпрст
 
гуру
16.05.13
17:45
Грубо, через формекс устанавливаешь свой курсор
46 Масянька
 
16.05.13
17:46
Спасибо!
47 Ёпрст
 
гуру
16.05.13
17:46
УстановитьКурсор(<?>)
Синтаксис:
УстановитьКурсор(<ИмяКурсора>)
Назначение:
Перехват курсора для текущего объекта.
Параметры:
<ИмяКурсора> - Если в качестве параметра передается строковое значение, то оно воспринимается
как путь к файлу с курсором. Если ни чего не передавать, то для текущего объекта перехват курсора
отключается. Если передается числовое значение, то устанавливается курсор из системы.
48 Ёпрст
 
гуру
16.05.13
17:46
ну и соответственно, имей файлик с пустым курсором - в общем, в поделке поищи по УстановитьКурсор
49 Масянька
 
16.05.13
17:49
(44) Класс!!!!!
Спасибо!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший