bdd2

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

Описание:
Несколько специфическая платформа для паинта требует некоторого навыка рисования.
Для вывода фигуры на поле необходимо мышкой выделить область для фигуры и нажать ENTER.
10. Саня Пупкин (pupkinSana) 20 07.03.12 14:19 Сейчас в теме
Да понял... Необычно, плюс. Можно Формекс прикрутить процедурой ПриДвиженииМыши() для шага координаты рисовать непрерывно.
11. Юрий Зайцев (Yury1001) 1446 07.03.12 14:25 Сейчас в теме
круто.
спасибо за высшую математику.
12. Титович Эдуард (item) 211 07.03.12 14:32 Сейчас в теме
(10) pupkinSana,
Мысль хорошая, но не уверен, что будет просто вычислить координаты ячейки.
13. Титович Эдуард (item) 211 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) 20 07.03.12 14:41 Сейчас в теме
Да и еще можно руками сделать зерно ячейки меньше заявленного размера. Муторно долго, но можно.
15. Титович Эдуард (item) 211 07.03.12 14:47 Сейчас в теме
(14) pupkinSana,
К сожалению, Александр, для всей таблицы это невозможно.
Да и тормозить начнёт страшно.
16. Юрий Зайцев (Yury1001) 1446 07.03.12 15:04 Сейчас в теме
(14) (15) Значит будем записывать рисунок в bmp (помнится, когда то, чтение делал под DOS – не очень сложный формат) и тут же загружать его в картинку на форме. Только тогда придётся либо подключать ПриДвиженииМыши() как предложил (10) pupkinSana, либо рисовать командами как в автокад :))))))
17. Юрий Зайцев (Yury1001) 1446 07.03.12 15:12 Сейчас в теме
Шутки шутками, а вот так выглядит bmp картинка 16х16 256 цветов в hex виде
18. Титович Эдуард (item) 211 07.03.12 15:18 Сейчас в теме
(17) Yury1001,
))))
Так недалеко и до 1С:Фотошопа дойти
19. Татьяна * (nysysimara) 25 07.03.12 16:04 Сейчас в теме
Прикольная задача, но реализация круче!
А что задумывалось под снежинкой (Действие=7)?
20. Титович Эдуард (item) 211 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) 211 07.03.12 23:15 Сейчас в теме
(21) Necytij,
... идея у заказчика была очень уже нетривиальная!.. ))

Обычное дело. Директор у нас был тот ещё "паяльник", навешает на уши, дескать 1С - это всё,
что хочешь мол, то и будет. Только купи, мол, сначала компов штук 50, сервер Dell хотя бы один, да сеть в пару километров протянем, да WiFi и GPS в каждый трактор, а потом придут наши хакеры-1с-ники и за недельку-другую всё это свяжут в одно ох.ительное счастье.
Так что карты полей с диаграммами по бальности и урожайности, это - вообще не вопрос для обсуждения. :)
24. Титович Эдуард (item) 211 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) 37 11.03.12 02:46 Сейчас в теме
30. Seven2000 (Seven2000) 11.03.12 18:14 Сейчас в теме
А как же на практике? люди его реально применяли?
31. Титович Эдуард (item) 211 11.03.12 19:37 Сейчас в теме
(25) nurislam,
(26) roa4ik,
(27) soba,
(28) serpisal,
(29) Il,
Спасибо, друзья, за высокую оценку.

(30) Seven2000,
До практики дело не дошло, осталось только в черновиках, да и то в другом варианте.
Рабочий вариант предполагал сохранение/загрузку данных в справочник "поля" (неограниченную строку), где каждому элементу был назначен свой цвет, и выбор цвета для рисования был совмещен с выбором элемента из справочника.
Перед тем как выложить на суд людской, я немножко упростил задачу.
32. Serj (Serj1C) 458 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) 51 29.03.12 11:58 Сейчас в теме
Плюс заочно, давно хотелось увидеть подобный функционал в 7.7!
36. Михаил Гомбоев (yoyoman) 04.04.12 05:11 Сейчас в теме
И правда очень любопытная обработочка) под 8-ку есть что-нибудь подобное?
37. Титович Эдуард (item) 211 05.04.12 23:33 Сейчас в теме