![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 05.06.2011
Сообщений: 2
|
![]()
Имеется 2 справочника spr1 и spr2. В каждом из них есть перечень данных. В первом:
код основных средств, обьект основных средств, номер тех паспорта, год и стоимость. Во втором: код проверяющего, ФИО , причина списания, дата списания, код списываемого ОС, номер техпаспорта. Неодходимо создать 3 документ, в котором бы выводились все данные из справочника1, кроме тех,что были упомянуты в справочнике 2 в таблицу StringGrid. САМА ПРОГРАММА: type spr1=record // перечень основных средств cod1:string[10]; oos1:string[30]; np1:string[10]; god1:integer; cen1:integer; end; spr2=record cod2:string[10]; Fio2:string[20]; ps2:string[30]; dat2:string[10]; cod22:string[10]; np2:string[20]; end; spr3=record // Ведомость наличия ОС cod3:string[10]; oos3:string[30]; np3:string[10]; dat3:string[10]; end; var Form2: TForm2; z1:spr1; F1:file of spr1; z2:spr2; F2:file of spr2; z3:spr3; F3:file of spr3; i,j:integer; implementation procedure TForm2.N5Click(Sender: TObject); //запись основных средств begin assignfile(F1,'E:\OS'); {if fileexists('OS')=true then append(F1) else } rewrite(F1); end; procedure TForm2.Button1Click(Sender: TObject); //добавить основные средства begin with z1 do begin cod1:=edit1.text; oos1:=edit2.text; np1:=edit3.text; god1:=strtoint(edit10.Text); cen1:=strtoint(edit6.Text); write(f1,z1); end; end; procedure TForm2.Button2Click(Sender: TObject); //закрытие основных средств begin closefile(f1); end; procedure TForm2.N9Click(Sender: TObject); //просмотр основных средств begin assignfile(F1,'E:\OS'); reset(f1); label9.Caption:='Перечень основных средств'; with stringgrid1 do begin for i:=0 to 10 do for j:=0 to 10 do cells[i,j]:=' '; colcount:=5; fixedcols:=0; fixedrows:=1; cells[0,0]:='Код основных средств'; cells[1,0]:='Объект основных средств'; cells[2,0]:='Номер тех паспорта'; cells[3,0]:='Год'; cells[4,0]:='Стоимость'; i:=1; while not eof(F1) do begin with z1 do begin read(f1,z1); cells[0,i]:=cod1; cells[1,i]:=oos1; cells[2,i]:=np1; cells[3,i]:=inttostr(god1); cells[4,i]:=inttostr(cen1); i:=i+1; end; end; end; end; procedure TForm2.Button3Click(Sender: TObject); //добавление акт begin with z2 do begin cod2:=edit4.text; fio2:= edit5.Text; ps2:= edit7.Text; dat2:=edit8.Text; cod22:=edit9.text; np2:=edit11.Text; write(f2,z2); end; end; procedure TForm2.Button4Click(Sender: TObject); // закрытие акта begin closefile(f2); end; procedure TForm2.N13Click(Sender: TObject); // просмотр акта списания begin assignfile(F2,'E:\AKT'); reset(f2); label9.Caption:='Акт списания основных средств'; with stringgrid1 do begin for i:=0 to 10 do for j:=0 to 10 do cells[i,j]:=' '; colcount:=6; fixedcols:=0; fixedrows:=1; cells[0,0]:='Код проверяющего'; cells[1,0]:='ФИО проверяющего'; cells[2,0]:='Причина списания'; cells[3,0]:='Дата проверки'; cells[4,0]:='Код списываемого ОС'; cells[5,0]:='Номер тех паспорта'; i:=1; while not eof(F2) do begin with z2 do begin read(f2,z2); cells[0,i]:=cod2; cells[1,i]:=Fio2; cells[2,i]:=ps2; cells[3,i]:=dat2; cells[4,i]:=cod22; cells[5,i]:=np2; i:=i+1; end; end; end; end; procedure TForm2.N12Click(Sender: TObject); // запись Акта begin assignfile(F2,'E:\AKT'); {if fileexists('AKT')=true then append(F2) else } rewrite(F2); end; procedure TForm2.Button6Click(Sender: TObject); //закрытие опер. инф begin closefile(f2); end; procedure TForm2.N3Click(Sender: TObject); //формирование ведомости label 1,2,3,4; begin begin assignfile(f1,'E:\OS'); assignfile(f2,'E:\AKT'); assignfile(f3,'E:\VEDOM'); Reset(F1); Reset(F2) ; Rewrite(F3) ; 1: if eof(f1) then goto 2; Read(F1,z1); if (z2.np2<>z1.np1) then goto 3 ; z3.cod3:=z1.cod1; z3.oos3:=z1.oos1; z3.np3:=z1.np1; if (z2.np2=z1.np1) then goto (z3.dat3:=z2.dat2); goto 4; 3: z3.cod3:=z1.cod1; z3.oos3:=z1.oos1; z3.np3:=z1.np1; if (z2.np2=z1.np1) then goto z3.dat3:=z2.dat2; 4: Write(F3,z3); goto 1; 2: CloseFile(F1); CloseFile(F2); CloseFile(F3); end; end; procedure TForm2.N10Click(Sender: TObject); //выходная ведомость begin assignfile(f3,'E:\VEDOM'); reset(f3); label9.Caption:='Ведомость наличия ОС'; with stringgrid1 do begin for i:=0 to 10 do for j:=0 to 10 do cells[i,j]:=' '; colcount:=4; fixedcols:=0; fixedrows:=1; cells[0,0]:='Код основного средства'; cells[1,0]:='Объект основных средств'; cells[2,0]:='Номер тех паспорта'; cells[3,0]:='Если списан, то когда'; i:=1; while not eof(F3) do begin with z3 do begin read(f3,z3); cells[0,i]:=cod3; cells[1,i]:=oos3; cells[2,i]:=np3; cells[3,i]:=dat3; i:=i+1; end; Последний раз редактировалось Natashka21reg; 05.06.2011 в 16:19. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) зачем вам StringGrid ?! Возьмите DBGrid - он и предназначен для отображения(визуализации) данных!
2) получить все основные за исключением списанных можно примерно таким запросом: Код:
|
![]() |
![]() |
![]() |
#3 | |
Новичок
Джуниор
Регистрация: 05.06.2011
Сообщений: 2
|
![]() Цитата:
Код основных средств/ объект основных средств/номер тех паспорта |
|
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Код:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод информации с интернета! | Arsenx777 | Работа с сетью в Delphi | 3 | 28.03.2011 15:19 |
Заполнение ячейки информацией из справочника, который сжимается по мере детализации информации в ячейке | Tintin99 | Microsoft Office Excel | 2 | 26.09.2009 00:48 |
Вывод информации из БД | Alamez | Помощь студентам | 2 | 18.05.2009 10:07 |
Вывод информации на экран | Linel | PHP | 10 | 23.02.2009 12:46 |
вывод информации из файла | pautina | Общие вопросы Delphi | 12 | 26.01.2009 08:54 |