Список использованных источников




КУРСОВОЙ ПРОЕКТ

на тему: “Разработка интерфейса на основе 1С”

 

 

Выполнила

Студент 2 курса Д-Э207 группы

Дата регистрации КП на кафедре

Симагин Георгий Дмитриевич ____

Допущена к защите

Руководитель:

 

Члены комиссии:

_______

ученая степень, ученое звание, ФИО подпись

Оценка ___________________

 

Дата защиты_______________

Москва, 2022

РЕЦЕНЗИЯ

на курсовой проект обучающегося

Федерального государственного бюджетного образовательного учреждения высшего образования «Российский государственный аграрный университет – МСХА имени К.А. Тимирязева»

Обучающаяся: Саменков Андрей Александрович

Учебная дисциплина: Разработка приложений на языках высокого уровня

Тема курсового проекта: Разработка интерфейса к базе данных биржи труда.

 

Полнота раскрытия темы: замечаний нет ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Оформление: замечаний нет __________________________________________________________________________________________________________________________________________________________________________________________

 

Замечания: замечаний нет __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

Курсовой проект отвечает предъявляемым к нему требованиям и заслуживает__________________________________ оценки.

(отличной, хорошей, удовлетворительной, не удовлетворительной)

Рецензент.

(уч.степень, уч.звание, должность, место работы, ФИО)

 

 

Дата: «____» __________ 20___ г. Подпись: ___________________


 

Оглавление

Введение. 4

1. Теоретическая часть. 6

1.1 Язык C#. 6

1.2 Visual Studio. 9

1.3 Интерфейс программы.. 11

2. Практическая часть. 14

2.1 Интерфейс приложения. 14

2.2 Алгоритмы и блок-схемы.. 17

2.3 Тестирование приложения. 20

Заключение. 23

Список использованных источников. 24

Приложения. 25

 

 

Введение

Идея данной курсовой работы состоит в том, чтобы разработать интерфейс базы данных 1С. Данный интерфейс был разработан в среде программирования MicrosoftVisualStudio 2019. Среди множества языков программирования, которые существуют, мной был выбран один из самых распространённых языков программирования как C#. C# - язык с одним из самых низких порогов вхождения, так же данный язык относится к семейству C, к которым также относятся высокоуровневый, объекто-ориентированный C++, а также одноимённый язык C, который является родоначальников языков данного семейства.

Синтаксис языка программирования C#имеет много схожего с языком C, так как данный язык во многом является более совершенной версией. Кроме того C# имеет также схожий синтаксис с языком C++. Также стоит отметить, что язык программирования C#является мультипарадигмальным и имеет статическую типизацию, в отличие от, например, языка python, который так же является высокоуровневым и объекто-ориентированным.

MicrosoftVisualStudio 2019 Professional это доступная среда для быстрой разработки множества приложений, в том числе написанных на языках семейства C. Как уже было сказано выше, в данной среде интерфейс программы был реализован на языке C#. Данная среда является наиболее распространённой среди прочих сред.

Основные конструкции языка C#чётко выделяется в MicrosoftVisualStudio 2019 различными цветами, что способствует хорошему восприятию кода, написанного в данной среде.

Графический интерфейс среды программирования MicrosoftVisualStudio 2019 продуман на высоком уровне, так как среда предоставляет доступ к тем участкам кода, с которыми необходимо работать, скрывая ту часть программы, создающуюся самой разработкой.

Чтобы создать качественный проект интерфейса, нужно грамотно разработать алгоритм действий решения данного задания, правильно и по пунктам указав важные этапы разработки.

Цель работы: Создание интерфейса базы данных 1С на базе языка программирования C# в среде разработки MicrosoftVisualStudio 2019.

Алгоритм работы:

1. Разработка базы данных внутри программы;

2. Разработка интерфейса пользователя, на основе экранных форм среды MicrosoftVisualStudio 2019 и визуальных компонентов, предназначенных для ввода исходных данных, запуска действий по обработке исходных данных, вывода результата и тому подобное;

3. Разработка обработчиков событий элементов формы, разработка программного кода и алгоритма действий обработки текстового файла.

В последующих разделах будут подробно описаны этапы разработки интерфейса базы данных 1С.

 

 

Теоретическая часть

1.1 Язык C#

Языком программирования, на котором написан данный интерфейс, является, как уже было сказано выше в введении, C#. Данный язык был выбран не случайно, так как он является достаточно распространённым по всему миру. Данный язык программирования имеет немало последователей – языков программирования, которые были вдохновлены C#. Разработан в 1998—2001 годах группой инженеров компании Microsoft под руководством Андерса Хейлсберга и Скотта Вильтаумота как язык разработки приложений для платформы Microsoft.NET Framework и.NET Core. Впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, переменные, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Delphi, Модула, Smalltalk и, в особенности, Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественная реализация интерфейсов).

У данного языка есть определённые особенности.

С#‎ разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов С#‎, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем (однако, эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы.NET). CLR предоставляет С#‎, как и всем другим.NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#‎, а производится CLR для программ, написанных на C#, точно так же, как это делается для программ на VB.NET, J# и др.

C# стандартизирован в ECMA (ECMA-334) и ISO (ISO/IEC 23270)

Известно как минимум о трёх независимых реализациях C#, базирующихся на этой спецификации и находящихся в настоящее время на различных стадиях разработки:

· Mono, начата компанией Ximian, продолжена её покупателем и преемником Novell, а затем Xamarin.

· dotGNU и Portable.NET, разрабатываемые Free Software Foundation.

Название «Си шарп» (от англ. sharp — диез) происходит от буквенной музыкальной нотации, где латинской букве C соответствует нота До, а знак диез (англ. sharp) означает повышение соответствующего ноте звука на полутон, что аналогично названию языка C++, где «++» обозначает инкремент переменной. Название также является игрой с цепочкой C → C++ → C++++(C#), так как символ «#» можно представить состоящим из 4 знаков «+».

Из-за технических ограничений на отображение (стандартные шрифты, браузеры и т. д.), а также из-за того, что знак диеза ♯ не представлен на стандартной клавиатуре компьютера, при записи имени языка программирования используют знак решётки (#). Это соглашение отражено в Спецификации языка C# ECMA-334. Тем не менее, на практике (например, при размещении рекламы и коробочном дизайне), «Майкрософт» использует знак диеза.

Названия языков программирования не принято переводить, поэтому язык называют, используя транскрипцию, — «Си шарп».

 

 

 

 

 

 

 

 

 

Visual Studio

СредойразработкиявляетсяMicrosoftVisualStudio 2022. Данная среда разработки была выбрана мной по причине распространённости и доступности. VisualStudioявляется универсальной средой программирования, где можно разработать от небольших веб-сайтов до весьма крупных проектов, к примеру, видеоигру.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Данная среда разработки имеет в своих библиотеках следующие языки программирования:

· C++;

· C#;

· C;

· Python;

· JavaScript;

· F#;

· VisualBasic;

· TypeScript;

· XAML;

И многие другие языки программирования.

Первая версия VisualStudioбыла выпущена в 1997 году и называлась она VisualStudio 97, которая на тот момент поддерживала лишь следующие визуальные системы на базе языков программирования такие как:

· Visual C++;

· Visual F++;

· Visual Basic 5.0;

· Visual InterDev;

· Visual FoxPro 5.0.

Кроме того, данная версия существовала лишь в двух версиях: VisualStudioProfessionalи VisualStudioEnterprise. Лишь спустя время появится версия VisualStudioCommunity.

 

 

Интерфейс программы

Графический пользовательский интерфейс (англ. graphical user interface, GUI) — система средств для взаимодействия пользователя с электронными устройствами, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т. п.).

Чаще всего элементы интерфейса в GUI реализованы на основе метафор и отображают их назначение и свойства, что облегчает понимание и использование электронных устройств неподготовленными пользователями.

Графический интерфейс пользователя является частью пользовательского интерфейса и определяет взаимодействие с пользователем на уровне визуализированной информации самой программы.

Графический интерфейс является важной частью любой сложной и современной программы (аналогом графического интерфейса является текстовый интерфейс). Главная проблема графических интерфейсов является сильная загруженность ресурсов, в сравнении с тем же текстовым интерфейсом.

Стандартный графический интерфейс пользователя должен отвечать ряду требований:

· поддерживать информационную технологию работы пользователя с программным продуктом;

· ориентироваться на конечного пользователя, который общается с программой на внешнем уровне взаимодействия;

· удовлетворять принципу «шести», когда в одну линейку меню включают не более 6 понятий, каждое из которых содержит не более 6 опций;

· графические объекты сохраняют свое стандартизованное назначение и по возможности местоположение на экране

Рассмотрим части графического интерфейса:

Панель приложения обычно разделяют на три части:

· меню действий;

· тело панели;

· область функциональных клавиш.

Преимущество использования меню действий (и выпадающего меню) заключается в том, что эти действия наглядны и могут быть запрошены пользователем установкой курсора, функциональной клавишей, вводом команды либо каким-то другим простым способом.

· Тело панели содержит элементы:

· разделители областей;

· идентификатор и заголовок панели;

· инструкцию;

· заголовки столбца, группы, поля;

· указатель протяжки;

· области сообщений и команд;

· поля ввода и выбора.

Область функциональных клавиш — необязательная часть, показывающая соответствие клавиш и действий, которые выполняются при их нажатии. В области функциональных кла­виш отображаются только те действия, которые доступны на текущей панели.

Графические интерфейсы имеют следующие типы:

· простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой GUI;

· истинно-графический, двумерный: нестандартные элементы интерфейса и оригинальные метафоры, реализованные собственными средствами приложения или сторонней библиотекой;

· трёхмерный.

Впервые графические интерфейсы появились в 1960-х Дагом Энгельбартом, позже концепция GUI была перенята учёными из исследовательской лаборатории Xerox PARC.В 1973 году в лаборатории Xerox PARC собрали молодых учёных и дали свободу исследований. В результате, кроме всего прочего, на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus, Pointers) и в рамках этой концепции создаётся компьютер Alto. Он не был выпущен как коммерческий продукт, но широко использовался на фирме как корпоративный инструмент Xerox.

В 1979 году Three Rivers Computer Corporation выпустила рабочую станцию PERQ, похожую по принципам построения на Alto. В 1981 году Xerox выпустила продолжение Alto — Star.

Коммерческое воплощение концепция GUI получила в 1984 году в продуктах корпорации Apple Computer. Apple критиковали за отказ от командной строки в пользу графического интерфейса. В 1985 году операционной GUI с многозадачностью был использован в системе AmigaOS.

Позднее GUI стала стандартной составляющей большинства доступных на рынке операционных систем и приложений. Примеры систем, использующих GUI: Mac OS, GEM, Atari TOS, Microsoft Windows, Solaris, GNU/Linux, NeXTSTEP, OS/2, BeOS, Android, iOS, Bada, MeeGo.

Хотя в подавляющем большинстве систем GUI является надстройкой для операционной системы, существуют и независимые его реализации. Известен вариант графической программы BIOS Setup, когда ещё до загрузки ОС управление настройками IBM PC-совместимой ЭВМ производится мышью, аналогично полноценному GUI. Также имеются GUI для МК, не требующие ОС.

 

Практическая часть

Интерфейс приложения

Интерфейс для этого приложения был разработан мной по следующим принципам:

· Простота использования;

· Простота в разработке;

· Набор минимально необходимого в приложении;

· Удобство в использовании.

В качестве ориентации на интерфейс я использовал в качестве примера 1С: Предприятие. По этой причине я выбрал тему графический интерфейс на базе 1С. При создании интерфейса я пытался соблюдать логику самого 1С: Предприятие – сохранять и создавать отчёт. Сохранять отчёты решил в формате.txt так как он является наиболее простым и доступным форматом из существующих.

Далее в главе 2.3 будет продемонстрировано, каким образом выглядит отчёт программы в формате.txt.

В самом интерфейсе будут продемонстрировано 5 вкладок, аналогом с точки зрения интерфейса 1С: Предприятие вкладки «Номенклатура» и «Контрагенты» являются справочники, а вкладки «продажи», «выручка», «убытки» являются документами. Вкладки данной программы выглядят следующим образом:

1. Контрагенты;

2. Номенклатура;

3. Продажи;

4. Убытки;

5. Выручка.

Интерфейс 1С: Предприятие, в качестве режима разработчика, в немалой степени напоминает VisualStudio 2022, даже в версии 8.3.

Моя программа является сильно упрощённой версией такой программы, в которой функционал программы сильно упрощён, чтобы делать простые отчёты для работы.

Рис.1 Интерфейс режима разработчика в 1С: Предприятие

Как и любая программа по учёту, моя программа предусматривает, помимо сохранения отчёта, определённый простой калькулятор, который есть, в том числе в режиме документа в пользовательском интерфейсе.

Калькулятор, хоть и не является основной функцией, но быть может специальным дополнительным инструментом для упрощения работы с документами (к примеру, нужна цена и количество для подсчёта суммы документа, но высчитывать самому будет тяжелее и затруднительнее, в таком случае калькулятор поможет высчитать все данные в сумме).

Можно сказать, что любая такая функция хоть и является дополнительной, но нельзя сказать, что такая функция будет лишней.

Рис. 2 калькулятор в режиме пользователя

Такие программы, разумеется, делаются внутри программы 1С: Предприятие и не требуют влияния других программ, как та же VisualStudio, но такая программа, как мною разработанная программа учёта поможет сделать весьма простые учётные операции создать в отчёты, которые в свою очередь будут занесены в корневую папку (в моём случае это папка C:\folder), для того чтобы иметь отчётность на нужную дату.

Такие программы могут пригодиться для разных сфер:

· Отчётность в продажах (как в моём случае);

· Отчётность в университетах;

· Отчётность на заводских предприятиях;

· Отчётность на офисных предприятиях;

· Отчётность для предпринимателя (в т.ч. для индивидуального предпринимателя);

· И многие другие сферы деятельности.

Алгоритмы и блок-схемы

Стоит отметить, что любая программа состоит из алгоритмов и технического задания. Ведь без первых невозможно представить структуру программы, а без второго невозможно структурировать сам процесс создания любой программы (от самой простой, до самой сложной).

Для того чтобы изобразить алгоритмы существуют блок-схемы. Если кратко, то блок-схемы это - распространённый тип схем, описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединённых между собой линиями, указывающими направление последовательности.

Рис.3 Кнопка выхода из приложения

Кнопка перехода с главной формы на другую (в качестве примера приведён переход с главной формы на вторую):

Рис.4 кнопка перехода из главной формы во вторую форму

 

Кнопка перехода из второй формы в первую форму

 

Рис. 5 кнопка выхода на главную форму

Для того чтобы сделать отчёт нужна определённая логика, благодаря которой отчёты будут сохраняться в папку folder, находящаяся в пути C:\folder. Блок-схема приведена на форму «номенклатура»

Рис. 6 блок-схема кнопки сохраняющий отчёт

 

Как уже говорил выше, в приложении реализован калькулятор высчитывающий стоимость в форме «продажи» (так же есть в форме «выручка» операция высчитывания, но разница между формой «продажи» только операцией над переменной (в случае формы «выручка» это разница переменных))

Рис. 7 кнопка вычисления стоимости в форме «продажи»

 

 

Тестирование приложения

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

Тестирование приложения является наиболее важным этапом разработки любого приложения. Благодаря тестированию можно приблизиться к идеальному варианту приложения.

Во время того как мной писалась программа, я проходил часто этап тестирования приложения.

Часто в момент тестирования программы получались исключения в виду того что часто использовал неверные конструкции. Поэтому благодаря этому этапу я смог исправить все серьёзные недочёты, которые у меня были за всё время разработки.

Главное меню выглядит следующим образом.

Рис.8 Главное меню приложения

Главное меню выглядит максимально просто, так как это меню имеет лишь функцию перехода из главной формы в другую форму. Из неглавных форм внутренний переход на другие формы недоступен. Чтобы перейти из формы, к примеру, «контрагенты» в форму «выручка», то нужно выйти в главную форму и осуществить переход на форму «выручка». Разберём на основе двух форм как выглядит программа – «контрагенты» и «продажи».

Форма «контрагенты» выглядит следующим образом

Рис.9 Форма «контрагенты»

В контрагентах есть данные, которые я внёс в данные программы. Эти данные можно изменить и отчёт также изменит данные.

Единственная проблема – первичный ключ приходится вводить вручную, поэтому при вводе данных нужно прописывать все данные полностью.

Отчёты, как было сказано ранее, сохраняются в форме.txt

Рис. 10 Отчёт по контрагентам

Форма «Продажи», где есть вычисление стоимости выглядит следующим образом

Рис. 11 Форма «продажи»

 

Заключение

В результате выполнения курсового проекта была выполнена основная задача и получен готовый продукт – разработан упрощённый интерфейс на базе 1С: Предприятие. Все поставленные цели так же были достигнуты, все результаты отражены в пояснительной записке.

Приложение можно улучшить следующими дополнениями:

· Загрузить базу данных MSSQL, которая улучшит производительность и функциональность программы;

· Улучшить высчитывание в некоторых формах до полноценного калькулятора

Дата сдачи ___________ Студент: Симагин Г.Д. ___________

 

 

Список использованных источников

1. https://ru.wikipedia.org/wiki/C_SharpДата доступа: 01.12.2022;

2. https://ru.wikipedia.org/wiki/Visual_StudioДата доступа 02.12.2022;

3. https://ru.wikipedia.org/wiki/Графический_интерфейс_пользователяДата доступа 02.12.2022;

4. https://habr.com/ru/company/1c/blog/269611/ Дата доступа 06.12.2022;

5. Мюллер Д. П. C# для чайников (2019);

6. Троелсен и Джепикс. Язык программирования C# 7 и платформы.NET и.NET Core (2018);

7. Head First изучаем c# (2022);

8. ДжонШарпMicrosoft Visual C#. Подробное руководство (2017).

 

 

Приложения

Кодприложения:

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SQLite;

using System.IO;

 

namespace Cwork1

{

publicpartialclassForm1: Form

{

publicForm1()

{

InitializeComponent();

}

 

privatevoid button1_Click(object sender, EventArgs e)

{

this.Hide();

Form2 f2 = new Form2();

f2.ShowDialog();

}

 

privatevoid button6_Click(object sender, EventArgs e)

{

Application.Exit();

}

 

privatevoid button2_Click(object sender, EventArgs e)

{

this.Hide();

Form3 f3 = new Form3();

f3.ShowDialog();

}

 

privatevoid button3_Click(object sender, EventArgs e)

{

this.Hide();

Form4 f4 = new Form4();

f4.ShowDialog();

}

 

privatevoid button4_Click(object sender, EventArgs e)

{

this.Hide();

Form5 f5 = new Form5();

f5.ShowDialog();

}

 

privatevoid button5_Click(object sender, EventArgs e)

{

this.Hide();

Form6 f6 = new Form6();

f6.ShowDialog();

}

 

privatevoid Form1_Load(object sender, EventArgs e)

{

 

}

}

}

Form2.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.Entity.ModelConfiguration.Configuration;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace Cwork1

{

publicpartialclassForm2: Form

{

publicForm2()

{

InitializeComponent();

}

 

privatevoid button1_Click(object sender, EventArgs e)

{

this.Close();

Form1 f1 = new Form1();

f1.ShowDialog();

}

 

privatevoid button3_Click(object sender, EventArgs e)

{

TextWriter writer = new StreamWriter (@"C:\folder\Отчётпоконтрагентам.txt");

for(int i = 0; i < dataGridView1.Rows.Count - 1; i++)

{

for(int j = 0; j < dataGridView1.Columns.Count; j++)

{

writer.Write("" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");

}

writer.WriteLine("");

writer.WriteLine("----------------------------------------------------");

}

writer.Close();

MessageBox.Show("Данные загружены, молодец!");

}

 

 

privatevoid Form2_Load(object sender, EventArgs e)

{

DataTable table = new DataTable();

table.Columns.Add("Id", typeof(int));

table.Columns.Add("ФИО", typeof(string));

table.Columns.Add("Должность", typeof(string));

table.Columns.Add("Компания", typeof(string));

 

table.Rows.Add(1, "ГригорьевГ.Г.", "Бухгалтер", "РогаиКопыта");

table.Rows.Add(2, "Борисов Б.Б.", "Системный администратор", "Рога и Копыта");

table.Rows.Add(3, "Васильев В.В.", "Руководитель", "Вектор");

table.Rows.Add(4, "Алексеев А.А.", "Бухгалтер", "Вектор");

table.Rows.Add(5, "Дмитриев Д.Д.", "Специалист", "Вектор");

table.Rows.Add(6, "Сергеев С.С.", "Кадровик", "Стоитель");

table.Rows.Add(7, "Николаев Н.Н.", "Кладовщик", "Строитель");

table.Rows.Add(8, "Константинов К.К.", "Грузчик", "Рога и Копыта");

dataGridView1.DataSource = table;

}

 

privatevoid button4_Click(object sender, EventArgs e)

{

 

}

 

 

}

Form3.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SQLite;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO;

 

namespace Cwork1

{

publicpartialclassForm3: Form

{

publicForm3()

{

InitializeComponent();

}

 

privatevoid button1_Click(object sender, EventArgs e)

{

this.Close();

Form1 f1 = new Form1();

f1.ShowDialog();

}

 

privatevoid Form3_Load(object sender, EventArgs e)

{

DataTable table1 = new DataTable();

table1.Columns.Add("Id", typeof(int));

table1.Columns.Add("Наименование", typeof(string));

table1.Columns.Add("Единицыизмерения", typeof(string));

table1.Columns.Add("Тип", typeof(string));

table1.Columns.Add("Цена", typeof(int));

 

table1.Rows.Add(1, "Монитор", "шт", "Товар", 10000);

table1.Rows.Add(2, "Вода", "шт", "Товар", 50);

table1.Rows.Add(3, "Кола", "шт", "Товар", 60);

table1.Rows.Add(4, "Видеокарта", "шт", "Товар", 25000);

table1.Rows.Add(5, "Клавиатура", "шт", "Товар", 6000);

table1.Rows.Add(6, "ОЗУ", "шт", "Товар", 8000);

table1.Rows.Add(7, "ПЗУ", "шт", "Товар", 7000);

table1.Rows.Add(8, "Мат. плата", "шт", "Товар", 11000);

table1.Rows.Add(9, "Установка копьютера", "-", "Услуга", 5000);

table1.Rows.Add(10, "Доставка компонентов", "-", "Услуга", 2500);

dataGridView1.DataSource = table1;

}

 

privatevoid button3_Click(object sender, EventArgs e)

{

TextWriter writer1 = new StreamWriter(@"C:\folder\Отчётпономенклатуре.txt");

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)

{

for (int j = 0; j < dataGridView1.Columns.Count; j++)

{

writer1.Write("" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");

}

writer1.WriteLine("");

writer1.WriteLine("----------------------------------------------------");

}

writer1.Close();

MessageBox.Show("Данные загружены, молодец!");

}

}

}

Form4.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO;

 

namespace Cwork1

{

publicpartialclassForm4: Form

{

publicForm4()

{

InitializeComponent();

}

 

privatevoid button1_Click(object sender, EventArgs e)

{

this.Close();

Form1 f1 = new Form1();

f1.ShowDialog();

}

 

privatevoid button2_Click(object sender, EventArgs e)

{

string Num1 = textBox1.Text;

string Num2 = textBox2.Text;

int Num1_1 = Convert.ToInt32(Num1);

int Num2_1 = Convert.ToInt32(Num2);

int Nums = Num1_1 * Num2_1;

textBox3.Text = Nums.ToString();

}

 

privatevoid button3_Click(object sender, EventArgs e)

{

TextWriter writer2 = new StreamWriter(@"C:\folder\Отчётпопродажам.txt");

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)

{

for (int j = 0; j < dataGridView1.Columns.Count; j++)

{

writer2.Write("" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");

}

writer2.WriteLine("");

writer2.WriteLine("----------------------------------------------------");

}

writer2.Close();

MessageBox.Show("Данные загружены, молодец!");

}

 

privatevoid Form4_Load(object sender, EventArgs e)

{

DataTable table2 = new DataTable();

table2.Columns.Add("Id", typeof(int));

table2.Columns.Add("Контрагент", typeof(string));

table2.Columns.Add("Номенклатура", typeof(string));

table2.Columns.Add("Цена", typeof(int));

table2.Columns.Add("Количество", typeof(int));

table2.Columns.Add("Стоимость", typeof(int));

 

table2.Rows.Add(1, "ГригорьевГ.Г.", "Вода", 50, 2, 100);

dataGridView1.DataSource = table2;

 

 

}

}

}

Form5.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace Cwork1

{

publicpartialclassForm5: Form

{

publicForm5()

{

InitializeComponent();

}

 

privatevoid button1_Click(object sender, EventArgs e)

{

this.Close();

Form1 f1 = new Form1();

f1.ShowDialog();

}

 

privatevoid Form5_Load(object sender, EventArgs e)

{

DataTable table3 = new DataTable();

table3.Columns.Add("Id", typeof(int));

table3.Columns.Add("Наименованиеубытков", typeof(string));

table3.Columns.Add("Убытки", typeof(int));

 

 

table3.Rows.Add(1, "Аренднаяплата", 23);

dataGridView1.DataSource = table3;

}

 

privatevoid button3_Click(object sender, EventArgs e)

{

TextWriter writer3 = new StreamWriter(@"C:\folder\Отчётпоубыткам.txt");

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)

{

for (int j = 0; j < dataGridView1.Columns.Count; j++)

{

writer3.Write("" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");

}

writer3.WriteLine("");

writer3.WriteLine("----------------------------------------------------");

}

writer3.Close();

MessageBox.Show("Данные загружены, молодец!");

}

}

}

Form6.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace Cwork1

{

publicpartialclassForm6: Form

{

publicForm6()

{

InitializeComponent();

}

 

privatevoid button1_Click(object sender, EventArgs e)

{

this.Close();

Form1 f1 = new Form1();

f1.ShowDialog();

}

 

privatevoid Form6_Load(object sender, EventArgs e)

{

DataTable table4 = new DataTable();

table4.Columns.Add("Id", typeof(int));

table4.Columns.Add("Прибыль", typeof(int));

table4.Columns.Add("Убытки", typeof(int));

table4.Columns.Add("Выручка", typeof(int));

 

table4.Rows.Add(1, 50, 23, 37);

dataGridView1.DataSource = table4;

}

 

privatevoid button3_Click(object sender, EventArgs e)

{

TextWriter writer4 = new StreamWriter(@"C:\folder\Отчётповыручке.txt");

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)

{

for (int j = 0; j < dataGridView1.Columns.Count; j++)

{

writer4.Write("" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");

}

writer4.WriteLine("");

writer4.WriteLine("----------------------------------------------------");

}

writer4.Close();

MessageBox.Show("Данные загружены, молодец!");

}

 

privatevoid button2_Click(object sender, EventArgs e)

{

string Num1 = textBox1.Text;

string Num2 = textBox2.Text;

int Num1_1 = Convert.ToInt32(Num1);

int Num2_1 = Convert.ToInt32(Num2);

int Nums = Num1_1 - Num2_1;

textBox3.Text = Nums.ToString();

}

}

}



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2023-01-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: