Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2010, 16:07   #1
Driver_09
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 61
По умолчанию Обработка XML-файла

Дан хмл-файл, нужно составить и вывести на экран список работников (фамилия, имя, отчество), проживающие за пределами Московской области (на территории РФ). Подсчитать и вывести на экран их количество.

Какими компонентами нужно пользоваться?
Driver_09 вне форума Ответить с цитированием
Старый 25.05.2010, 16:36   #2
Driver_09
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 61
По умолчанию

в этом хмл-файле есть много информации в тегах СПРАВКА. Самих тегов СПРАВКА тоже много, около 50...вот один пункт:
Цитата:
- <Справка>
- <ОбщСвИЧ>
<ГодДох>2006</ГодДох>
<НомСпр>1</НомСпр>
<ДатаСпр>23.03.2007</ДатаСпр>
<ИФНСНА>5911</ИФНСНА>
</ОбщСвИЧ>
- <ИстДох>
- <СвНАЮЛ>
<ИННЮЛ>5911000621</ИННЮЛ>
<КПП>591101001</КПП>
<НаимОрг>ООО Студия «Decorate»</НаимОрг>
<ОКАТО>57408000000</ОКАТО>
</СвНАЮЛ>
</ИстДох>
- <ПолучДох>
<ИННФЛ>591100899480</ИННФЛ>
- <ФИО>
<Фамилия>Анферов</Фамилия>
<Имя>Дмитрий</Имя>
<Отчество />
</ФИО>
<Статус>1</Статус>
<ДатаРожд>25.12.1961</ДатаРожд>
<Гражданство>643</Гражданство>
- <УдЛичн>
<КодУдЛичн>21</КодУдЛичн>
<СерНомДок>57 06 968176</СерНомДок>
</УдЛичн>
- <АдрМЖРФ>
<КодРегион>59</КодРегион>
<Город>Березники г</Город>
<Улица>Ленина пр-кт</Улица>
<Дом>2</Дом>
<Кварт>48</Кварт>
</АдрМЖРФ>
</ПолучДох>
- <СвДохСтав>
<Ставка>13</Ставка>
- <ДохВыч>
<НомМес>01</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>10447.95</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>02</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>4747.43</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>03</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>4747.43</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>04</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>4747.43</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>05</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>11746.12</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>06</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>5615.54</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>07</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>4011.11</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>07</НомМес>
<КодДоход>2012</КодДоход>
<СумДоход>1647.28</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>08</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>2196.66</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>08</НомМес>
<КодДоход>2012</КодДоход>
<СумДоход>4118.20</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>09</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>5615.54</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>10</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>6233.25</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>11</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>6233.25</СумДоход>
</ДохВыч>
- <ДохВыч>
<НомМес>12</НомМес>
<КодДоход>2000</КодДоход>
<СумДоход>6233.25</СумДоход>
</ДохВыч>
- <СтандВыч>
- <ПравоВыч>
<КодВычет>101</КодВычет>
<СумВычет>3000.00</СумВычет>
</ПравоВыч>
- <ПравоВыч>
<КодВычет>103</КодВычет>
<СумВычет>1200.00</СумВычет>
</ПравоВыч>
<СумСтНалВыч>4200.00</СумСтНалВыч>
</СтандВыч>
- <СГДНалПер>
<СГДСумм>78340.44</СГДСумм>
<ОблСумм>74140.44</ОблСумм>
<НИОблСумм>9638</НИОблСумм>
<НУОблСумм>9638</НУОблСумм>
</СГДНалПер>
</СвДохСтав>
</Справка>
Driver_09 вне форума Ответить с цитированием
Старый 25.05.2010, 16:38   #3
Driver_09
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 61
По умолчанию

Также есть пример создания программы, но на другой вариант:
Цитата:
1. После открытия Delphi сохраняем проект и все связанные с ним
файлы;
2. Переименовываем форму с Form1 в Form_Main, изменив
свойство Name;
3. Меняем заголовок главного окна (Form_Main) на «Обработка
файла формата 2НДФЛ», изменяя свойство Caption;
4. Из палитры компонентов, с вкладки Standart добавляем на форму
компонент MainMenu;
5. Двойным щелчком по добавленному компоненту на форме
открываем его для редактирования, добавляем пункт «Файл»
(свойство Caption), добавляем подпункты: 1) «Открыть», в
свойстве ShortCut можно выбрать сочетание клавиш для
быстрого доступа, например [Ctrl]+[O] 2) разделитель (знак
минус) 3)Выход;
6. С вкладки Standard добавляем компонент Memo, в свойстве Align
устанавливаем значение alBottom (компонент расположен у
нижнего края), подстраиваем высоту компонента. Выбрав
свойство Lines наживаем на появившуюся рядом кнопку ( ),
стираем все строки и нажимаем кнопку OK;
7. С вкладки Additional добавляем компонент Splitter, в свойстве
Align устанавливаем значение alBottom, устанавливаем высоту
элемента с помощью свойства Height, задав значение 5;
8 8. С вкладки Additional добавляем компонент StringGrid, в свойстве
Align устанавливаем значение alClient (компонент занимает всё
доступное пространство);
9. Настраиваем объект StringGrid1:
a. ColCount (Количество столбцов): 5 (зависит от задания);
b. DefaultRowHeight (высота строки по умолчанию): 16;
c. Раскрываем свойство Options, и устанавливаем:
i. goRangeSelect (запрещаем выбор нескольких ячеек):
false;
ii. goRowSizing (изменение высоты строки): true;
iii. goColSizing (изменение ширины столбца): true;
iv. goRowSelect (выделение будет не для одной ячейки, а
для всей строки): true;
d. RowCount (Количество строк): 2;
10. С вкладки Dialogs добавляем компонент OpenDialog;
11. Настраиваем объект OpenDialog1:
a. Выбрав свойство Filter наживаем на появившуюся рядом
кнопку ( ). В столбце FilterName вводим описание
фильтра, например «XML-файлы», в поле Filter вводим
фильтр, для xml файлов это «*.xml», также добавляем
второй пункт «Все файлы»-«*», нажимаем кнопку «OK»;
b. Раскрываем свойство Options, и устанавливаем:
i. ofFileMustExist(выбираемый файл должен
существовать): true;
12. С вкладки Internet добавляем компонент XMLDocument, изменим
имя объекта с «XMLDocument1» на «xml» (результат работы по
предыдущим пунктам на рис. 1);
9
Рис. 1 Вид окна программы в Delphi 7
13. Описываем запись man_info;
14. Добавляем глобальную переменную FileName;
15. Подключаем дополнительный модуль stack.pas (должен
находиться в папке с проектом), добавив его в разделе uses;
16. В меню View выбираем пункт CodeExplorer, вызвав контекстное
меню для пункта TForm_Main (рис 2.) выбрав пункт New, по
очереди добавляем три процедуры (введя их название и если
необходимо параметры, без знака «;» в конце):
a. procedure process ;
b. procedure AddToSG(m:man_info) ;
c. procedure FormClearAll ;
10
Рис. 2 Добавление нового метода
17. Создаем функцию is_null, добавив её перед всеми методами
(процедурами) в программе;
18. Выбрав объект Form_Main в инспекторе объектов переходим на
вкладку Events (События) двойным щелчком напротив поля
OnShow (при отображение формы) создаем соответствующие
событие, описываем собитие;
19. Пишем код, для метода (процедуры) process;
20. Пишем код, для метода (процедуры) AddToSG;
21. Пишем код, для метода (процедуры) FormClearAll;
22. Создаем событие для пункта меню «Открыть», щелкнув по нему
мышкой, описываем необходимые действия;
23. Создаем событие для пункта меню «Выход», щелкнув по нему
мышкой, описываем необходимые действия;
24. Запускам программу кнопкой F9
я создал таблицу, но теперь нужен код проги...
Driver_09 вне форума Ответить с цитированием
Старый 25.05.2010, 16:38   #4
Driver_09
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 61
По умолчанию

Также есть пример создания программы, но на другой вариант:
Цитата:
1. После открытия Delphi сохраняем проект и все связанные с ним
файлы;
2. Переименовываем форму с Form1 в Form_Main, изменив
свойство Name;
3. Меняем заголовок главного окна (Form_Main) на «Обработка
файла формата 2НДФЛ», изменяя свойство Caption;
4. Из палитры компонентов, с вкладки Standart добавляем на форму
компонент MainMenu;
5. Двойным щелчком по добавленному компоненту на форме
открываем его для редактирования, добавляем пункт «Файл»
(свойство Caption), добавляем подпункты: 1) «Открыть», в
свойстве ShortCut можно выбрать сочетание клавиш для
быстрого доступа, например [Ctrl]+[O] 2) разделитель (знак
минус) 3)Выход;
6. С вкладки Standard добавляем компонент Memo, в свойстве Align
устанавливаем значение alBottom (компонент расположен у
нижнего края), подстраиваем высоту компонента. Выбрав
свойство Lines наживаем на появившуюся рядом кнопку ( ),
стираем все строки и нажимаем кнопку OK;
7. С вкладки Additional добавляем компонент Splitter, в свойстве
Align устанавливаем значение alBottom, устанавливаем высоту
элемента с помощью свойства Height, задав значение 5;
8 8. С вкладки Additional добавляем компонент StringGrid, в свойстве
Align устанавливаем значение alClient (компонент занимает всё
доступное пространство);
9. Настраиваем объект StringGrid1:
a. ColCount (Количество столбцов): 5 (зависит от задания);
b. DefaultRowHeight (высота строки по умолчанию): 16;
c. Раскрываем свойство Options, и устанавливаем:
i. goRangeSelect (запрещаем выбор нескольких ячеек):
false;
ii. goRowSizing (изменение высоты строки): true;
iii. goColSizing (изменение ширины столбца): true;
iv. goRowSelect (выделение будет не для одной ячейки, а
для всей строки): true;
d. RowCount (Количество строк): 2;
10. С вкладки Dialogs добавляем компонент OpenDialog;
11. Настраиваем объект OpenDialog1:
a. Выбрав свойство Filter наживаем на появившуюся рядом
кнопку ( ). В столбце FilterName вводим описание
фильтра, например «XML-файлы», в поле Filter вводим
фильтр, для xml файлов это «*.xml», также добавляем
второй пункт «Все файлы»-«*», нажимаем кнопку «OK»;
b. Раскрываем свойство Options, и устанавливаем:
i. ofFileMustExist(выбираемый файл должен
существовать): true;
12. С вкладки Internet добавляем компонент XMLDocument, изменим
имя объекта с «XMLDocument1» на «xml» (результат работы по
предыдущим пунктам на рис. 1);
9
Рис. 1 Вид окна программы в Delphi 7
13. Описываем запись man_info;
14. Добавляем глобальную переменную FileName;
15. Подключаем дополнительный модуль stack.pas (должен
находиться в папке с проектом), добавив его в разделе uses;
16. В меню View выбираем пункт CodeExplorer, вызвав контекстное
меню для пункта TForm_Main (рис 2.) выбрав пункт New, по
очереди добавляем три процедуры (введя их название и если
необходимо параметры, без знака «;» в конце):
a. procedure process ;
b. procedure AddToSG(m:man_info) ;
c. procedure FormClearAll ;
10
Рис. 2 Добавление нового метода
17. Создаем функцию is_null, добавив её перед всеми методами
(процедурами) в программе;
18. Выбрав объект Form_Main в инспекторе объектов переходим на
вкладку Events (События) двойным щелчком напротив поля
OnShow (при отображение формы) создаем соответствующие
событие, описываем собитие;
19. Пишем код, для метода (процедуры) process;
20. Пишем код, для метода (процедуры) AddToSG;
21. Пишем код, для метода (процедуры) FormClearAll;
22. Создаем событие для пункта меню «Открыть», щелкнув по нему
мышкой, описываем необходимые действия;
23. Создаем событие для пункта меню «Выход», щелкнув по нему
мышкой, описываем необходимые действия;
24. Запускам программу кнопкой F9
я создал таблицу, но теперь нужен код проги...
Driver_09 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка данных в базу из xml файла Dien БД в Delphi 1 06.04.2010 20:27
Неправельное сохранение файла xml -=Virus=- Работа с сетью в Delphi 1 03.03.2010 21:14
Обработка XML Minatrix Помощь студентам 6 03.03.2009 18:31
Обработка XML строки при загрузке dbf в Delphi SereJa1020 БД в Delphi 1 18.12.2007 18:28