Автор: k*******@mail.ru, 24 Ноября 2011 в 17:36, курсовая работа
Актуальность данной темы обусловлена тем, что прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов - языков программирования.
Информационной системой (ИС), либо автоматизированной ИС, АИС, называется программно-аппаратная система, предназначенная для автоматизации целенаправленной деятельности конечных пользователей, обеспечивающая, в соответствии с заложенной в нее логикой обработки, возможность получения, модификации и хранения информации.
Введение
1Характеристика предприятия…………………………………………………...5
2 Языки программирования …………………………………………………….. 6
3 Анализ требований к автоматизированным информационным системам…. 7
3.1 Определение ИС.……………………………………………………………...8
3.2 Классификация по степени автоматизации…………………………………9
4 Системные требования и требования к программному обеспечению……..10
5 Общие описания языка Delfi…………………………………………………
6 Правила охраны труда и техники безопасности на предприятии…………
Рисунок
1 Рабочая область программы
Приложение
Б
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl, ComCtrls, ShellCtrls, CheckLst, ExtCtrls;
//uses
Windows,Messages,SysUtils,
// Dialogs,StdCtrls,ExtCtrls,
type
TForm1 = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Label1: TLabel;
Button4: TButton;
Button5: TButton;
Edit2: TEdit;
Label2: TLabel;
CheckListBox1: TCheckListBox;
Button1: TButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
ProgressBar1: TProgressBar;
CheckBox3: TCheckBox;
RadioGroup1: TRadioGroup;
Label3: TLabel;
ProgressBar2: TProgressBar;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ListBox2DblClick(Sender: TObject);
procedure CheckListBox1DblClick(Sender: TObject);
procedure CheckListBox1Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
Procedure Param_file_Excel(name_f_excel: string);
Procedure Param_list_Excel;
public
{ Public declarations }
end;
var
Form1: TForm1;
var p, s: string;
f_txt: TextFile; name_f_xls, name_f_txt, name_f_txt_list, str_excel, str_excel2, s_excel, str_excelP, str_excel2P, s_excelP: String;
i, n: Integer;
str, col, str_n, col_k, npcol: Integer;
Rows, Columns: Integer;
var XL: Variant; path_xls, path_txt: String;
kol_list_excel, nom_list: byte;
prz_vib_p: Boolean;
var mas_par_excel: array[1..5,1..2] of integer; //массив содержащий параметры листов Екселя
const p_defa_xls = 'c:\Excel_Txt\Excel\'; p_defa_txt = 'c:\Excel_Txt\Txt\';
implementation
uses ComObj,
Unit2, ShellAPI, {ExtCtrls,} Buttons;
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
//для загрузки используется компонент CheckListBox1
{
Form2.ShellTreeView1.Path := p_defa_xls;
Form2.Caption := 'Укажите каталог файлов .XLS';
Form2.ShowModal;
//открытие окна определения
if not prz_vib_p then Exit; //выход из процед.,если путь не выбран
path_xls := p;
//p := ExtractFileDir(Application.
s := path_xls + '\*.xls'#0;
ListBox1.Clear;
ListBox1.Perform(LB_DIR, DDL_ReadWrite, Longint(@S[1])); //заполняем список .xls
}
end;
procedure TForm1.Button3Click(Sender: TObject);
var st_e, sb_e: byte; str_pust: String; prz_exit: Boolean;
begin
try
//проверка наличия разделителя в едит1 и кол.строк в екселе в едит2, если нет, то выход
//if (Edit1.Text = '')or(Edit2.Text = '') then
if (Edit1.Text
= '') then //проверка наличия
begin
//ShowMessage('Укажите знак разделителя в поле "Разделитель", а также количество строк в файле Excel.');
ShowMessage('Укажите знак разделителя в поле "Разделитель".');
prz_exit := true; Exit; //prz_exit переменная указыв. на выход по Exit
end;
Form2.ShellTreeView1.Path := p_defa_txt; //путь по умолчанию для .тхт
Form2.Caption := 'Укажите каталог файлов .TXT';
Form2.ShowModal;
//открытие окна определения
Form1.Refresh;
if not prz_vib_p then begin prz_exit := true; Exit; end;//выход из процед., если путь не выбран
//проверка
выбора файлов Екселя для
n := 0;
{for i:=0 to ListBox1.Items.Count - 1 do
if (ListBox1.Selected[i]) then
inc(n);}
//проверка по выставленным флагам CheckListBox1 в списке файлов Екселя
for i:=0 to CheckListBox1.Items.Count - 1 do
if (CheckListBox1.Checked[i]) then
inc(n);
if n = 0 then //если фалы не выбраны, то выход из процедуры
begin
//ShowMessage('Нет выбранных файлов. Выберите файлы указателем мыши, для множественного выбора используете Shift и Ctrl.');
ShowMessage('Нет выбранных файлов. Выберите файлы выставив флаги.');
prz_exit := true; Exit;
end;
Screen.Cursor := crHourglass;
path_txt := p;
XL := CreateOleObject('Excel.
XL.Visible := false;
XL.DisplayAlerts := False;
//XL.Visible := True;
ProgressBar1.Min := 0;
ProgressBar1.Max := n; //значение n из проверки на наличие выбранных файлов
n := 0; //для участия в подсчёте ProgressBar1
if CheckBox3.Checked then ListBox2.Clear; //предвар. очистка списка с ф.тхт для вывода только записанных ф.
//for i:=0 to ListBox1.Items.Count - 1 do //цикл по строкам ListBox1 с названиями файлов екселя
for i:=0 to CheckListBox1.Items.Count - 1 do //цикл по строкам CheckListBox1 с названиями файлов екселя
begin
Application.ProcessMessages;
//if (ListBox1.Selected[i]) then //если файл выбран
if (CheckListBox1.Checked[i]) then //если файл выбран
begin
Label3.Caption := CheckListBox1.Items.Strings[i]
inc(n);
//ProgressBar1.Position := n;
Form1.Refresh;
//name_f_xls := ListBox1.Items.Strings[i];
name_f_xls := CheckListBox1.Items.Strings[i]
name_f_txt := name_f_xls; //копир. имени ф-ла екселя ф-лу тхт
Delete(name_f_txt, length(name_f_txt)-2-1, 3+1); //удаление из назв.файла тхт симолов '.xls'
//name_f_txt := name_f_txt + 'txt';
//AssignFile(f_txt, path_txt + '\' + name_f_txt);
//Rewrite(f_txt);
xl.Workbooks.Open(path_xls + '\' + name_f_xls);
//str_n := 1; col_k := 10;
str_excel := ''; str_excel2 := '';
kol_list_excel := XL.ActiveWorkBook.Sheets.
//Param_file_Excel(name_f_xls)
ProgressBar2.Min := 0;
ProgressBar2.Max := kol_list_excel; //значение n из проверки на наличие выбранных файлов
for nom_list := 1 to kol_list_excel do //цикл по количесву листов книги екселя
begin
Label3.Caption := CheckListBox1.Items.Strings[i] + ' Лист' + IntToStr(nom_list);
ProgressBar2.Position := nom_list;
Application.ProcessMessages;
s := XL.Workbooks[1].Worksheets[
name_f_txt_list := name_f_txt + '_' + IntToStr(nom_list) + '_' + s + '.txt'; //добавлен. к имени файла txt имени листа + расширение .тхт
AssignFile(f_txt, path_txt + '\' + name_f_txt_list); //создание файла тхт для записи каждого отдельно листа файла Екселя
Rewrite(f_txt);
//str_n := mas_par_excel[nom_list,1];
//col_k := mas_par_excel[nom_list,2];
Param_list_Excel; //процедура задания параметров листа Екселя (количества сток и столбцов, начальной строки)
//for str := str_n to StrToInt(Edit2.Text) do //цикл по строкам от начальной по StrToInt(Edit2.Text) листа екселя, на которых предположительно могут быть данные
for str := str_n to Rows do //цикл по строкам от начальной по Rows листа екселя
begin
npcol := 0; //номер не пустого столбца
str_excel := ''; str_excel2 := ''; //предварительная очистка накопителых строк с разделителем и без разделителя
for col := 1 to col_k do //цикл по столбцам листа от 1 по col_k
begin
s_excel := XL.Workbooks[1].Worksheets[
if s_excel <> '' then //проверка на пустоту столбцов екселя
begin
str_excel := str_excel + s_excel + Edit1.Text; //формирование строки с разделителем
str_excel2 := str_excel2 + s_excel; //формирование строки без разделителя
end
else //if s_excel <> '' then //проверка на пустоту столбцов екселя
//если в ячейке столбца пусто, то проверяем следующие 20 ячеек по строке
begin
str_pust := '';
str_excelP := '';
str_excel2P := '';
if npcol < col then
begin
for sb_e := col to 20 do
begin
s_excelP := XL.Workbooks[1].Worksheets[
str_pust := str_pust + s_excelP;
if s_excelP <> '' then break;
str_excelP := str_excelP + s_excelP + Edit1.Text;
str_excel2P := str_excel2P + s_excelP;
end; //for sb_e := col to 20 do
if str_pust <> '' then
//если
за пустой последующая какая-
Информация о работе Анализ требований к автоматизированным информационным системам