Модуль "Новое сообщение" (часть 2) - FormCreate
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
procedure TfrmAT_NewMessage.FormCreate(Sender: TObject); var i, j: integer; xType: byte; str: string; f1: file of TAbonent; f2: file of TAbonentEx; xsize: integer; IsCorr: boolean; xItem: TspComboExItem;
function GetImageNumber(AType: byte): integer; begin result:= -1; //if AType <> 255 then result:=AType // else result:= -1; case AType of ///*0: result:= 0; 0: result:= 2; 1: result:= 1; //2: result:= -1; ///*3: result:= 2; 3: result:= 0; 4: result:= 3; 5: result:= 4; //6: result:= -1; //7: result:= 6; //8: result:= -1; //9: result:= -1; //10: result:= 7; 11: result:= 5; 12: result:= 6; 13: result:= 7; 14: result:= 8; 15: result:= 9; 16: result:= 10; 17: result:= 11; else result:= -1; end; if result <> -1 then result:= result + 2; end; procedure FillList; var t, k, p: integer; xx: string; begin for t:= Low(xMembers) to High(xMembers) do begin p:= xMembers[t].eType; k:= xMembers[t].Index; xx:= xMembers[t].Storage; if (p in [0, 1, 2, 3, 4, 5, 8]) and (k <> MaxInt) and ((xx = 'S') or (xx = 'P')) then begin xx:= Trim(xMembers[t].Name) + #9#9 + Trim(xMembers[t].Number); xItem:= cbNewSMSNumber.ItemsEx.Add; xItem.Caption:= xx; xItem.ImageIndex:= p; end; end; end; procedure FillListEx; var t, k, p: integer; xx: string; z, m: integer; begin z:= xPhoneBookParamEx.cntPhones; for t:= Low(xMembersEx) to High(xMembersEx) do begin for m:= 1 to z do begin k:= xMembersEx[t].Records[m].SubIndex; p:= GetImageNumber(xMembersEx[t].Records[m].iType); xx:= xMembersEx[t].Storage; if (p in [0, 1, 2, 3, 4, 5, 8, 9, 10, 11]) and (k <> MaxInt) and ((xx = 'S') or (xx = 'P')) then begin xx:= Trim(xMembersEx[t].Records[m].FullName) + #9#9 + Trim(xMembersEx[t].Records[m].Number); xItem:= cbNewSMSNumber.ItemsEx.Add; xItem.Caption:= xx; xItem.ImageIndex:= p; end; end; end; end; begin // Caption:= at_sm_n_text_01; spSkinStdLabel6.Caption:= at_sm_n_text_02; spSkinStdLabel1.Caption:= at_sm_n_text_03; spSkinStdLabel2.Caption:= Format(at_sm_n_text_04, ['???']); spSkinRadioGroup1.Caption:= at_sm_n_text_05; spSkinRadioGroup1.Items[0]:= at_sm_n_text_06; spSkinRadioGroup1.Items[1]:= at_sm_n_text_07; spSkinRadioGroup1.Items[2]:= at_sm_n_text_08; spSkinRadioGroup2.Caption:= at_sm_n_text_09; spSkinRadioGroup2.Items[0]:= at_sm_n_text_10; spSkinRadioGroup2.Items[1]:= at_sm_n_text_11; AdvGlowButton1.Caption:= btnCancel; AdvGlowButton3.Caption:= btnOk; spSkinMemo1.Clear; //IsMultiPage:= false; //fill abonents cbNewSMSNumber.Items.Clear; case iPhoneBookType of 0,1: begin //PngImageList3 cbNewSMSNumber.Images:= Form1.PngImageList5; if xMembers = nil then begin // взять из файла str:= ExtractFilePath(Application.ExeName)+'Data\abonents.db~'; if not FileExists(str) then exit; AssignFile(f1, str); Reset(f1); try if frmAT_PhoneBook.GetPhoneBookParams(xPhoneBookParam) then begin SetLength(xMembers, xPhoneBookParam.TotalRec); i:= 0; IsCorr:= true; repeat Read(f1, xMembers[i]); if (xMembers[i].Storage = 'S') or (xMembers[i].Storage = 'P') or (xMembers[i].Storage = 'N') then IsCorr:= IsCorr and true else IsCorr:= IsCorr and false; inc(i); until eof(f1); if IsCorr then FillList end; finally CloseFile(f1); end; end else begin // взять из сущ. массива FillList end; end; 2,3: begin if xMembersEx = nil then begin //PngImageList3 cbNewSMSNumber.Images:= Form1.PngImageList6; if xMembersEx = nil then begin // взять из файла str:= ExtractFilePath(Application.ExeName)+'Data\AbonentsEx.db~'; if not FileExists(str) then exit; AssignFile(f2, str); Reset(f2); try if frmAT_PhoneBook.GetPhoneBookParamsEx(xPhoneBookParamEx) then begin SetLength(xMembersEx, xPhoneBookParamEx.TotalRec); i:= 0; IsCorr:= true; repeat Read(f2, xMembersEx[i]); if (xMembersEx[i].Storage = 'S') or (xMembersEx[i].Storage = 'P') or (xMembersEx[i].Storage = 'N') then IsCorr:= IsCorr and true else IsCorr:= IsCorr and false; inc(i); until eof(f2); if IsCorr then FillListEx end; finally CloseFile(f2); end; end; end else begin // взять из сущ. массива FillListEx; end; end; end; end;
Еще записи по теме
- Модуль "Будильник" (часть 16)
- Модуль "P2KFileManager" (часть 6) - BuildFolderTree
- Модуль "Будильник" (часть 3) - LoadAlarmClock
- Модуль "P2KApi" (часть 66) - TP2KAPI.MakeDumpToFile3
- Модуль "Справочник" (часть 32) - ClearElements
- Главный модуль программы (часть 2)
- Главный модуль программы (часть 30) - RebuildPanelButtons
