Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- SpecNazwa: string;
- numer: integer;
- detailCount: integer;
- first: boolean;
- wys:double;
- m43OrygL,
- m45OrygL,
- m41OrygW,
- m42OrygW,
- m43OrygW,
- m44OrygW,
- m45OrygW,
- m80OrygL,
- m86OrygL,
- m86OrygW,
- m87OrygW,
- m87OrygL,
- mDataSOrygL,
- m82OrygW,
- m81OrygW,
- m80OrygW,
- m91OrygW,
- m91OrygL,
- m92OrygW,
- m92OrygL,
- mOcenaSOrygW,
- mDataSOrygW,
- MasterData7OrygW,
- MasterData9OrygW,
- MasterData4OrygW,
- MasterData10OrygW: Extended;
- CONST
- MAX_LICZBA_REKORDOW_NA_PIERWSZEJ_STRONIE = 25;
- MAX_LICZBA_REKORDOW_NA_KOLEJNYCH_STRONACH = 31;
- procedure FixSql(query: TfrxIBXQuery; id :string; ids :string);
- begin
- if (RaportParam.Czysql = true) then
- begin
- query.SQL.text := SetTextQuery(query.SQL.text,'/*FR_APR1*/',GenerujSQL(id,ids));
- query.open;
- if (query.isempty = true) then WDErr();
- end else if ids <> '' then
- begin
- query.SQL.text := SetTextQuery(query.SQL.text,'/*FR_APR2*/',GenerujSQL(id,ids));
- query.open;
- if (query.isempty = true) then WDErr();
- end else
- WDErr();
- end;
- procedure OnEscKeyUp(Sender: TfrxComponent; var Key: Word; Shift: Integer);
- begin
- if Key = 27 then
- begin
- Err.ModalResult := mrCancel;
- DialogPage1.ModalResult := mrCancel;
- end
- end;
- function DajUstawienieWydrukowanieProtokoluOznaczaWydanie: boolean;
- begin
- result := (qrPakonf.FieldByName('PAKONF_DZIEKPROTOKOL').AsInteger = 1);
- end;
- procedure ObslugaDrukowania(ZmieniajStatus: boolean);
- var
- Numer, Rok, temp :string;
- begin
- Page1.Visible := <aPage1>;
- Page2.Visible := <aPage2>;
- qrProtokol.First;
- while not qrProtokol.Eof do
- begin
- UstawStatusKartyProtokoluNaWydrukowany(<qrProtokol."KARTAPROT_ID">,false);
- if ZmieniajStatus then
- UstawStatusKartyProtokoluNaWydany(<qrProtokol."KARTAPROT_ID">,false);
- qrProtokol.Next;
- end;
- qrProtokol.First;
- end;
- procedure frxReport1OnStartReport(Sender: TfrxComponent);
- begin
- qrProtokolStud.Query.UniDirectional := True;
- first := true;
- if VarToStr(<Drukowanie>) = '1' then
- begin
- qrPakonf.Open;
- //DialogPage1.Visible := false;
- fixsql(qrProtokol,'kp.KARTAPROT_ID', Raportparam.rekordid);
- ObslugaDrukowania(DajUstawienieWydrukowanieProtokoluOznaczaWydanie());
- end else
- begin
- if (RaportParam.rekordid <> '') then
- begin
- if (RaportParam.CzyWWW) then
- set('aProgram',''''+'Wirtualny Dziekanat'+'''')
- else
- set('aProgram',''''+Raportparam.aProgram+'''');
- qrKonfProt.Open;
- if (RaportParam.CzyWWW) then
- begin
- DialogPage1.Visible := false;
- {KONFIGURACJA RAPORTU POD WWW}
- Page1.Visible := true; // Pionowy
- Page2.Visible := false; // Poziomy
- set('aPage1',Page1.Visible);
- set('aPage2',Page2.Visible);
- set('aPokazujOceny', true); // Drukuje oceny i daty na protokle
- set('aDziel',0); // Podział na specjalności
- set('aPowt', false); // Wyróżnia studentów powtarzających przedmiot
- set('aRozn', false); // Wyróżnia studentów uzupełniajacych różnice programowe
- set('aCzyAllProw', cbAllProw.Checked); //Drukuje tylko głównego prowadzącego
- set('aDuplex', false); //wydruk z dodatkowa pusta - dopelniajaca do parzystej ilosci wszystkich stron
- set('aWyrozniejStudPowt', VarToStr(<qrKonfProt."KONFPROTOKOL_WYROZNIAJSTUDPOWT">) = 'T'); //wyroznianie na protokole studentow realizujacych przedmiot jako warunek
- {KONFIGURACJA RAPORTU POD WWW}
- fixsql(qrProtokol,'kp.KARTAPROT_ID', Raportparam.rekordid);
- end;
- end else
- WDErr();
- end;
- end;
- procedure WDErr;
- begin
- if(RaportParam.CzyWWW) then
- begin
- WD_Err.Visible := true;
- Page1.Visible := false;
- end else
- begin
- Err.visible:=true;
- end;
- end;
- procedure DialogPage1OnActivate(Sender: TfrxComponent);
- begin
- cbWzor.ItemIndex := 0;
- if VarToStr(<qrKonfProt."KONFPROTOKOL_WYROZNIAJSTUDPOWT">) = 'T' then
- cbPowt.Checked := true
- else
- cbPowt.Checked := false;
- if VarToStr(<qrKonfProt."KONFPROTOKOL_WYRSTUDZROZNICAPR">) = 'T' then
- cbRozn.Checked := true
- else
- cbRozn.Checked := false;
- if VarToStr(<qrKonfProt."KONFPROTOKOL_DZIELNASPEC">) = 'T' then
- cbDziel.Checked := true
- else
- cbDziel.Checked := false;
- end;
- procedure BitBtn3OnClick(Sender: TfrxComponent);
- var
- temp : string;
- begin
- Page1.Visible := rb1.Checked;
- Page2.Visible := rb2.Checked;
- if cbDuplikat.Checked then
- set('aDuplikat',''''+'Duplikat'+'''')
- else
- set('aDuplikat',''''+''+'''');
- if cbDziel.Checked then
- set('aDziel',1)
- else
- set('aDziel',0);
- set('aPokazujOceny', cbOceny.Checked);
- set('aPowt', cbPowt.Checked);
- set('aRozn', cbRozn.Checked);
- set('aDuplex', rbDuplex.Checked);
- fixsql(qrProtokol,'kp.KARTAPROT_ID', Raportparam.rekordid);
- qrProtokol.Last;
- qrProtokol.First;
- if RaportParam.Listowy = 'T' then
- if MessageBox('Znaleziono '+IntToStr(qrProtokol.RecordCount)+' protokołów do wydruku.'+#13+'Kontynuować?',
- 'ProAkademia - pytanie',4 +32) = 7 then
- Report.Terminated := true;
- set('aPage1',Page1.Visible);
- set('aPage2',Page2.Visible);
- set('aCzyAllProw', cbAllProw.Checked);
- end;
- procedure ustawSzerokoscKolumn(
- ilterm: integer;
- m1,
- m2, m3, m4,
- m2a, m3a, m4a : TfrxMemoView;
- m1w,
- m2w, m3w, m3l, m4w, m4l,
- m2aw, m3aw, m3al, m4aw, m4al,
- md1w, md2w: Extended;
- md1, md2: TfrxMasterData);
- begin
- m1.Width := m1w/ilterm;
- {}
- m2.Width := m2w/ilterm;
- m3.Width := m3w/ilterm;
- m4.Width := m4w/ilterm;
- md1.Width := md1w/ilterm;
- {}
- m2a.Width := m2aw/ilterm;
- m3a.Width := m3aw/ilterm;
- m4a.Width := m4aw/ilterm;
- md2.Width := md2w/ilterm;
- if (ilterm > 1) then
- begin
- m3.Left := m3l - (m2w - m2w/ilterm);
- m4.Left := m4l - (m3w - m3w/ilterm) - (m2w - m2w/ilterm);
- m3a.Left := m3al - (m2aw - m2aw/ilterm);
- m4a.Left := m4al - (m3aw - m3aw/ilterm) - (m2aw - m2aw/ilterm);
- end else
- begin
- m3.Left := m3l;
- m4.Left := m4l;
- m3a.Left := m3al;
- m4a.Left := m4al;
- end;
- end;
- procedure przypiszDomyslneWartosci;
- begin
- m43OrygL := Memo43.Left;
- m45OrygL := Memo45.Left;
- m86OrygL := Memo86.Left;
- m41OrygW := Memo41.Width;
- m42OrygW := Memo42.Width;
- m43OrygW := Memo43.Width;
- m44OrygW := Memo44.Width;
- m45OrygW := Memo45.Width;
- m80OrygL := Memo80.Left;
- m86OrygW := Memo86.Width;
- m87OrygW := Memo87.Width;
- m87OrygL := Memo87.Left;
- mDataSOrygL := mDataS.Left;
- m82OrygW := Memo82.Width;
- m81OrygW := Memo81.Width;
- m80OrygW := Memo80.Width;
- mOcenaSOrygW := mOcenaS.Width;
- mDataSOrygW := mDataS.Width;
- m91OrygW := Memo91.Width;
- m91OrygL := Memo91.Left;
- m92OrygW := Memo92.Width;
- m92OrygL := Memo92.Left;
- MasterData7OrygW := MasterData7.Width;
- MasterData9OrygW := MasterData9.Width;
- MasterData4OrygW := MasterData4.Width;
- MasterData10OrygW := MasterData10.Width;
- end;
- procedure PageHeaderOnBeforePrint(Sender: TfrxComponent);
- var
- temp: integer;
- begin
- if first then
- begin
- przypiszDomyslneWartosci;
- first := false;
- end;
- qrProtokolTermin.Open;
- qrProtokolTermin.last;
- qrProtokolTermin.first;
- if <aPage1> then
- begin
- ustawSzerokoscKolumn(qrProtokolTermin.RecordCount, Memo41,
- Memo42, Memo43, Memo86,
- Memo44, Memo45, Memo87,
- m41OrygW,
- m42OrygW, m43OrygW, m43OrygL, m86OrygW, m86OrygL,
- m44OrygW, m45OrygW, m45OrygL, m87OrygW, m87OrygL,
- MasterData7OrygW, MasterData9OrygW,
- MasterData7, MasterData9);
- DuplexBlankPage2.Visible := false;
- if StrToInt(<Page>) > 1 then DetailHeader.Visible := false else DetailHeader.Visible := true;
- end else
- if <aPage2> then
- begin
- ustawSzerokoscKolumn(qrProtokolTermin.RecordCount, Memo82,
- Memo81, Memo80, Memo91,
- mOcenaS, mDataS, Memo92,
- m82OrygW,
- m81OrygW, m80OrygW, m80OrygL, m91OrygW, m91OrygL,
- mOcenaSOrygW, mDataSOrygW, mDataSOrygL, m92OrygW, m92OrygL,
- MasterData4OrygW, MasterData10OrygW,
- MasterData4, MasterData10);
- DuplexBlankPage4.Visible := false;
- if StrToInt(<Page>) > 1 then DetailHeader1.Visible := false else DetailHeader1.Visible := true;
- end;
- if ((StrToInt(<Page>) mod 2) = 1) and <aDuplex> then
- begin
- if <aPage1> then
- begin
- if VarToStr(TfrxComponent(Sender).Name) = 'DetailData1' then
- DuplexBlankPage2.Visible := true
- else
- DuplexBlankPage1.Visible := true;
- PageHeader1.Visible := true;
- Stopka.Visible := true;
- end else if Page2.Visible then
- begin
- if VarToStr(TfrxComponent(Sender).Name) = 'DetailData2' then
- DuplexBlankPage4.Visible := true
- else
- DuplexBlankPage3.Visible := true;
- PageHeader2.Visible := true;
- Stopka1.Visible := true;
- end;
- end else if ((StrToInt(<Page>) mod 2) = 0) and <aDuplex> then
- begin
- if <aPage1> then
- begin
- if VarToStr(TfrxComponent(Sender).Name) = 'DetailData1' then
- DuplexBlankPage2.Visible := false
- else
- DuplexBlankPage1.Visible := false;
- if StrToInt(<Page>) = 2 then
- temp := MAX_LICZBA_REKORDOW_NA_PIERWSZEJ_STRONIE
- else
- temp := MAX_LICZBA_REKORDOW_NA_KOLEJNYCH_STRONACH;
- if (numer < temp) then
- begin
- PageHeader1.Visible := false;
- Stopka.Visible := false;
- end;
- end else if <aPage2> then
- begin
- if VarToStr(TfrxComponent(Sender).Name) = 'DetailData2' then
- DuplexBlankPage4.Visible := false
- else
- DuplexBlankPage3.Visible := false;
- if StrToInt(<Page>) = 2 then
- temp := MAX_LICZBA_REKORDOW_NA_PIERWSZEJ_STRONIE - 11
- else
- temp := MAX_LICZBA_REKORDOW_NA_KOLEJNYCH_STRONACH - 11;
- if (numer < temp) then
- begin
- PageHeader2.Visible := false;
- Stopka1.Visible := false;
- end;
- end;
- end;
- numer := 0;
- end;
- procedure ECTSOnBeforePrint(Sender: TfrxComponent);
- begin
- if (VarToStr(<qrProtokol."PPLANU_PKTECTS">) = '') or
- (VarToStr(<qrProtokol."PPLANU_PKTECTS">) = '0') then
- begin
- if Page1.Visible then
- begin
- memo32.Visible:=false;
- memo33.Visible:=false;
- end else if Page2.Visible then
- begin
- memo73.Visible:=false;
- memo74.Visible:=false;
- end;
- end
- else
- begin
- if Page1.Visible then
- begin
- memo32.Visible:=true;
- memo33.Visible:=true;
- end else if Page2.Visible then
- begin
- memo73.Visible:=true;
- memo74.Visible:=true;
- end;
- end
- end;
- procedure MemoWyroznijOnBeforePrint(Sender: TfrxComponent);
- var fstyl: integer;
- begin
- fstyl := 0;
- if <aPowt> and (VarToStr(<qrProtokolStud."PPLS_POPRAWKA">) = 'T') then
- fstyl := fstyl + fsBold;
- if <aRozn> and (VarToStr(<qrProtokolStud."PPLS_ROZNPROGR">) = 'T') then
- fstyl := fstyl + fsItalic;
- TfrxMemoView(Sender).Font.Style := fstyl;
- end;
- procedure RokOnBeforePrint(Sender: TfrxComponent);
- var
- tmp : int;
- begin
- tmp := (StrToInt(<qrProtokol."PPLANU_SEMESTR">) + 1) div 2;
- set('aRok',''''+inttostr(tmp)+'''');
- end;
- procedure DataPodpisOnBeforePrint(Sender: TfrxComponent);
- begin
- if not <aPokazujOceny> then
- TfrxMemoView(Sender).text := '';
- end;
- procedure OcenaOnBeforePrint(Sender: TfrxComponent);
- begin
- if not <aPokazujOceny> then
- TfrxMemoView(Sender).text := ''
- else
- begin
- qrOcenyMS.Close;
- qrOcenyMS.Open;
- qrOcenyMS.Last;
- qrOcenyMS.First;
- end;
- end;
- procedure Memo14OnBeforePrint(Sender: TfrxComponent);
- begin
- if vartostr(<qrProtokol."FZAL_KOD">) = 'EGZ' then
- TfrxMemoView(Sender).Text := 'PROTOKÓŁ EGZAMINACYJNY';
- end;
- procedure ProwOnBeforePrint(Sender: TfrxComponent);
- var
- temp : string;
- begin
- if not <aCzyAllProw> then
- set('aProwadzacy',''''+VarToStr(<qrProtokol."NAZWIMIEPROWGLOWNY">)+'''')
- else
- begin
- temp := VarToStr(<qrProtokol."NAZWIMIEPROWGLOWNY">)+#13+VarToStr(<qrProtokol."NAZWIMIEPROWPOZOSTALI">);
- memo9.Text := temp ;
- memo54.Text := temp ;
- set('aProwadzacy',memo54.Text);
- end;
- end;
- procedure Memo4OnBeforePrint(Sender: TfrxComponent);
- begin
- if vartostr(<qrProtokol."FZAL_KOD">) = 'EGZ' then
- TfrxMemoView(Sender).Text := 'Egzamin ..............................................';
- end;
- procedure Memo34OnBeforePrint(Sender: TfrxComponent);
- var
- p : integer;
- begin
- p := Pos(vartostr(<qrProtokol."SPEC_NAZWASP_KARTA_TOK">),vartostr(<qrProtokol."SPEC_NAZWASP">));
- if p <> 0 then
- begin
- TfrxMemoView(Sender).Text := Copy(vartostr(<qrProtokol."SPEC_NAZWASP">),0,p-1)+'<b>'
- +vartostr(<qrProtokol."SPEC_NAZWASP_KARTA_TOK">)+'</b>'+
- Copy(vartostr(<qrProtokol."SPEC_NAZWASP">),p+Length(vartostr(<qrProtokol."SPEC_NAZWASP_KARTA_TOK">)),
- Length(vartostr(<qrProtokol."SPEC_NAZWASP">)));
- end;
- end;
- procedure Memo11OnBeforePrint(Sender: TfrxComponent);
- var
- p : integer;
- begin
- p := Pos(vartostr(<qrProtokol."SKR_NUM_KARTA_TOK">),vartostr(<qrProtokol."SKR_NUM">));
- if p <> 0 then
- begin
- TfrxMemoView(Sender).Text := Copy(vartostr(<qrProtokol."SKR_NUM">),0,p-1)+'<b>'
- +vartostr(<qrProtokol."SKR_NUM_KARTA_TOK">)+'</b>'+
- Copy(vartostr(<qrProtokol."SKR_NUM">),p+Length(vartostr(<qrProtokol."SKR_NUM_KARTA_TOK">)),
- Length(vartostr(<qrProtokol."SKR_NUM">)));
- end;
- end;
- begin
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement