Покритикуйте пожалуйста исходник
От: anonim2006  
Дата: 14.09.06 13:38
Оценка: :)
На мою критику исходного кода человек сказал что я явно придираюсь и не знаю чего хочу, а код его практически идеальный за исключением нескольких моментов. Нет слов.... смотрите сами, здесь всего один метод.

Мне даже интерессно кто сколько недостатков в этом коде найдет :). Каждвый недостатки пусть перечисляет в своей ветке.

procedure TFrmCMMain.PageControlMainChange(Sender: TObject);
var
  activeDetailFrame: TframeDetailBase;
begin
  inherited;

  if PageControlMain.ActivePage = tabGeneral then
    BuildToolButtons(acSEVISGeneral)
  else
    begin
      activeDetailFrame := FindActiveDetailFrame((Sender as TcxPageControl).ActivePage);
      if activeDetailFrame <> nil then
      begin
        //Caption := activeDetailFrame.Name;
        BuildToolButtons(activeDetailFrame.SevisActions);
      end;
    end;

  //Will open the needed datasets when the active page on the tab control is changed
  if ((Sender as TcxPageControl).ActivePage = tabOverview)AND (cDetailSS_ID.Text<>'') then begin
    frameOverview1.SSID := cDetailSS_ID.Text;
    frameOverview1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
    frameOverview1.UpdateParameters;
    if not frameOverview1.cdsWorkAuth.Active then
      frameOverview1.cdsWorkAuth.Open
    else begin
      frameOverview1.cdsWorkAuth.Close;
      frameOverview1.cdsWorkAuth.Open;
      //frameOverview1.cdsWorkAuth.Refresh();
    end;



    //dsCountry
    if not cdsCountry.Active  then
      cdsCountry.Open;
    if not frameOverview1.cdsNote.Active then
      frameOverview1.cdsNote.Open
    else begin
      frameOverview1.cdsNote.Close;
      frameOverview1.cdsNote.Open;
    end;
    if not frameOverview1.cdsAppointmentProfile.Active then
      frameOverview1.cdsAppointmentProfile.Open
    else begin
      frameOverview1.cdsAppointmentProfile.Close;
      frameOverview1.cdsAppointmentProfile.Open;
    end;

    //cdsSchool usde as lookup so no refresh is needed
    if not frameOverview1.cdsSchool.Active then
      frameOverview1.cdsSchool.Open;

    if not frameOverview1.cdsDependents.Active then
      frameOverview1.cdsDependents.Open
    else begin
      frameOverview1.cdsDependents.Close;
      frameOverview1.cdsDependents.Open;
    end;
    if not LkpDM.lkpWorkAuthTypes.Active  then
      LkpDM.lkpWorkAuthTypes.Open;

  //    cdsAddress
    if not frameOverview1.cdsAddress.Active then
      frameOverview1.cdsAddress.Open
    else begin
      frameOverview1.cdsAddress.Close;
      frameOverview1.cdsAddress.Open;
    end;
    if not LkpDM.lkpWorkAuthTypes.Active  then
      LkpDM.lkpWorkAuthTypes.Open;

    //cdsContact
    if not frameOverview1.cdsContact.Active then
      frameOverview1.cdsContact.Open
    else begin
      frameOverview1.cdsContact.Close;
      frameOverview1.cdsContact.Open;
    end;

    //cdsOrganization usde as lookup so no refresh is needed
    if not frameOverview1.cdsOrganization.Active then
      frameOverview1.cdsOrganization.Open;

    if not LkpDM.lkpWorkAuthTypes.Active  then
      LkpDM.lkpWorkAuthTypes.Open;

//    frameOverview1.SSRecordTypeID := cListIMGP_VISATYPE.Text;

//    if not frameOverview1.cFrmDetail.Active then
//      frameOverview1.cFrmDetail.Open;
//    if not (LkpDM.LkpAddrType.Active) then
//      LkpDM.LkpAddrType.Open;
//    if not (LkpDM.LkpPhoneType.Active) then
//      LkpDM.LkpPhoneType.Open;
  end;

  if ((Sender as TcxPageControl).ActivePage = tabGeneral) then begin
  // manage controls, depending on VisaType
  // F
    if (IMGPVisaTypeCode = '01') or (IMGPVisaTypeCode = '04')  then begin
        eSS_SEVISID.Enabled := true;
        eSS_PREVSEVISID.Enabled := true;
        eSS_HOMECNTRYPOSITION.Enabled := false;
        eSS_HOMECNTRYPOSCODE.Enabled := false;
        eSS_HOMECNTRYEMPLOYER.Enabled := false;
        dbimcbUSEmplVisa.Enabled := false;
        eSS_USEMPLOYERNAME.Enabled := false;
        eSS_HIGHESTDEGREEEARNED.Enabled := false;
        dbimcbHighestDegLocation.Enabled := false;
        meSS_HIGHESTDEGYEAR.Enabled := false;
        eSS_HIGHESTDEGINST.Enabled := false;
        eSS_HIGHESTDEGINSTLOC.Enabled := false;
    end
    else begin
    // J
    if (IMGPVisaTypeCode = '03') or (IMGPVisaTypeCode = '06')  then begin
        eSS_SEVISID.Enabled := true;
        eSS_PREVSEVISID.Enabled := true;
        eSS_HOMECNTRYPOSITION.Enabled := true;
        eSS_HOMECNTRYPOSCODE.Enabled := true;
        eSS_HOMECNTRYEMPLOYER.Enabled := true;
        dbimcbUSEmplVisa.Enabled := false;
        eSS_USEMPLOYERNAME.Enabled := false;
        eSS_HIGHESTDEGREEEARNED.Enabled := false;
        dbimcbHighestDegLocation.Enabled := false;
        meSS_HIGHESTDEGYEAR.Enabled := false;
        eSS_HIGHESTDEGINST.Enabled := false;
        eSS_HIGHESTDEGINSTLOC.Enabled := false;
    end
    else begin

    // other
        eSS_SEVISID.Enabled := false;
        eSS_PREVSEVISID.Enabled := false;
        eSS_HOMECNTRYPOSITION.Enabled := false;
        eSS_HOMECNTRYPOSCODE.Enabled := true;
        eSS_HOMECNTRYEMPLOYER.Enabled := true;
        dbimcbUSEmplVisa.Enabled := true;
        eSS_USEMPLOYERNAME.Enabled := true;
        eSS_HIGHESTDEGREEEARNED.Enabled := true;
        dbimcbHighestDegLocation.Enabled := true;
        meSS_HIGHESTDEGYEAR.Enabled := true;
        eSS_HIGHESTDEGINST.Enabled := true;
        eSS_HIGHESTDEGINSTLOC.Enabled := true;
    end;
    end

  end;

  if ((Sender as TcxPageControl).ActivePage = tabAddressPhone) then begin
    framePhoneAddressFrame1.SSID := cDetailSS_ID.Text;
    framePhoneAddressFrame1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
    if not (LkpDM.LkpAddrType.Active) then
      LkpDM.LkpAddrType.Open;
    if not (LkpDM.LkpPhoneType.Active) then
      LkpDM.LkpPhoneType.Open;
    if not framePhoneAddressFrame1.cFrmDetail.Active then
      framePhoneAddressFrame1.cFrmDetail.Open;
  end;

  if ((Sender as TcxPageControl).ActivePage = tabDependents ) then begin
    frameDependants1.SSID := cDetailSS_ID.Text;
    frameDependants1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
    frameDependants1.IMGPVisaTypeCode := cListIMGP_VISATYPE.Text;

    if not (LkpDM.lkpNameSuffix.Active) then
      LkpDM.lkpNameSuffix.Open;
    if not frameDependants1.cdsCountry.Active then
      frameDependants1.cdsCountry.Open;
    if not frameDependants1.cFrmDetail.Active then
      frameDependants1.cFrmDetail.Open;
  end;

  if ((Sender as TcxPageControl).ActivePage = tabImmigrationProfiles ) then begin
      frameImmigrationProfiles1.SSID := cDetailSS_ID.Text;
      frameImmigrationProfiles1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
      frameImmigrationProfiles1.IMGPVisaTypeCode := cListIMGP_VISATYPE.Text;

//    if not (LkpDM.lkpSubjectCode.Active) then
//      LkpDM.lkpSubjectCode.Open;
    if not (LkpDM.lkpVisitorCategory.Active) then
      LkpDM.lkpVisitorCategory.Open;
    if not (LkpDM.lkpSEVISStatus.Active) then
      LkpDM.lkpSEVISStatus.Open;
    if not (LkpDM.LkpVisaSponsor.Active) then
      LkpDM.LkpVisaSponsor.Open;
    if not (LkpDM.LkpVisaType.Active) then
      LkpDM.LkpVisaType.Open;
    if not frameImmigrationProfiles1.cFrmDetail.Active then
      frameImmigrationProfiles1.cFrmDetail.Open;
  end;

   if ((Sender as TcxPageControl).ActivePage = tabNotes ) then begin
    frameNotes1.SSID := cDetailSS_ID.Text;
    frameNotes1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
   if not frameNotes1.cFrmDetail.Active then
      frameNotes1.cFrmDetail.Open;
   if not (LkpDM.lkpNoteType.Active) then
      LkpDM.lkpNoteType.Open;
  end;

   if ((Sender as TcxPageControl).ActivePage = tabFinancialProfiles ) then begin
    frameFinancialProfiles1.SSID := cDetailSS_ID.Text;
    frameFinancialProfiles1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
    frameFinancialProfiles1.IMGPVisaTypeCode := cListIMGP_VISATYPE.Text;
   if not frameFinancialProfiles1.cFrmDetail.Active then
      frameFinancialProfiles1.cFrmDetail.Open;
   if not (LkpDM.lkpFundType.Active) then
      LkpDM.lkpFundType.Open;

  end;

  if ((Sender as TcxPageControl).ActivePage = tabDocuments ) then begin
    frameDocuments1.SSID := cDetailSS_ID.Text;
    frameDocuments1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
  if not (LkpDM.LkpDocumentType.Active) then
      LkpDM.LkpDocumentType.Open; 
   if not frameDocuments1.cFrmDetail.Active then
      frameDocuments1.cFrmDetail.Open;
  end;

  if ((Sender as TcxPageControl).ActivePage = tabPermResidAppl ) then begin
    framePermResidAppl1.SSID := cDetailSS_ID.Text;
    framePermResidAppl1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
    if not LkpDM.LkpProcOfGreenCard.Active  then
      LkpDM.LkpProcOfGreenCard.Open;
    if not LkpDM.LkpPermPosCategory.Active  then
      LkpDM.LkpPermPosCategory.Open;
    if not LkpDM.LkpPermPosType.Active  then
      LkpDM.LkpPermPosType.Open;
    if not LkpDM.LkpPermPosStatus.Active  then
      LkpDM.LkpPermPosStatus.Open;
   if not framePermResidAppl1.cFrmDetail.Active then
      framePermResidAppl1.cFrmDetail.Open;
  end;

  if ((Sender as TcxPageControl).ActivePage = tabAppointmentProfiles ) then begin
    frameAppProfiles1.SSID := cDetailSS_ID.Text;
    frameAppProfiles1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
    if not frameAppProfiles1.cdsSchool.Active then
      frameAppProfiles1.cdsSchool.Open;
    if not frameAppProfiles1.cdsOrganization.Active then
      frameAppProfiles1.cdsOrganization.Open;
   if not LkpDM.lkpSalaryUnits.Active  then
      LkpDM.lkpSalaryUnits.Open;
   if not frameAppProfiles1.cFrmDetail.Active then
      frameAppProfiles1.cFrmDetail.Open;

  end;

  if ((Sender as TcxPageControl).ActivePage = tabWorkAuth ) then begin
   frameWorkAuthorizations1.SSID := cDetailSS_ID.Text;
   frameWorkAuthorizations1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
   if not LkpDM.lkpWorkAuthTypes.Active  then
      LkpDM.lkpWorkAuthTypes.Open;
   if not LkpDM.lkpWorkAuthEmpType.Active  then
      LkpDM.lkpWorkAuthEmpType.Open;
   if not frameWorkAuthorizations1.cFrmDetail.Active then
      frameWorkAuthorizations1.cFrmDetail.Open;
  end;

   if ((Sender as TcxPageControl).ActivePage = tabAcademicProfiles ) then begin
    frameAcademicProfiles1.SSID := cDetailSS_ID.Text;
    frameAcademicProfiles1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;
   if not frameAcademicProfiles1.cFrmDetail.Active then
      frameAcademicProfiles1.cFrmDetail.Open;
   end;

   if ((Sender as TcxPageControl).ActivePage = tabNonSevis ) then
   begin
    frameNonSevis1.SSID := cDetailSS_ID.Text;
    frameNonSevis1.SSRecordTypeID := cDetailSS_RECORDTYPE.Text;

    if not LkpDM.LkpNONSEVISFORMS.Active  then
              LkpDM.LkpNONSEVISFORMS.Open;

    frameNonSevis1.cbForms.ItemIndex:=-1;
    if frameNonSevis1.cList.Active then frameNonSevis1.cList.Close;

   end;

  //Update button state is called to apply the autoedit and button state changes on tab change.
  //Since datasets are being opened after the first time user click on the tab Autoedit needs to be reset.
  UpdateButtonState;
end;


Добавлен тэг pascal для подсветки кода
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.