Файл: Проектирование реализации операций бизнес-процесса «Расчет заработной платы». (Обоснование проектных решений по информационному обеспечению).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.05.2023

Просмотров: 317

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1 ГЛАВА. АНАЛИТИЧЕСКАЯ ЧАСТЬ

1.1. Выбор комплекса задач автоматизации

​​​​​​​1.2. Характеристика существующих бизнес – процессов

​​​​​​​1.3. Характеристика документооборота, возникающего при решении задачи.

​​​​​​​1.4. Обоснование проектных решений по информационному обеспечению.

​​​​​​​1.5. Обоснование проектных решений по программному обеспечению.

2 ГЛАВА. ПРОЕКТНАЯ ЧАСТЬ

2.1. Информационная модель и её описание.

2.2. Характеристика нормативно-справочной, входной и оперативной информации

2.3. Характеристика результатной информации.

2.4. Общие положения (дерево функций и сценарий диалога).

2.5. Характеристика базы данных.

2.6. Структурная схема пакета (дерево вызова программных модулей).

2.7 Описание программных модулей.

​​​​​​​2.8. Контрольный пример реализации проекта и его описание.

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

СПИСОК ЛИТЕРАТУРЫ

      1. Проект по автоматизации управления средним предприятием. Информационное обеспечение. [онлайн]- URL: http://kit-project.narod.ru/4.6.htm (дата обращения 27.02.2017)
      2. Реляционная модель данных. [онлайн]- URL: http://hire.hzmk.com.ua/courses/BD/02/content/content6.html (дата обращения 07.03.2017)

Реляционная модель данных. Получение реляционной схемы из ER-диаграммы. [онлайн]- URL: http://e-educ.ru/bd23.html(дата обращения 27.02.2017)

ПРИЛОЖЕНИЯ

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ToolWin, ActnMan, ActnCtrls, ActnMenus, ImgList, Menus, StdCtrls,

Grids, ComObj, TeEngine, Series, ExtCtrls, TeeProcs, Chart, TeeFunci,

OleCtrls, VCFI, ComCtrls, jpeg;

type

TMainForm = class(TForm)

MainMenu1: TMainMenu;

FileMenu: TMenuItem;

CreateFile: TMenuItem;

ImageList1: TImageList;

Open: TMenuItem;

Save: TMenuItem;

CloseFilesss: TMenuItem;

ExitProg: TMenuItem;

VidMenu: TMenuItem;

IzmColor: TMenuItem;

WorkFileMenu: TMenuItem;

Add: TMenuItem;

Edit: TMenuItem;

Find: TMenuItem;

Report: TMenuItem;

ZP: TMenuItem;

Vedom: TMenuItem;

Sprav: TMenuItem;

Help: TMenuItem;

HelpHelp: TMenuItem;

About: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

PopupMenu1: TPopupMenu;

Memo1: TMemo;

StringGrid1: TStringGrid;

Sohranit: TMenuItem;

addPOP: TMenuItem;

EditPOP: TMenuItem;

FindPOP: TMenuItem;

DeletePOP: TMenuItem;

ToolBar1: TToolBar;

ToolButton1: TToolButton;

ToolButton3: TToolButton;

ToolButton2: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

ToolButton7: TToolButton;

ToolButton8: TToolButton;

ToolButton9: TToolButton;

ToolButton10: TToolButton;

ToolButton12: TToolButton;

ToolButton13: TToolButton;

ToolButton6: TToolButton;

ToolButton14: TToolButton;

ToolButton15: TToolButton;

ToolButton16: TToolButton;

Image1: TImage;

FontDialog1: TFontDialog;

procedure CreateFileClick(Sender: TObject);

procedure OpenClick(Sender: TObject);

procedure SohranitClick(Sender: TObject);

procedure EditClick(Sender: TObject);

procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

Rect: TRect; State: TGridDrawState);

procedure FindClick(Sender: TObject);

procedure AddClick(Sender: TObject);

procedure addPOPClick(Sender: TObject);

procedure EditPOPClick(Sender: TObject);

procedure FindPOPClick(Sender: TObject);

procedure DeletePOPClick(Sender: TObject);

procedure ZPClick(Sender: TObject);

procedure SpravClick(Sender: TObject);

procedure VedomClick(Sender: TObject);

procedure SaveClick(Sender: TObject);

procedure AboutClick(Sender: TObject);

procedure CloseFilesssClick(Sender: TObject);

procedure ExitProgClick(Sender: TObject);

procedure ToolButton1Click(Sender: TObject);

procedure ToolButton3Click(Sender: TObject);

procedure ToolButton4Click(Sender: TObject);

procedure ToolButton2Click(Sender: TObject);

procedure ToolButton5Click(Sender: TObject);

procedure ToolButton8Click(Sender: TObject);

procedure ToolButton9Click(Sender: TObject);

procedure ToolButton10Click(Sender: TObject);

procedure ToolButton13Click(Sender: TObject);

procedure ToolButton6Click(Sender: TObject);

procedure IzmColorClick(Sender: TObject);

procedure FontDialog1Apply(Sender: TObject; Wnd: HWND);

procedure FontDialog1Close(Sender: TObject);


procedure HelpHelpClick(Sender: TObject);

procedure ToolButton12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

MainForm: TMainForm;

a : integer;

FName1: string;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6;

{$R *.dfm}

procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer); var

i : integer;

temp : integer;

max : integer;

begin

max := 0;

for i := 0 to (Grid.RowCount - 1) do begin

temp := Grid.Canvas.TextWidth(grid.cells[column, i]);

if temp > max then max := temp;

end;

Grid.ColWidths[column] := Max + Grid.GridLineWidth + 3;

end;

procedure GridDeleteRow(RowNumber: Integer; Grid: TstringGrid);

var

i : Integer;

begin

Grid.Row := RowNumber;

if (Grid.Row = Grid.RowCount - 1) then

Grid.RowCount := Grid.RowCount - 1

else

begin

for i := RowNumber to Grid.RowCount - 1 do

Grid.Rows[i] := Grid.Rows[i + 1];

Grid.RowCount := Grid.RowCount - 1;

for i := 1 to Grid.RowCount - 1 do Grid.Cells[0,i]:=IntToStr(i);

end;

end;

procedure TMainForm.CreateFileClick(Sender: TObject);

{Процедура создания файла}

Var I : Byte;

F : TextFile;

S : String;

begin

If SaveDialog1.Execute then

begin

FName1 := SaveDialog1.FileName;

Memo1.Lines.SaveToFile(FName1);

FName1 := SaveDialog1.FileName;

AssignFile(F, FName1);

Reset(F);

with TStringList.Create do

try LoadFromFile(SaveDialog1.FileName);

stringgrid1.RowCount:=Count;

with stringgrid1 do

begin

cells[0,0]:='№';

cells[1,0]:='Фамилия';

cells[2,0]:='Имя';

cells[3,0]:='Отчество';

cells[4,0]:='Кол-во часов';

cells[5,0]:='Ставка';

end;

For i := 0 to Count - 1 do begin

stringgrid1.Rows[i+1].CommaText:=Strings[i];

end;

finally

end;

CloseFile(F);

EditForm.Edit1.Text:=MainForm.StringGrid1.Cells[0,1];

EditForm.Edit2.Text:=MainForm.StringGrid1.Cells[1,1];

EditForm.Edit3.Text:=MainForm.StringGrid1.Cells[2,1];

EditForm.Edit4.Text:=MainForm.StringGrid1.Cells[3,1];

EditForm.Edit5.Text:=MainForm.StringGrid1.Cells[4,1];

EditForm.Edit6.Text:=MainForm.StringGrid1.Cells[5,1];

Save.Enabled:=True;

Sohranit.Enabled:=True;

Add.Enabled:=True;

Edit.Enabled:=True;

Find.Enabled:=True;

ZP.Enabled:=True;

Vedom.Enabled:=True;

Sprav.Enabled:=True;

addPOP.Enabled:=True;

EditPOP.Enabled:=True;

FindPOP.Enabled:=True;

DeletePOP.Enabled:=True;

CloseFilesss.Enabled:=True;

ToolButton2.Enabled:=True;

ToolButton4.Enabled:=True;

ToolButton5.Enabled:=True;

ToolButton8.Enabled:=True;

ToolButton9.Enabled:=True;

ToolButton10.Enabled:=True;

ToolButton6.Enabled:=True;

end

else

ShowMessage('Вы не выбрали файл!');

end;

procedure TMainForm.OpenClick(Sender: TObject);

var

i : Integer;

F : TextFile;

FName: string;

begin

//Вызов Диалога

if OpenDialog1.Execute then

begin

FName := OpenDialog1.FileName;

AssignFile(F, FName); //Описание файла

Reset(F);

with TStringList.Create do

try LoadFromFile(OpenDialog1.FileName);

stringgrid1.RowCount:=Count;

with stringgrid1 do

begin

cells[0,0]:='№'; //Заполение Шапки

cells[1,0]:='Фамилия';

cells[2,0]:='Имя';

cells[3,0]:='Отчество';

cells[4,0]:='Кол-во часов';

cells[5,0]:='Ставка';

end;

For i := 0 to Count - 1 do begin //Заполнение Таблицы

stringgrid1.Rows[i+1].CommaText:=Strings[i];

end;

finally

end;

CloseFile(F);

AutoSizeGridColumn(MainForm.StringGrid1, 1);

AutoSizeGridColumn(MainForm.StringGrid1, 2);

AutoSizeGridColumn(MainForm.StringGrid1, 3);

AutoSizeGridColumn(MainForm.StringGrid1, 4);

AutoSizeGridColumn(MainForm.StringGrid1, 5);

EditForm.Edit1.Text:=MainForm.StringGrid1.Cells[0,1];


EditForm.Edit2.Text:=MainForm.StringGrid1.Cells[1,1];

EditForm.Edit3.Text:=MainForm.StringGrid1.Cells[2,1];

EditForm.Edit4.Text:=MainForm.StringGrid1.Cells[3,1];

EditForm.Edit5.Text:=MainForm.StringGrid1.Cells[4,1];

EditForm.Edit6.Text:=MainForm.StringGrid1.Cells[5,1];

Save.Enabled:=True;

Sohranit.Enabled:=True;

Add.Enabled:=True;

Edit.Enabled:=True;

Find.Enabled:=True;

ZP.Enabled:=True;

Vedom.Enabled:=True;

Sprav.Enabled:=True;

addPOP.Enabled:=True;

EditPOP.Enabled:=True;

FindPOP.Enabled:=True;

DeletePOP.Enabled:=True;

CloseFilesss.Enabled:=True;

ToolButton2.Enabled:=True;

ToolButton4.Enabled:=True;

ToolButton5.Enabled:=True;

ToolButton8.Enabled:=True;

ToolButton9.Enabled:=True;

ToolButton10.Enabled:=True;

ToolButton6.Enabled:=True;

end

else

ShowMessage('Вы не выбрали файл!');

end;

procedure TMainForm.SohranitClick(Sender: TObject);

Var I : Byte;

F : TextFile;

S : String;

FName: string;

begin

if SaveDialog1.Execute then

begin

FName := SaveDialog1.FileName;

AssignFile(F, FName);

Rewrite(F);

For I := 1 to StringGrid1.RowCount - 1 do

begin

S := StringGrid1.Cells[0,I] +' '+StringGrid1.Cells[1,I] +' '+StringGrid1.Cells[2,I] +' '+StringGrid1.Cells[3,I] +' '+StringGrid1.Cells[4,I] +' '+StringGrid1.Cells[5,I];

Writeln(F,S);

end;

Writeln(F,''); //корректировка записи

CloseFile(F);

FName := SaveDialog1.FileName;//и сразу открываем для чтения

AssignFile(F, FName);

Reset(F);

with TStringList.Create do

try LoadFromFile(SaveDialog1.FileName);

stringgrid1.RowCount:=Count;

a:=Count;

with stringgrid1 do

begin

cells[0,0]:='№';

cells[1,0]:='Фамилия';

cells[2,0]:='Имя';

cells[3,0]:='Отчество';

cells[4,0]:='Кол-во часов';

cells[5,0]:='Ставка';

end;

For i := 0 to Count - 1 do begin

stringgrid1.Rows[i+1].CommaText:=Strings[i];

end;

finally

end;

CloseFile(F);

AutoSizeGridColumn(MainForm.StringGrid1, 1);

AutoSizeGridColumn(MainForm.StringGrid1, 2);

AutoSizeGridColumn(MainForm.StringGrid1, 3);

AutoSizeGridColumn(MainForm.StringGrid1, 4);

AutoSizeGridColumn(MainForm.StringGrid1, 5);

EditForm.Edit1.Text:=MainForm.StringGrid1.Cells[0,1];

EditForm.Edit2.Text:=MainForm.StringGrid1.Cells[1,1];

EditForm.Edit3.Text:=MainForm.StringGrid1.Cells[2,1];

EditForm.Edit4.Text:=MainForm.StringGrid1.Cells[3,1];

EditForm.Edit5.Text:=MainForm.StringGrid1.Cells[4,1];

EditForm.Edit6.Text:=MainForm.StringGrid1.Cells[5,1];

end

else

ShowMessage('Вы не выбрали файл!');

end;

procedure TMainForm.EditClick(Sender: TObject);

begin

EditForm.ShowModal;

end;

procedure TMainForm.StringGrid1DrawCell(Sender: TObject; ACol,

ARow: Integer; Rect: TRect; State: TGridDrawState);

const //здесь определяем цвет

clPaleGreen = TColor($CCFFCC);

clPaleRed = TColor($CCCCFF);

var

f : integer;

begin

if (gdFocused in State) then

begin

StringGrid1.Canvas.Brush.Color := clBlack;

StringGrid1.Canvas.Font.Color := clWhite;

end;

if (ACol > 0) and (ARow > 0) then

begin

StringGrid1.Canvas.FillRect(Rect);

StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);

end; end;

procedure TMainForm.FindClick(Sender: TObject);

begin

FindForm.Show;

end;

procedure TMainForm.AddClick(Sender: TObject);

{Вызов ДОБАВИТЬ ЗАПИСЬ из МЕНЮ}

var

v : integer;

begin

Unit2.Zapis:=1;

V:=MainForm.stringgrid1.RowCount;

EditForm.Edit1.Text:=IntToStr(V);

EditForm.Edit2.Text:='';

EditForm.Edit3.Text:='';

EditForm.Edit4.Text:='';

EditForm.Edit5.Text:='';

EditForm.Edit6.Text:='';

MainForm.stringgrid1.RowCount:=MainForm.stringgrid1.RowCount+1;

EditForm.ShowModal;

end;

procedure TMainForm.addPOPClick(Sender: TObject);


var

v : integer;

begin

Unit2.Zapis:=1;

V:=MainForm.stringgrid1.RowCount;

EditForm.Edit1.Text:=IntToStr(V);

EditForm.Edit2.Text:='';

EditForm.Edit3.Text:='';

EditForm.Edit4.Text:='';

EditForm.Edit5.Text:='';

EditForm.Edit6.Text:='';

MainForm.stringgrid1.RowCount:=MainForm.stringgrid1.RowCount+1;

EditForm.ShowModal;

end;

procedure TMainForm.EditPOPClick(Sender: TObject);

var

j : integer;

begin

j:=StringGrid1.Row;

EditForm.Edit1.Text:=MainForm.StringGrid1.Cells[0,j];

EditForm.Edit2.Text:=MainForm.StringGrid1.Cells[1,j];

EditForm.Edit3.Text:=MainForm.StringGrid1.Cells[2,j];

EditForm.Edit4.Text:=MainForm.StringGrid1.Cells[3,j];

EditForm.Edit5.Text:=MainForm.StringGrid1.Cells[4,j];

EditForm.Edit6.Text:=MainForm.StringGrid1.Cells[5,j];

EditForm.ShowModal;

end;

procedure TMainForm.FindPOPClick(Sender: TObject);

begin

FindForm.Show;

end;

procedure TMainForm.DeletePOPClick(Sender: TObject);

var

d : integer;

F : Integer;

begin

F:=MessageDlg('Вы действительно хотите удалить эту запись?', mtConfirmation, [mbYes,mbNo] , 0);

if F=mrYes then

begin

d:= StringGrid1.Row;

GridDeleteRow(d, MainForm.stringGrid1);

end;

end;

procedure TMainForm.ZPClick(Sender: TObject);

var

i : integer;

j : integer;

k : integer;

begin

ZPForm.Show;

with ZPForm.stringgrid1 do

begin

cells[0,0]:='№';

cells[1,0]:='Фамилия';

cells[2,0]:='Имя';

cells[3,0]:='Отчество';

cells[4,0]:='Недельная зар.плата';

end;

ZPForm.stringgrid1.RowCount:=MainForm.StringGrid1.RowCount;

For i := 1 to 3 do //Заполнение Таблицы

begin

For j := 1 to ZPForm.StringGrid1.RowCount-1 do

begin

ZPForm.StringGrid1.Cells[i,j]:=MainForm.StringGrid1.Cells[i,j];

end;

end;

for i := 1 to ZPForm.StringGrid1.RowCount - 1 do ZPForm.StringGrid1.Cells[0,i]:=IntToStr(i);

for j := 1 to ZPForm.StringGrid1.RowCount - 1 do //подсчитываем ЗП

begin

k:=StrToInt(MainForm.StringGrid1.Cells[4,j])*StrToInt(MainForm.StringGrid1.Cells[5,j]);

ZPForm.StringGrid1.Cells[4,j]:=IntToStr(k);

end;

AutoSizeGridColumn(ZPForm.StringGrid1, 1); //вызов процедуры автоподгонки столбов

AutoSizeGridColumn(ZPForm.StringGrid1, 2);

AutoSizeGridColumn(ZPForm.StringGrid1, 3);

AutoSizeGridColumn(ZPForm.StringGrid1, 4);

end;

procedure TMainForm.SpravClick(Sender: TObject);

var

i : integer;

j : integer;

k : integer;

begin

SpravForm.Show;

with SpravForm.stringgrid1 do

begin

cells[0,0]:='№';

cells[1,0]:='Фамилия';

cells[2,0]:='Имя';

cells[3,0]:='Отчество';

cells[4,0]:='Кол-во часов';

cells[5,0]:='Ставка';

end;

SpravForm.stringgrid1.ColCount:=MainForm.StringGrid1.ColCount;

SpravForm.stringgrid1.RowCount:=MainForm.StringGrid1.RowCount;

For i := 1 to SpravForm.StringGrid1.ColCount-1 do

begin //Заполнение Таблицы

For j := 1 to SpravForm.StringGrid1.RowCount-1 do

begin

SpravForm.StringGrid1.Cells[i,j]:=MainForm.StringGrid1.Cells[i,j];

end;

end;

for i := 1 to SpravForm.StringGrid1.RowCount - 1 do

SpravForm.StringGrid1.Cells[0,i]:=IntToStr(i);

AutoSizeGridColumn(SpravForm.StringGrid1, 1);

AutoSizeGridColumn(SpravForm.StringGrid1, 2);

AutoSizeGridColumn(SpravForm.StringGrid1, 3);

AutoSizeGridColumn(SpravForm.StringGrid1, 4);

AutoSizeGridColumn(SpravForm.StringGrid1, 5);

end;

procedure TMainForm.VedomClick(Sender: TObject);

var

Workbook, Range, Cell1, Cell2, ArrayData : Variant;

TemplateFile : String;

BeginCol, BeginRow, i, j, n, chas, zap : integer;

RowCount, ColCount : integer;

begin

BeginCol := 1;

BeginRow := 2;

RowCount := 100;

ColCount := 50;

ExcelApp := CreateOleObject('Excel.Application');

ExcelApp.Application.EnableEvents := false;


ArrayData := VarArrayCreate([0, RowCount, 0, ColCount], varVariant);

for i := 0 to MainForm.StringGrid1.ColCount do

begin

for j := 0 to MainForm.StringGrid1.RowCount do

begin

ArrayData[j,i] := MainForm.StringGrid1.Cells[i,j];

end;

end;

Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];

Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount, BeginCol +ColCount];

Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];

Range.Value := ArrayData;

Range.Font.Size:=14;

Range.Font.Color:=clBlack;

n:=MainForm.StringGrid1.RowCount+1;

chas:=0;

for j := 1 to MainForm.StringGrid1.RowCount-1 do

chas:= chas + StrToInt(MainForm.StringGrid1.Cells[4,j]);

zap:=0;

for j := 1 to MainForm.StringGrid1.RowCount-1 do

zap:= zap + StrToInt(MainForm.StringGrid1.Cells[5,j]);

ExcelApp.Range[ExcelApp.Cells[2, 1], ExcelApp.Cells[n, 6]].Select;

ExcelApp.Selection.Borders[2].LineStyle:=12;

ExcelApp.Selection.Borders[7].LineStyle:=12;

ExcelApp.Selection.Borders[8].LineStyle:=12;

ExcelApp.Selection.Borders[9].LineStyle:=12;

ExcelApp.Selection.Borders[3].LineStyle:=1;

ExcelApp.Range[ExcelApp.Cells[2, 1], ExcelApp.Cells[2, 6]].Select;

ExcelApp.Selection.Borders[9].LineStyle:=12;

ExcelApp.Selection.Borders[8].LineStyle:=12;

ExcelApp.Selection.Font.Bold:=1;

ExcelApp.Range[ExcelApp.Cells[1, 1], ExcelApp.Cells[1, 6]].Select;

ExcelApp.Selection.Font.Italic:=1;

ExcelApp.Selection.Font.Bold:=1;

ExcelApp.Selection.Font.Size:=14;

ExcelApp.Selection.MergeCells:=True;

ExcelApp.Selection.HorizontalAlignment:=3;

ExcelApp.Selection:='Ведомость по сотрудникам';

ExcelApp.Range[ExcelApp.Cells[n+1, 4], ExcelApp.Cells[n+1, 4]].Select;

ExcelApp.Selection:='Итого:';

ExcelApp.Selection.HorizontalAlignment:=4;

ExcelApp.Range[ExcelApp.Cells[n+1, 5], ExcelApp.Cells[n+1, 5]].Select;

ExcelApp.Selection:=chas;

ExcelApp.Range[ExcelApp.Cells[n+1, 6], ExcelApp.Cells[n+1, 6]].Select;

ExcelApp.Selection:=zap;

ExcelApp.Range[ExcelApp.Cells[n+1, 4], ExcelApp.Cells[n+1, 6]].Select;

ExcelApp.Selection.Font.Italic:=1;

ExcelApp.Selection.Font.Bold:=1;

ExcelApp.Selection.Borders[2].LineStyle:=12;

ExcelApp.Selection.Borders[7].LineStyle:=12;

ExcelApp.Selection.Borders[9].LineStyle:=12;

WorkBook.WorkSheets[1].Columns.Item[1].Autofit;

WorkBook.WorkSheets[1].Columns.Item[2].Autofit;

WorkBook.WorkSheets[1].Columns.Item[3].Autofit;

WorkBook.WorkSheets[1].Columns.Item[4].Autofit;

WorkBook.WorkSheets[1].Columns.Item[5].Autofit;

WorkBook.WorkSheets[1].Columns.Item[6].Autofit;

end;

procedure TMainForm.SaveClick(Sender: TObject);

Var I : Byte;

F : TextFile;

S : String;

begin

FName1 := SaveDialog1.FileName;

AssignFile(F, FName1);

Rewrite(F);

For I := 1 to StringGrid1.RowCount - 1 do

Begin S := StringGrid1.Cells[0,I] +' '+StringGrid1.Cells[1,I] +' '+StringGrid1.Cells[2,I] +' '+StringGrid1.Cells[3,I] +' '+StringGrid1.Cells[4,I] +' '+StringGrid1.Cells[5,I];

Writeln(F,S);

end;

Writeln(F,''); //корректировка записи

CloseFile(F);

FName1 := SaveDialog1.FileName;//и сразу открываем для чтения

AssignFile(F, FName1);

Reset(F);

with TStringList.Create do

try LoadFromFile(SaveDialog1.FileName);

stringgrid1.RowCount:=Count;

a:=Count;

with stringgrid1 do begin

cells[0,0]:='№';

cells[1,0]:='Фамилия';

cells[2,0]:='Имя';

cells[3,0]:='Отчество';

cells[4,0]:='Кол-во часов';

cells[5,0]:='Ставка';

end;

For i := 0 to Count - 1 do begin

stringgrid1.Rows[i+1].CommaText:=Strings[i];

end;

finally

end;

CloseFile(F);

AutoSizeGridColumn(MainForm.StringGrid1, 1);

AutoSizeGridColumn(MainForm.StringGrid1, 2);

AutoSizeGridColumn(MainForm.StringGrid1, 3);

AutoSizeGridColumn(MainForm.StringGrid1, 4);

AutoSizeGridColumn(MainForm.StringGrid1, 5);

EditForm.Edit1.Text:=MainForm.StringGrid1.Cells[0,1];

EditForm.Edit2.Text:=MainForm.StringGrid1.Cells[1,1];