// U_IndmelderTekniker.cpp // 21. maj 2001 // Datamatiker, Programmering af store systemer // Mikkel Munksgaard og Niels Grove-Rasmussen //--------------------------------------------------------------------- #include #pragma hdrstop #include "U_IndmelderTekniker.h" //--------------------------------------------------------------------- #pragma resource "*.dfm" TDial_IndmelderTekniker *Dial_IndmelderTekniker; //--------------------------------------------------------------------- __fastcall TDial_IndmelderTekniker::TDial_IndmelderTekniker(TComponent* AOwner) : TForm(AOwner) {} //--------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::FormActivate(TObject *Sender) { // how to clear CBox_Initialer? // CBox_Initialer-> Labl_Navndata->Caption = ""; CBox_Initialer->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::OKBtnClick(TObject *Sender) { if(Labl_Navndata->Caption == "") { MessageDlg("Der er ikke valgt nogen tekniker.", mtError, TMsgDlgButtons() << mbRetry, 0); CBox_Initialer->SetFocus(); } else ModalResult = mrOk; } //--------------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::CancelBtnClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::CBox_InitialerClick( TObject *Sender) { TQuery *medarbejder = new TQuery(this); medarbejder->SQL->Clear(); medarbejder->SQL->Add("SELECT T_Person.Navn"); medarbejder->SQL->Add("FROM T_Medarbejder INNER JOIN T_Person ON"); medarbejder->SQL->Add("T_Medarbejder.PersonId = T_Person.Id"); medarbejder->SQL->Add("WHERE T_Medarbejder.Initialer = "); medarbejder->SQL->Add("'" + CBox_Initialer->Text + "'"); medarbejder->Open(); Labl_Navndata->Caption = medarbejder->FieldByName("Navn")->AsString; medarbejder->Close(); delete medarbejder; } //--------------------------------------------------------------------------- void TDial_IndmelderTekniker::Fejl(const String& metode, const String& meddelelse) { MessageDlg("Fejl i Dial_IndmelderTekniker." + metode + ":\n\n" + meddelelse + ".", mtError, TMsgDlgButtons() << mbAbort, 0); exit(EXIT_FAILURE); } //--------------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::Butn_TeknikerSletClick( TObject *Sender) { int personId(getPersonId()), teknikerId(getTeknikerId()); TTable *slettekniker = new TTable(this); slettekniker->TableName = "T_Person"; slettekniker->Active = true; while(!slettekniker->Eof) { while(slettekniker->FieldByName("Id")->AsInteger == personId) slettekniker->Delete(); slettekniker->Next(); } slettekniker->Active = false; slettekniker->TableName = "T_Medarbejder"; slettekniker->Active = true; while(!slettekniker->Eof) { while(slettekniker->FieldByName("Id")->AsInteger == teknikerId) slettekniker->Delete(); slettekniker->Next(); } delete slettekniker; } //--------------------------------------------------------------------------- int __fastcall TDial_IndmelderTekniker::getPersonId() { int tempId(0); TQuery *person = new TQuery(this); person->SQL->Clear(); person->SQL->Add("SELECT Id FROM T_Person"); person->SQL->Add("WHERE Navn = '" + Labl_Navndata->Caption + "'"); person->Open(); tempId = person->FieldByName("Id")->AsInteger; person->Close(); delete person; return tempId; } //--------------------------------------------------------------------------- int __fastcall TDial_IndmelderTekniker::getTeknikerId() { int tempId(0); TQuery *tekniker = new TQuery(this); tekniker->SQL->Clear(); tekniker->SQL->Add("SELECT Id FROM T_Medarbejder"); tekniker->SQL->Add("WHERE Initialer = '" + CBox_Initialer->Text + "'"); tekniker->Open(); tempId = tekniker->FieldByName("Id")->AsInteger; tekniker->Close(); delete tekniker; return tempId; } //--------------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::Butn_TeknikerNyClick( TObject *Sender) { if(Dial_TeknikerNy->ShowModal() == mrOk) NULL; } //--------------------------------------------------------------------------- void __fastcall TDial_IndmelderTekniker::Butn_TeknikerRedigerClick( TObject *Sender) { MessageDlg("Denne funktionalitet er ikke implementeret.", mtInformation, TMsgDlgButtons() << mbOK, 0); } //---------------------------------------------------------------------------