Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit CandidateDelete;
- interface
- uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
- Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
- type
- TCandidateDeleteFrame = class(TFrame)
- GroupBox1: TGroupBox;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- EditFullname: TEdit;
- EditProfession: TEdit;
- EditCountyNumber: TEdit;
- EditParty: TEdit;
- EditAge: TEdit;
- BtnPrev: TButton;
- BtnNext: TButton;
- BtnDelete: TButton;
- LBPK: TLabel;
- procedure FrameEnter(Sender: TObject);
- procedure BtnPrevClick(Sender: TObject);
- procedure BtnNextClick(Sender: TObject);
- procedure BtnDeleteClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- Procedure FillComponents();
- end;
- implementation
- {$R *.dfm}
- uses BidirectionalCandidate, Main, Candidate, BidirectionalParty,
- BidirectionalCountyNumber;
- var
- CurrentCandidate : Integer;
- Function GetCandidate() : TCandidate;
- var
- TempHead : PCandidateList;
- CurrentCandidateNode : TCandidate;
- Counter : Integer;
- begin
- TempHead := Main.CandidateList.Head;
- CurrentCandidateNode := NIL;
- Counter := 0;
- While TempHead <> NIL Do
- Begin
- if Counter = CurrentCandidate then
- begin
- CurrentCandidateNode := TempHead.Candidate;
- break
- end
- else
- Inc(Counter);
- TempHead := TempHead^.Next;
- End;
- GetCandidate := CurrentCandidateNode;
- end;
- Procedure TCandidateDeleteFrame.FillComponents();
- var
- Candidate : TCandidate;
- begin
- Candidate := GetCandidate;
- if Candidate <> NIL then
- begin
- LBPK.Caption := Candidate.IdCandidate.ToString;
- EditFullname.Text := Candidate.Fullname;
- EditCountyNumber.Text := TCountyNumberList.GetCountyNumberByPK(Main.CountyNumberList, Candidate.CountyNumberId).ToString;
- EditParty.Text := TPartyList.GetPartyNameByPK(Main.PartyList, Candidate.PartyId);
- EditAge.Text := Candidate.Age.ToString;
- EditProfession.Text := Candidate.Profession;
- BtnDelete.Enabled := True;
- BtnNext.Enabled := True;
- BtnPrev.Enabled := True;
- end
- else
- begin
- LBPK.Caption := '';
- EditFullname.Text := '';
- EditCountyNumber.Text := '';
- EditParty.Text := '';
- EditAge.Text := '';
- EditProfession.Text := '';
- BtnDelete.Enabled := False;
- BtnNext.Enabled := False;
- BtnPrev.Enabled := False;
- end;
- end;
- procedure TCandidateDeleteFrame.BtnDeleteClick(Sender: TObject);
- var
- KeyCandidate : Integer;
- begin
- try
- KeyCandidate := StrToInt(LBPK.Caption);
- Main.CandidateList.DeleteCandidateByID(KeyCandidate);
- Application.MessageBox(PChar('Успешное удаление кандидата - ' + EditFullname.Text),
- 'Удаление кандидата',MB_OK+MB_ICONINFORMATION);
- Self.FrameEnter(NIL);
- except
- On E : Exception do
- Application.MessageBox(PChar('Ошибка' + E.Message),'Удаление кандидата', MB_OK + MB_ICONSTOP);
- end;
- end;
- procedure TCandidateDeleteFrame.BtnNextClick(Sender: TObject);
- begin
- if CurrentCandidate <> Main.CandidateList.Count - 1 then
- begin
- Inc(CurrentCandidate);
- FillComponents;
- end;
- end;
- procedure TCandidateDeleteFrame.BtnPrevClick(Sender: TObject);
- begin
- if CurrentCandidate <> 0 then
- begin
- Dec(CurrentCandidate);
- FillComponents;
- end;
- end;
- procedure TCandidateDeleteFrame.FrameEnter(Sender: TObject);
- begin
- CurrentCandidate := 0;
- FillComponents;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement