unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleServer, Excel97; type TForm1 = class(TForm) Label1: TLabel; CB_test: TComboBox; CB_trida: TComboBox; Label2: TLabel; Label3: TLabel; GroupBox1: TGroupBox; Label5: TLabel; Label6: TLabel; Label7: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; GroupBox2: TGroupBox; RB_ABCD: TRadioButton; RB_VBNM: TRadioButton; RB_YXCV: TRadioButton; RB_jine: TRadioButton; Label4: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; B_zobraz: TButton; B_konec: TButton; B_zpracuj: TButton; Label11: TLabel; Label12: TLabel; Label13: TLabel; jmeno: TEdit; odpoved: TEdit; B_dalsi: TButton; CB_skupina: TComboBox; B_predchozi: TButton; Label14: TLabel; pocet: TLabel; delka: TLabel; Label15: TLabel; zaznam: TLabel; B_uloz: TButton; Edit8: TEdit; B_uloz_Sobor: TButton; B_nacti: TButton; procedure B_zobrazClick(Sender: TObject); procedure B_konecClick(Sender: TObject); procedure RB_jineClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure B_dalsiClick(Sender: TObject); procedure odpovedChange(Sender: TObject); procedure B_predchoziClick(Sender: TObject); procedure B_ulozClick(Sender: TObject); procedure B_zpracujClick(Sender: TObject); procedure B_identifikaceClick(Sender: TObject); procedure B_uloz_SoborClick(Sender: TObject); procedure B_nactiClick(Sender: TObject); procedure FormResize(Sender: TObject); private { Private declarations } public { Public declarations } end; procedure serad ; forward; var Form1: TForm1; poziceX,pozicey:byte; ulozeno:boolean; implementation uses Unit2; {$R *.DFM} procedure TForm1.B_uloz_SoborClick(Sender: TObject); var jmeno:string; sesit: variant; WorkBookCnt:byte; i,j:integer; begin try with form2 do begin savedialog1.Title:= 'Ulož jako...'; savedialog1.FileName :=form1.CB_trida.Text+'.xls'; if SaveDialog1.Execute then jmeno:=SaveDialog1.FileName else exit; ExcelApplication1.Connect ; ExcelApplication1.Visible[0]:=false; ExcelApplication1.Workbooks.Add(xlWorkSheet,0); WorkBookCnt:= ExcelApplication1.Workbooks.Count; Sesit:= ExcelApplication1.Workbooks[WorkBookCnt].Worksheets[1]; ExcelApplication1.DisplayAlerts[0]:=false; sesit.cells[1,1].font.Size:=20; sesit.cells[1,1]:='Výsledky testů třídy: '+form1.CB_trida.Text; sesit.cells[2,1]:='Třída:'; sesit.cells[2,2]:='Jméno:'; sesit.cells[2,3]:='Skupina:'; sesit.cells[2,4]:='Odpověď:'; sesit.cells[2,5]:='Dobře:'; sesit.cells[2,6]:='Špatně:'; sesit.cells[2,7]:='Body:'; sesit.cells[2,8]:='Známka:'; sesit.cells[1,8].font.Size:=16; sesit.cells[1,8]:=form1.CB_test.Text; for j:=1 to StrToInt(form1.pocet.caption)do begin for i:=1 to 7 do sesit.cells[j+2,i+1]:=stringGrid1.Cells[i,j]; sesit.cells[j+2,1]:=form1.CB_trida.Text end; ExcelApplication1.DisplayAlerts[0]:=false; sesit.SaveAs(SaveDialog1.FileName); end; finally form2.ExcelApplication1.Quit; form2.ExcelApplication1.Disconnect; end; end; procedure TForm1.B_nactiClick(Sender: TObject); var jmeno,popis:string; sesit: variant; WorkBookCnt:byte; text:string; i,j:integer; begin try with form2 do begin savedialog1.FileName :=form1.CB_trida.Text+'.xls'; popis:=savedialog1.Title; savedialog1.Title:='Načti soubor'; if SaveDialog1.Execute then jmeno:=SaveDialog1.FileName else exit; ExcelApplication1.Connect ; ExcelApplication1.Visible[0]:=false; ExcelApplication1.DisplayAlerts[0]:=false; ExcelApplication1.Workbooks.Open(jmeno,false,false, null,'',false,false,xlWindows,xlDelimited,true,true,null,null,false,false,0); WorkBookCnt:= ExcelApplication1.Workbooks.Count; Sesit:= ExcelApplication1.Workbooks[WorkBookCnt].Worksheets[1]; i:=3; j:=1; text:=sesit.cells[i,2]; while text<>'' do begin StringGrid1.Cells[0,i-2]:=IntToStr(i-2); for j:=1 to 7 do begin StringGrid1.Cells[j,i-2]:=sesit.cells[i,j+1]; end; inc(i); text:=sesit.cells[i,2]; end; form1.pocet.Caption :=IntToStr(i-3); for i:=0 to 13 do if form1.CB_trida.Items[i]=sesit.cells[3,1].value then form1.CB_trida.ItemIndex :=i; for i:=0 to 8 do if form1.CB_test.Items[i]=sesit.cells[1,8].value then form1.CB_test.ItemIndex :=i; poziceY:=2; form1.B_predchoziClick(nil); end; finally ExcelApplication1.Quit; ExcelApplication1.Disconnect; end; end;