gifts2017

v77. 1С:Паинт

Опубликовал Титович Эдуард (item) в раздел Программирование - Практика программирования

v77. 1С:Паинт :)
Такая вот игрушка. Без внешних компонент.

История этой игрушки вполне проффессиональная.

Разрабатывалась по техзаданию одного крупного агропромышленного комплекса в рамках задачи по агрономии для составления схематической карты полей. Дурь заказчика, однако опыт был интересный.

Могут быть полезными для разработчика присутствующие в модуле матфункции sin, cos и sqrt, написанные средствами только 1С (с применением рядов Тэйлора-Маклорена и последовательности Герона).

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
1С:Паинт
.ERT 22,00Kb
06.03.12
50
.ERT 22,00Kb 50 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. qweasd qweasdzc (serega3333) 06.03.12 15:21
только хотел написать "и не жалко времени только" а потом дочитал до конца =) клевый заказчик
2. Титович Эдуард (item) 06.03.12 15:50
(1) serega3333,
В задаче это выглядело немного по другому, с привязкой к справочнику полей по цвету и данным.
Сей же продукт причесан мною намедни специально для большего сходства с известным редактором.
А времени все равно никогда не будет много.
3. Александр Гнитка (smitti911) 06.03.12 15:58
С такими заказчиками времени точно никогда не будет много :)
4. Титович Эдуард (item) 06.03.12 16:11
(3) smitti911,
Конец этой истории был заранее ясен - тема закрылась за никому_на_практике_ненадобностью.
А наработки остались.
Вот, дарю людям улыбки.
5. Александр Лыткин (TrinitronOTV) 06.03.12 16:36
6. Титович Эдуард (item) 06.03.12 16:47
(5) TrinitronOTV,
Уточню: бело-русские )))
7. Станислав Шепталов (sCHTASS) 07.03.12 10:21
Забавна штука. За реализацию, однозначна, плюс!
8. Саня Пупкин (pupkinSana) 07.03.12 12:51
Нифига не понял работает ли. Только если выбрать точку тогда двойным кликом появляется мелкий квадратик. А как круг нарисовать? Выбрал в радио окружность, чет никак не получается...
9. Титович Эдуард (item) 07.03.12 13:06
(8) pupkinSana,
Мышой обозначьте радиус и нажмите ENTER.

Описание:
Несколько специфическая платформа для паинта требует некоторого навыка рисования.
Для вывода фигуры на поле необходимо мышкой выделить область для фигуры и нажать ENTER.
10. Саня Пупкин (pupkinSana) 07.03.12 14:19
Да понял... Необычно, плюс. Можно Формекс прикрутить процедурой ПриДвиженииМыши() для шага координаты рисовать непрерывно.
11. Юрий Зайцев (Yury1001) 07.03.12 14:25
круто.
спасибо за высшую математику.
12. Титович Эдуард (item) 07.03.12 14:32
(10) pupkinSana,
Мысль хорошая, но не уверен, что будет просто вычислить координаты ячейки.
13. Титович Эдуард (item) 07.03.12 14:36
(11) Yury1001,
Спасибо за отзыв, Юрий.
Вот еще, если нужно, корень произвольной целочисленной степени и экспонента:

//_____________________________________________________________________________
Функция Pow(Знач Аргумент, Знач Степень = 1) //челочисленная степень, служебный для функции корня
	Результат = 1;
	Для А = 1 По Степень Цикл
		Результат = Результат*Аргумент;
	КонецЦикла;
	Возврат Результат;
КонецФункции //Pow
//__________________________________________________________­___________________
Функция Root(Знач Аргумент, Знач Степень, Знач Точность = 0.000001)
	// х = ((n - 1)х + а/х^(n - 1))/n;
	
	Результат = 1;
	РезультатХ = 1;
	ПредРезультат = 0;
	
	Шаг = 0;
	Пока 1 = 1 Цикл
		Шаг = Шаг + 1;
		
		РезультатХ = РезультатХ*Результат;
		
		ПредРезультат = Результат;
		Результат = (Результат*(Степень - 1) + Аргумент/Pow(Результат, Степень - 1))/Степень;
		
		Если Макс(Результат - ПредРезультат, ПредРезультат - Результат) <= Точность Тогда
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	//Сообщить("Root(" +  Аргумент + ")=" + Результат + ",     за " + Шаг + " итераций");
	Возврат Результат;
КонецФункции //Root
//__________________________________________________________­___________________
Функция Exp(Знач Аргумент, Знач Точность = 0.000001)
	//exp(x) = 1 + x/1! + х^2/2!+ x^3/3!+ x^4/4! -…  ряд Тэйлора-Маклорена
	Факт = 1; // факториал
	АргументХ = 1; // степень аргумента
	
	Результат = 1;
	ПредРезультат = 1;
	
	Шаг = 0;
	Пока 1 = 1 Цикл
		Шаг = Шаг + 1;
		Факт = Факт*Шаг;
		АргументХ = АргументХ*Аргумент;
		
		ПредРезультат = Результат;
		Результат = Результат + АргументХ/Факт;
		
		Если Макс(Результат - ПредРезультат, ПредРезультат - Результат) <= Точность Тогда
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	//Сообщить("Exp(" +  Аргумент + ")=" + Результат + ",     за " + Шаг + " итераций");
	Возврат Результат;
КонецФункции //exp
...Показать Скрыть



Как нибудь доделаю инженерный калькулятор и выложу.
Yury1001; +1 Ответить
14. Саня Пупкин (pupkinSana) 07.03.12 14:41
Да и еще можно руками сделать зерно ячейки меньше заявленного размера. Муторно долго, но можно.
15. Титович Эдуард (item) 07.03.12 14:47
(14) pupkinSana,
К сожалению, Александр, для всей таблицы это невозможно.
Да и тормозить начнёт страшно.
16. Юрий Зайцев (Yury1001) 07.03.12 15:04
(14) (15) Значит будем записывать рисунок в bmp (помнится, когда то, чтение делал под DOS – не очень сложный формат) и тут же загружать его в картинку на форме. Только тогда придётся либо подключать ПриДвиженииМыши() как предложил (10) pupkinSana, либо рисовать командами как в автокад :))))))
17. Юрий Зайцев (Yury1001) 07.03.12 15:12
Шутки шутками, а вот так выглядит bmp картинка 16х16 256 цветов в hex виде
18. Титович Эдуард (item) 07.03.12 15:18
(17) Yury1001,
))))
Так недалеко и до 1С:Фотошопа дойти
19. Татьяна * (nysysimara) 07.03.12 16:04
Прикольная задача, но реализация круче!
А что задумывалось под снежинкой (Действие=7)?
20. Титович Эдуард (item) 07.03.12 16:09
(19) nysysimara,
Распылитель.
Лень, однако.
21. Дмитрий Ташланов (Necytij) 07.03.12 20:54
Благодарю, за интересный свежачок, идея у заказчика была очень уже нетривиальная!.. ))
В некоторых случаях слышал люди тоже в 7.7 рисовали, хотя там программа расчет делала раскроя и рисовал в итоге на форме сам алгоритм раскроя, а не человек сам рисовал.
22. arjuna (arjuna) 07.03.12 21:40
Вот только на днях смотрел конфигурацию Инагро для сельского хозяйства Украины и обнаружил там раскраску полей по культурам. Посмотрите, может есть полезное.
23. Титович Эдуард (item) 07.03.12 23:15
(21) Necytij,
... идея у заказчика была очень уже нетривиальная!.. ))

Обычное дело. Директор у нас был тот ещё "паяльник", навешает на уши, дескать 1С - это всё,
что хочешь мол, то и будет. Только купи, мол, сначала компов штук 50, сервер Dell хотя бы один, да сеть в пару километров протянем, да WiFi и GPS в каждый трактор, а потом придут наши хакеры-1с-ники и за недельку-другую всё это свяжут в одно ох.ительное счастье.
Так что карты полей с диаграммами по бальности и урожайности, это - вообще не вопрос для обсуждения. :)
24. Титович Эдуард (item) 07.03.12 23:41
25. Нурислам Ямбаев (nurislam) 08.03.12 10:53
26. Roman (roa4ik) 08.03.12 11:31
27. soba (soba) 10.03.12 14:54
До чего ж заказчики ушлые бывают :) Нуда ладно- любой каприз за ваши деньги :) Автор молодец!
28. Сергей Писларь (serpisal) 10.03.12 15:44
Интересное решение, автору плюс! , также интересно, сколько еще версия 7.7. будет популярна, и сколько времени все возможные вещи для нее будут писать. Понимаю когда заказчику необходимо, но ради интереса ведь еще много всего делается для 7ки. НЕ представляю что будет, когда управляемые формы будут на пике популярности.)
29. Il Il (Il) 11.03.12 02:46
30. Seven2000 (Seven2000) 11.03.12 18:14
А как же на практике? люди его реально применяли?
31. Титович Эдуард (item) 11.03.12 19:37
(25) nurislam,
(26) roa4ik,
(27) soba,
(28) serpisal,
(29) Il,
Спасибо, друзья, за высокую оценку.

(30) Seven2000,
До практики дело не дошло, осталось только в черновиках, да и то в другом варианте.
Рабочий вариант предполагал сохранение/загрузку данных в справочник "поля" (неограниченную строку), где каждому элементу был назначен свой цвет, и выбор цвета для рисования был совмещен с выбором элемента из справочника.
Перед тем как выложить на суд людской, я немножко упростил задачу.
32. Serj (Serj1C) 13.03.12 09:28
(17) в BMP сохранять не сложно. Вот пример на восьмерке http://infostart.ru/public/77713/
он тоже паинт, только не интерактивный
33. Тигран Лалаян (hackerk700) 14.03.12 10:28
34. Алексей Подоляк (trioka) 19.03.12 17:22
35. Алексей Пантюхов (alexpvs) 29.03.12 11:58
Плюс заочно, давно хотелось увидеть подобный функционал в 7.7!
36. Михаил Гомбоев (yoyoman) 04.04.12 05:11
И правда очень любопытная обработочка) под 8-ку есть что-нибудь подобное?
37. Титович Эдуард (item) 05.04.12 23:33
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа