Автор работы: Пользователь скрыл имя, 21 Января 2014 в 20:35, отчет по практике
ТОО «Корпорация Сайман» – компания в области производства приборов учета электроэнергии. Компания производит продукцию, и разрабатывает решения для энергетической промышленности.
Специфической особенностью разработок ТОО «Корпорации Сайман» является принципиальная внедряемость выработанных рекомендаций. Решения, предлагаемые на национальном рынке, предварительно адаптируются с учетом глубокого понимания инженерами компании реальной практики бизнеса и нормативно-технических требований законодательства Республики Казахстан.
1 ОБЩАЯ ЧАСТЬ…………………………………………………………………….3
1.1 Структура предприятия………………………………………....................3
1.2 Наличие техники……………………………………...................................5
1.3 Программное обеспечение предприятия…………………………………5
2 СПЕЦИАЛЬНАЯ ЧАСТЬ…………………………………………………………..8
2.1 Постановка задачи………………………………………………….………8
2.2 Алгоритм задачи……………………………………………………………8
2.3 Блок-схема задачи……………………………………………………...…11
2.4 Листинг программы………………………………………………………11
3 ЗАКЛЮЧЕНИЕ…………………………………………………………………….15
Любой XML- документ должен всегда начинаться с инструкции <?xml?>, внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа.
Лист
№ Документа
Изм.
– в заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация;
– каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего "напарника";
– в XML учитывается регистр символов;
– все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
– вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов;
– вся информация, располагающаяся между начальными и конечными тэгами, рассматривается в XML как данные, и поэтому учитываются все символы форматирования (пробелы, переводы строк, табуляции не игнорируются, как в HTML).
В ходе детального анализа файлов было выяснено, что файлы подразделяются на типы такие как: пакеты и структуры. Эти файлы имеют разную структуру, но общий набор атрибутов. Основными различиями являются: корневые элементы файла или по-другому корневой узел, дочерние узлы и вложенные узлы. В файле может быть только один корневой элемент, в нашем случае это может быть Packet или Structure.
Файл типа Пакет имеет корневой элемент Packet. Так же имеет ряд определенных атрибутов присущих этому типу, таких как:
– Name;
– Structure;
– Destination;
– UseProtocol;
– MaxItemCount;
– Offset;
– ReplyPackets;
Пакет может включать в себя дочерние узлы Token, которых может быть довольно большое количество и которые содержат ряд атрибутов характерных только для Токенов типа Пакет, а так же они могут вообще не присутствовать в документе. Атрибуты Токена:
– Desc;
– DataLength;
– DataType;
– Value;
– IsKey;
– IsResult;
– FunctionName;
– DataStart;
9
Лист
№ Документа
Изм.
Файл типа Структура с корневым элементом Structure содержит, как и общие атрибуты, так и свои, такие как:
10
Лист
№ Документа
Изм.
Токены так же содержат атрибуты:
Некоторые документы этого типа могут содержать вложенные узлы, в данном случае вложенный узел определяется значением атрибута DataType, если значение равно 'Bitwise' то в текущем токене имеется вложенный узел. Атрибуты токена вложенного узла:
Довольно разная структура этих файлов требует очень внимательной работы с документами, для облегчения работы, нужно предусмотреть все варианты представления данных предлагаемых пользователю для редактирования. Так же нужно предусмотреть валидное чтение из документов и их сохранение.
В проекте всего одна форма XMLEditormainForm, на которой пользователю в максимально понятном интерфейсе представлены все предлагаемые действия для работы с файлами.
Основной алгоритм выполнения программы. После запуска программы пользователю открывается форма, на которой имеются неактивные компоненты для отображения данных. Для работы с файлами для начала следует их открыть, это можно сделать двумя способами:
1.В Меню(MainMenu) «Файл» выбрать пункт «Открыть».
2.В правой верхней части
формы есть компонента
После выбора файлов из директории все файлы загружаются в компонент lvFiles, где представлены в виде иконок с картинками. При открытии файлов вызывается процедура N1Click. При выборе файла из предложенных все его данные отображаются в соответствующих компонентах в зависимости от структуры файла. Если это файл типа Пакет то активны и видимы компоненты присущие этому типу файла, аналогично со структурами. Если в файле имеется вложенный узел, то заполняется таблица «Параметров Токена». В таблице есть поля маски, списки выбора и счетчики, предназначенные для быстрой и удобной работы и точного представления данных, которые уменьшают возникновение ошибки при заполнении таблицы пользователем. Перенос данных на форму осуществляется процедурой XMLToForm. Для навигации по таблице используется компонента cxNavigator. Навигатор позволяет перемещаться по записям, добавлять новые записи или удалять ненужные. Если в таблице в поле Тип Данных имеется значение Bitwise, то открывается вторая таблица, в которой отображены значения атрибутов вложенных Токенов. Перенос Токенов отрабатывается процедурой AddToBitwise. Для навигации используется другой навигатор, так же есть поля маски, списки выбора и счетчики.
11
Лист
№ Документа
Изм.
Для выхода из программы нужно убедиться, что все изменения сохранены, и в Меню выбрать пункт «Выход» или нажать на кнопку «Закрыть».
2.3 Блок-схема задачи
Макро - блок схема программы представлена в приложении А.
2.4 Листинг программы
Представлен листинг процедуры решающий проблемную часть программы, перенос данных на форму.
procedure TXMLEditormainForm.XMLToForm(
var i, Rec,l: Integer;
Node, knot : IXMLNode;
Destination,UseProtocol,check: string;
MaxItemCount,j,Offset,
procedure SetDestinationComboBox(aText: string);
var
Index, t: Integer;
begin
ComBoNaprav.Properties.Items.
for t := Low(TypeNameArray) to High(TypeNameArray) do
ComBoNaprav.Properties.Items.
ComBoNaprav.ItemIndex := -1;
12
Лист
№ Документа
Изм.
for t := Low(TypeArray) to High(TypeArray) do
if UpperCase(aText) = UpperCase(TypeArray[t]) then
begin
Index := t;
Break;
end;
ComBoNaprav.ItemIndex := Index;
end;
procedure SetDestinationComboBoxUseProto
var
Index, t: Integer;
begin
ComBoProtocol.Properties.
for t := Low(TypeUseProtocolName) to High(TypeUseProtocolName) do
ComBoProtocol.Properties.
ComBoProtocol.ItemIndex := -1;
Index := -1;
for t := Low(TypeUseProtocol) to High(TypeUseProtocol) do
if UpperCase(aText) = UpperCase(TypeUseProtocol[t]) then
begin
Index := t;
Break;
end;
ComBoProtocol.ItemIndex := Index;
end;
procedure DocSettings; // настройки параметров документа, чтение из файла
begin
knot := XMLDocument.ChildNodes[check];
if XMLDocument.ChildNodes[check].
else ComBoTip.Text := cStructureTag;//выводим структуру
EdPacketName.text := VarDef(knot.GetAttribute(
edStructure.Text := VarDef(knot.GetAttribute(
Destination := VarDef(knot.GetAttribute(
SetDestinationComboBox(
SetDestinationComboBoxUseProto
ComBoProtocol.ItemIndex := IIF(UseProtocol = 'True',ComBoProtocol.
ComBoProtocol.properties.
if ComBoTip.Text = cStructureTag then
begin
ItemCount := VarDef(knot.GetAttribute(
seMaxElements.value := ItemCount;
StructureOffset := VarDef(knot.GetAttribute(
seSdvig.value := StructureOffset;
visibilityStructyre;
end
else
begin
MaxItemCount := VarDef(knot.GetAttribute(
seMaxElements.value := MaxItemCount;
Offset := VarDef(knot.GetAttribute(
seSdvig.value := Offset;
visibilityPacket;
end;
edOtvetPacket.text := VarDef(knot.GetAttribute(
edOptions.text:= VarDef(knot.GetAttribute(
end;
begin
cxNavigator.visible:= true;//очистка таблицы параметров токена
XMLEditormainForm.Height := 565;
vwTokensBitwise.
vwTokens.DataController.
vwTokens.OptionsCustomize.
vwTokens.OptionsCustomize.
if XMLDocument.Active then
begin//сделать пункты меню сохранения активными
miSave.Enabled := true;
miSaveAs.Enabled := true;//искать в документе главный узел
for j := 0 to XMLDocument.ChildNodes.Count - 1 do
if (XMLDocument.ChildNodes[j].
(XMLDocument.ChildNodes[j].
check := XMLDocument.ChildNodes[j].
if (check <> '') then
begin// подгружаем параметры документа
DocSettings;// работаем с данными параметров дока
with vwTokens.DataController do
begin// полное обновление таблицы
BeginFullUpdate;
try// перебираем дочернии узлы главного узла
for i := 0 to XMLDocument.ChildNodes[check].
begin// если значение дочернего узла равно Токену тогда
if XMLDocument.ChildNodes[check].
begin// переменной присваеваем значения главного узла и дочернего узла
13
Лист
№ Документа
Изм.
Rec := vwTokens.DataController.
values[Rec, colNum.index] := i+1;
values[Rec, colDescription.Index] := VarDef(Node.GetAttribute(
values[Rec, colName.index] := VarDef(Node.GetAttribute(
values[Rec, colDataLength.index] := VarDef(Node.GetAttribute(
14
Лист
№ Документа
Изм.
if Node.GetAttribute(cDataType) = cBitwiseName then
begin
AddToBitwise(Node);
vwTokensBitwise.
vwTokensBitwise.
colNum.Filtered := True;
cxGrid1.Visible := true;
XMLEditormainForm.Height := 830;
end;
values[Rec, colValue.index] := VarDef(Node.GetAttribute(
values[Rec, colUnusedValue.index] := VarDef(Node.GetAttribute(
values[Rec, colIsKey.index] := FindNameTypeIsKey(VarDef(Node.
values[Rec, colIsResult.index] := FindNameTypeIsResult(VarDef(
values[Rec, colFunctionName.index] :=VarDef(Node.GetAttribute(
values[Rec, colDataStart.index] := VarDef(Node.GetAttribute(
values[Rec, colDataEnd.index] := VarDef(Node.GetAttribute(
end;
end;
finally
EndFullUpdate;
end;
end;
end
else ShowMessage('Неверная структура файла');
end;
end;
15
Лист
№ Документа
Изм.
Прохождение производственной практики заключается в закреплении и усовершенствовании навыков по профессии программиста.
Практика началась с вводного инструктажа, изучения требований к организации определённого рабочего места, ознакомления с санитарно-гигиеническими нормами и безопасностью работы. Далее осуществлялось знакомство с направлением деятельности компании «Корпорация САЙМАН» изучение её нормативно-правовой базы.
Последующие дни практики были посвящены изучению особенностей структуры, индивидуального функционирования определённых информационных систем, созданных сетей предприятия. Исследовался опыт выбора, применения средств информационной, современной вычислительной техники, служащими для построения надёжных информационных систем, качественных банков информации, состав технической документации, связанный с действующими информационными системами, и разнообразных методик оформления её. Изучалась технология регистрации, быстрого сбора, передачи необходимой информации в конкретных условиях многофункциональной информационной системы предприятия, осуществлялось рассмотрение характеристик используемой вычислительной техники, особенностей их эксплуатации. На практике проводилось ознакомление с новой системой классификации, кодирования нужной информации в существующих условиях функционировании информационных систем. Изучалась структура и принципы использования локальной сети предприятия, технологий распределённой обработки данных. Исследовались виды и принципы выбора используемых операционных систем, типовая практика работы в них.
На практике изучались назначения и принципы построения уникальных баз данных, особенности функционирования, практическое использование, исследовалось использование систем и языков программирования в процессе решения производственных задач.
Были рассмотрены задачи, решаемые в средах обработки графических изображений, с использованием мультимедийных технологий, глобальных компьютерных сетей.
Изучались существующие на предприятии методы защиты информации от зловредного несанкционированного доступа, осуществлялось экономическое и экологическое обоснование применения информационных технологий.
Г
Конец
Информация о работе Отчет по практике в ТОО «Корпорация Сайман»