Автоматизация процесса настройки антенно-фидерных систем GSM-терминалов

Выбор оборудования и разработка программного обеспечение (ПО) для настройки антенно-фидерных систем (АФС) GSM – терминалов высокого уровня оперативности и низкой стоимости разработанного продукта, с возможностью его дальнейшего усовершенствования.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.06.2012
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Edit19: TEdit;

Edit20: TEdit;

Operator: TEdit;

Image1: TImage;

GroupBox3: TGroupBox;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit24: TEdit;

Edit25: TEdit;

Edit26: TEdit;

Edit27: TEdit;

Gauge2: TGauge;

MCC1: TEdit;

MNC1: TEdit;

LAC1: TEdit;

CI1: TEdit;

BSIC1: TEdit;

BCCHFreq1: TEdit;

RxLev1: TEdit;

Edit36: TEdit;

Band1: TEdit;

GroupBox5: TGroupBox;

Gauge3: TGauge;

Edit38: TEdit;

Edit39: TEdit;

Edit40: TEdit;

Edit41: TEdit;

Edit42: TEdit;

Edit43: TEdit;

Edit44: TEdit;

MCC4: TEdit;

MNC4: TEdit;

LAC4: TEdit;

CI4: TEdit;

BSIC4: TEdit;

BCCHFreq4: TEdit;

RxLev4: TEdit;

Edit52: TEdit;

Band4: TEdit;

GroupBox6: TGroupBox;

Gauge4: TGauge;

Edit54: TEdit;

Edit55: TEdit;

Edit56: TEdit;

Edit57: TEdit;

Edit58: TEdit;

Edit59: TEdit;

Edit60: TEdit;

MCC2: TEdit;

MNC2: TEdit;

LAC2: TEdit;

CI2: TEdit;

BSIC2: TEdit;

BCCHFreq2: TEdit;

RxLev2: TEdit;

Edit68: TEdit;

Band2: TEdit;

GroupBox7: TGroupBox;

Gauge5: TGauge;

Edit70: TEdit;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

MCC3: TEdit;

MNC3: TEdit;

LAC3: TEdit;

CI3: TEdit;

BSIC3: TEdit;

BCCHFreq3: TEdit;

RxLev3: TEdit;

Edit84: TEdit;

Band3: TEdit;

GroupBox8: TGroupBox;

Gauge6: TGauge;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

Edit89: TEdit;

Edit90: TEdit;

Edit91: TEdit;

Edit92: TEdit;

MCC5: TEdit;

MNC5: TEdit;

LAC5: TEdit;

CI5: TEdit;

BSIC5: TEdit;

BCCHFreq5: TEdit;

RxLev5: TEdit;

Edit100: TEdit;

Band5: TEdit;

GroupBox9: TGroupBox;

Gauge7: TGauge;

Edit102: TEdit;

Edit103: TEdit;

Edit104: TEdit;

Edit105: TEdit;

Edit106: TEdit;

Edit107: TEdit;

Edit108: TEdit;

MCC6: TEdit;

MNC6: TEdit;

LAC6: TEdit;

CI6: TEdit;

BSIC6: TEdit;

BCCHFreq6: TEdit;

RxLev6: TEdit;

Edit116: TEdit;

Band6: TEdit;

ERROR: TEdit;

SERVICE: TEdit;

Timer1: TTimer;

procedure StartClick(Sender: TObject);

procedure StopClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure BComPort1RxChar(Sender: TObject; Count: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

RxStr, sCSQ, sMCC, sMNC, sLAC, sCI, sBSIC, sBCCHFreq, sRxLev, sIMEI: String;

sRxLevFull, sRxLevSub, sRxQual, sRxQualFull, sRxQualSub, sIdleTS: String;

visual, visual1, visual2, visual3, visual4, visual5, visual6, dbm, l, p, i, result: integer;

proc, proc1, proc2, proc3, proc4, proc5, proc6: real;

sMCC1, sMNC1, sLAC1, sCI1, sBSIC1, sBCCHFreq1, sRxLev1, sBand1: String;

sMCC2, sMNC2, sLAC2, sCI2, sBSIC2, sBCCHFreq2, sRxLev2, sBand2: String;

sMCC3, sMNC3, sLAC3, sCI3, sBSIC3, sBCCHFreq3, sRxLev3, sBand3: String;

sMCC4, sMNC4, sLAC4, sCI4, sBSIC4, sBCCHFreq4, sRxLev4, sBand4: String;

sMCC5, sMNC5, sLAC5, sCI5, sBSIC5, sBCCHFreq5, sRxLev5, sBand5: String;

sMCC6, sMNC6, sLAC6, sCI6, sBSIC6, sBCCHFreq6, sRxLev6, sBand6: String;

implementation

{$R *.dfm}

procedure TForm1.StartClick(Sender: TObject);

begin

if timer1.Enabled = false then

begin

BComPort1.Port:=ComboBox1.Text;

BcomPort1.BaudRate:=TBaudRate(ComboBox2.ItemIndex);

BComPort1.Open;

Start.Enabled:=false;

ComboBox1.Enabled:=false;

ComboBox2.Enabled:=false;

Timer1.Enabled:=true;

MCC.Text:='n/a';

MNC.Text:='n/a';

LAC.Text:='n/a';

CI.Text:='n/a';

BSIC.Text:='n/a';

BCCHFreq.Text:='n/a';

RxLev.Text:='n/a';

RxLevFull.Text:='n/a';

RxLevSub.Text:='n/a';

RxQual.Text:='n/a';

RxQualFull.Text:='n/a';

RxQualSub.Text:='n/a';

IdleTS.Text:='n/a';

CSQ.Text:='n/a';

Band.Text:='n/a';

Edit29.Text:='n/a';

Edit19.Text:='n/a';

Gauge1.Progress:=0;

MCC1.Text:='n/a';

MNC1.Text:='n/a';

LAC1.Text:='n/a';

CI1.Text:='n/a';

BSIC1.Text:='n/a';

BCCHFreq1.Text:='n/a';

RxLev1.Text:='n/a';

Band1.Text:='n/a';

Gauge2.Progress:=0;

MCC2.Text:='n/a';

MNC2.Text:='n/a';

LAC2.Text:='n/a';

CI2.Text:='n/a';

BSIC2.Text:='n/a';

BCCHFreq2.Text:='n/a';

RxLev2.Text:='n/a';

Band2.Text:='n/a';

Gauge4.Progress:=0;

MCC3.Text:='n/a';

MNC3.Text:='n/a';

LAC3.Text:='n/a';

CI3.Text:='n/a';

BSIC3.Text:='n/a';

BCCHFreq3.Text:='n/a';

RxLev3.Text:='n/a';

Band3.Text:='n/a';

Gauge5.Progress:=0;

MCC4.Text:='n/a';

MNC4.Text:='n/a';

LAC4.Text:='n/a';

CI4.Text:='n/a';

BSIC4.Text:='n/a';

BCCHFreq4.Text:='n/a';

RxLev4.Text:='n/a';

Band4.Text:='n/a';

Gauge3.Progress:=0;

MCC5.Text:='n/a';

MNC5.Text:='n/a';

LAC5.Text:='n/a';

CI5.Text:='n/a';

BSIC5.Text:='n/a';

BCCHFreq5.Text:='n/a';

RxLev5.Text:='n/a';

Band5.Text:='n/a';

Gauge6.Progress:=0;

MCC6.Text:='n/a';

MNC6.Text:='n/a';

LAC6.Text:='n/a';

CI6.Text:='n/a';

BSIC6.Text:='n/a';

BCCHFreq6.Text:='n/a';

RxLev6.Text:='n/a';

Band6.Text:='n/a';

Gauge7.Progress:=0;

end;

BComPort1.WriteStr('ate1'+#13 +#10);

if ERROR.Visible=false then

begin

ERROR.Visible:=true;

Gauge1.ForeColor:=clRed;

Gauge2.ForeColor:=clRed;

Gauge3.ForeColor:=clRed;

Gauge4.ForeColor:=clRed;

Gauge5.ForeColor:=clRed;

Gauge6.ForeColor:=clRed;

Gauge7.ForeColor:=clRed;

end

else

begin

ERROR.Visible:=false;

Gauge1.ForeColor:=clWhite;

Gauge2.ForeColor:=clWhite;

Gauge3.ForeColor:=clWhite;

Gauge4.ForeColor:=clWhite;

Gauge5.ForeColor:=clWhite;

Gauge6.ForeColor:=clWhite;

Gauge7.ForeColor:=clWhite;

end;

sleep(100);

BComPort1.WriteStr('at+cgsn'+#13 +#10);

end;

procedure TForm1.StopClick(Sender: TObject);

begin

BComPort1.Close;

Start.Enabled:=true;

ComboBox1.Enabled:=true;

ComboBox2.Enabled:=true;

ERROR.Visible:=false;

Timer1.Enabled:=false;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

EnumComPorts(ComboBox1.Items);

ComboBox1.ItemIndex:=0;

ComboBox2.ItemIndex:=6;

Timer1.Enabled:=false;

end;

procedure TForm1.BComPort1RxChar(Sender: TObject; Count: Integer);

Var

RxStr: String;

begin

Timer1.Enabled:=false;

Timer1.Enabled:=true;

sleep(200);

BComPort1.ReadStr(RxStr,10000);

ERROR.Visible:=false;

SERVICE.Visible:=false;

Edit14.Text:=RxStr;

RxStr:=UpperCase(RxStr);

p:=0;

p:=pos('ERROR',RxStr);

if p<>0

then begin BComPort1.WriteStr('a/'+#13 +#10); ERROR.Visible:=true; end

else

begin

p:=0; // Iieo?aiea ioaaoa ia cai?in CSQ

p:=pos('CSQ',RxStr); //

if p <> 0 then //

begin //

p:=0; //

p:=pos(' ',RxStr); //

Delete(RxStr,1,p); //

//

p:=0; //

p:=pos(',',RxStr); //

sCSQ:=Copy(RxStr,1,p-1); //

try //

dbm:=StrToInt(sCSQ); //

except

on Exception : EConvertError do begin dbm:=0; ERROR.Visible:=true; end;

end;

if dbm = 99 then begin dbm:=0; ERROR.Visible:=true; SERVICE.Visible:=true; end;

visual:=dbm; //

dbm:=113-2*dbm; //

Edit29.Text:='-0'+IntToStr(dbm)+'dbm'; //

if dbm < 10 then //

Edit29.Text:='-00'+IntToStr(dbm)+'dbm'; //

if dbm > 99 then //

Edit29.Text:='-'+IntToStr(dbm)+'dbm'; //

//

proc:=visual*3.226; //

visual:=round(proc); //

if visual > 50 then Gauge1.ForeColor:=clGreen //

else //

begin //

if visual < 21 then Gauge1.ForeColor:=clRed //

else Gauge1.ForeColor:=clYellow; //

end; //

Gauge1.Progress:=visual; //

//

if sCSQ='' then sCSQ:='n/a'; //

CSQ.Text:=sCSQ; //

BComPort1.WriteStr('at+cced=0,1'+#13 +#10); //

end; //

p:=0;

p:=pos('CCED:',RxStr);

if p <> 0 then

begin

Delete(RxStr,1,p);

p:=0;

p:=pos(' ',RxStr);

Delete(RxStr,1,p);

i:=0; // Iian??o eiee?anoaa caiyouo

result := 0; // aey aaeuiaeoaai ii?aaaeaiey

for i := 1 to length(RxStr) do // eaeay nioa ioaaoeea

if RxStr[i] = ',' then // 12 - aeoeaiay

inc(result); // < 7 eee > 12 - ninaaiea

//Edit14.Text:=IntToStr(result); //

edit14.Text:=RxStr;

if result = 12 then

begin

p:=0;

p:=pos(',',RxStr);

sMCC:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sMNC:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sLAC:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sCI:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBSIC:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBCCHFreq:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sRxLev:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sRxLevFull:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sRxLevSub:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sRxQual:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sRxQualFull:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sRxQualSub:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos('OK',RxStr);

sIdleTS:=Copy(RxStr,1,p-5);

if sMCC='' then sMCC:='n/a';

MCC.Text:=sMCC;

if sMNC='' then sMNC:='n/a';

MNC.Text:=sMNC;

if sLAC='' then sLAC:='n/a';

LAC.Text:=sLAC;

if sCI='' then sCI:='n/a';

CI.Text:=sCI;

if sBSIC='' then sBSIC:='n/a';

BSIC.Text:=sBSIC;

if sBCCHFreq='' then sBCCHFreq:='n/a';

BCCHFreq.Text:=sBCCHFreq;

if sRxLev='' then sRxLev:='n/a';

RxLev.Text:=sRxLev;

if sRxLevFull='' then sRxLevFull:='n/a';

RxLevFull.Text:=sRxLevFull;

if sRxLevSub='' then sRxLevSub:='n/a';

RxLevSub.Text:=sRxLevSub;

if sRxQual='' then sRxQual:='n/a';

RxQual.Text:=sRxQual;

if sRxQualFull='' then sRxQualFull:='n/a';

RxQualFull.Text:=sRxQualFull;

if sRxQualSub='' then sRxQualSub:='n/a';

RxQualSub.Text:=sRxQualSub;

if sIdleTS='' then sIdleTS:='n/a';

IdleTS.Text:=sIdleTS;

if StrToInt(sMCC)=250 then // Ioia?a?aiea no?aiu

Country.Text:='Russia' //

else //

Country.Text:='n/a'; //

if sBCCHFreq <> 'n/a' then begin

if StrToInt(sBCCHFreq) > 128 then // Ioia?a?aiea aeaiaciia

begin //

Band.Text:='1800'; //

Edit19.Text:=' DCS'; //

end //

else //

begin //

Band.Text:='900'; //

Edit19.Text:=' GSM'; //

end; //

end

else Edit19.Text:=' n/a';

if StrToInt(sMNC) = 1 then // Auaia iacaaiey iia?aoi?a

Operator.Text:='ION'; //

if sMNC = '02' then //

Operator.Text:='Iaaaoii'; //

if sMNC = '20' then //

Operator.Text:='OAEA2'; //

if sMNC = '99' then //

Operator.Text:='Aeeaei'; //

if (sMNC <> '01') and (sMNC <> '02') and (sMNC <> '20') and (sMNC <> '99')

then

Operator.Text:='Other';

BComPort1.WriteStr('at+cced=0,2'+#13 +#10); //

end

else

begin

if result = 0 then

begin

MCC1.Text:='n/a';

MNC1.Text:='n/a';

LAC1.Text:='n/a';

CI1.Text:='n/a';

BSIC1.Text:='n/a';

BCCHFreq1.Text:='n/a';

RxLev1.Text:='n/a';

Band1.Text:='n/a';

Gauge2.Progress:=0;

MCC2.Text:='n/a';

MNC2.Text:='n/a';

LAC2.Text:='n/a';

CI2.Text:='n/a';

BSIC2.Text:='n/a';

BCCHFreq2.Text:='n/a';

RxLev2.Text:='n/a';

Band2.Text:='n/a';

Gauge4.Progress:=0;

MCC3.Text:='n/a';

MNC3.Text:='n/a';

LAC3.Text:='n/a';

CI3.Text:='n/a';

BSIC3.Text:='n/a';

BCCHFreq3.Text:='n/a';

RxLev3.Text:='n/a';

Band3.Text:='n/a';

Gauge5.Progress:=0;

MCC4.Text:='n/a';

MNC4.Text:='n/a';

LAC4.Text:='n/a';

CI4.Text:='n/a';

BSIC4.Text:='n/a';

BCCHFreq4.Text:='n/a';

RxLev4.Text:='n/a';

Band4.Text:='n/a';

Gauge3.Progress:=0;

MCC5.Text:='n/a';

MNC5.Text:='n/a';

LAC5.Text:='n/a';

CI5.Text:='n/a';

BSIC5.Text:='n/a';

BCCHFreq5.Text:='n/a';

RxLev5.Text:='n/a';

Band5.Text:='n/a';

Gauge6.Progress:=0;

MCC6.Text:='n/a';

MNC6.Text:='n/a';

LAC6.Text:='n/a';

CI6.Text:='n/a';

BSIC6.Text:='n/a';

BCCHFreq6.Text:='n/a';

RxLev6.Text:='n/a';

Band6.Text:='n/a';

Gauge7.Progress:=0;

end;

if result > 0 then

begin

p:=0;

p:=pos(',',RxStr);

sMCC1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sMNC1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sLAC1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sCI1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBSIC1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBCCHFreq1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

if result < 7

then

begin

p:=0;

p:=pos('OK',RxStr);

sRxLev1:=Copy(RxStr,1,p-5);

end

else

begin

p:=0;

p:=pos(',',RxStr);

sRxLev1:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

end;

if sMCC1='' then sMCC1:='n/a';

MCC1.Text:=sMCC1;

if sMNC1='' then sMNC1:='n/a';

MNC1.Text:=sMNC1;

if sLAC1='' then sLAC1:='n/a';

LAC1.Text:=sLAC1;

if sCI1='' then sCI1:='n/a';

CI1.Text:=sCI1;

if sBSIC1='' then sBSIC1:='n/a';

BSIC1.Text:=sBSIC1;

if sBCCHFreq1='' then sBCCHFreq1:='n/a';

BCCHFreq1.Text:=sBCCHFreq1;

if sRxLev1='' then begin RxLev1.Text:='n/a'; sRxLev1:='0'; end

else RxLev1.Text:=sRxLev1;

if sBCCHFreq1 <> 'n/a' then begin

if StrToInt(sBCCHFreq1) > 128 then // Ioia?a?aiea aeaiaciia

Band1.Text:='1800' //

else //

Band1.Text:='900'; //

end

else Band1.Text:=sBCCHFreq1;

visual1:=round(StrToInt(sRxLev1));

proc1:=visual1*1.8; //

visual1:=round(proc1); //

if visual1 > 50 then Gauge2.ForeColor:=clGreen //

else //

begin //

if visual1 < 21 then Gauge2.ForeColor:=clRed //

else Gauge2.ForeColor:=clYellow; //

end; //

Gauge2.Progress:=visual1;

end;

if result > 7 then

begin

p:=0;

p:=pos(',',RxStr);

sMCC2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sMNC2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sLAC2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sCI2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBSIC2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBCCHFreq2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

if result < 14

then

begin

p:=0;

p:=pos('OK',RxStr);

sRxLev2:=Copy(RxStr,1,p-5);

end

else

begin

p:=0;

p:=pos(',',RxStr);

sRxLev2:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

end;

if sMCC2='' then sMCC2:='n/a';

MCC2.Text:=sMCC2;

if sMNC2='' then sMNC2:='n/a';

MNC2.Text:=sMNC2;

if sLAC2='' then sLAC2:='n/a';

LAC2.Text:=sLAC2;

if sCI2='' then sCI2:='n/a';

CI2.Text:=sCI2;

if sBSIC2='' then sBSIC2:='n/a';

BSIC2.Text:=sBSIC2;

if sBCCHFreq2='' then sBCCHFreq2:='n/a';

BCCHFreq2.Text:=sBCCHFreq2;

if sRxLev2='' then begin RxLev2.Text:='n/a'; sRxLev2:='0'; end

else RxLev2.Text:=sRxLev2;

if sBCCHFreq2 <> 'n/a' then begin

if StrToInt(sBCCHFreq2) > 128 then // Ioia?a?aiea aeaiaciia

Band2.Text:='1800' //

else //

Band2.Text:='900'; //

end

else Band2.Text:=sBCCHFreq2;

visual2:=round(StrToInt(sRxLev2));

proc2:=visual2*1.8; //

visual2:=round(proc2); //

if visual2 > 50 then Gauge4.ForeColor:=clGreen //

else //

begin //

if visual2 < 21 then Gauge4.ForeColor:=clRed //

else Gauge4.ForeColor:=clYellow; //

end; //

Gauge4.Progress:=visual2;

end

else

begin

MCC2.Text:='n/a';

MNC2.Text:='n/a';

LAC2.Text:='n/a';

CI2.Text:='n/a';

BSIC2.Text:='n/a';

BCCHFreq2.Text:='n/a';

RxLev2.Text:='n/a';

Band2.Text:='n/a';

Gauge4.Progress:=0;

end;

if result > 14 then

begin

p:=0;

p:=pos(',',RxStr);

sMCC3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sMNC3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sLAC3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sCI3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBSIC3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBCCHFreq3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

if result < 21

then

begin

p:=0;

p:=pos('OK',RxStr);

sRxLev3:=Copy(RxStr,1,p-5);

end

else

begin

p:=0;

p:=pos(',',RxStr);

sRxLev3:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

end;

if sMCC3='' then sMCC3:='n/a';

MCC3.Text:=sMCC3;

if sMNC3='' then sMNC3:='n/a';

MNC3.Text:=sMNC3;

if sLAC3='' then sLAC3:='n/a';

LAC3.Text:=sLAC3;

if sCI3='' then sCI3:='n/a';

CI3.Text:=sCI3;

if sBSIC3='' then sBSIC3:='n/a';

BSIC3.Text:=sBSIC3;

if sBCCHFreq3='' then sBCCHFreq3:='n/a';

BCCHFreq3.Text:=sBCCHFreq3;

if sRxLev3='' then begin RxLev3.Text:='n/a'; sRxLev3:='0'; end

else RxLev3.Text:=sRxLev3;

if sBCCHFreq3 <> 'n/a' then begin

if StrToInt(sBCCHFreq3) > 128 then // Ioia?a?aiea aeaiaciia

Band3.Text:='1800' //

else //

Band3.Text:='900'; //

end

else Band3.Text:=sBCCHFreq3;

visual3:=round(StrToInt(sRxLev3));

proc3:=visual3*1.8; //

visual3:=round(proc3); //

if visual3 > 50 then Gauge5.ForeColor:=clGreen //

else //

begin //

if visual3 < 21 then Gauge5.ForeColor:=clRed //

else Gauge5.ForeColor:=clYellow; //

end; //

Gauge5.Progress:=visual3;

end

else

begin

MCC3.Text:='n/a';

MNC3.Text:='n/a';

LAC3.Text:='n/a';

CI3.Text:='n/a';

BSIC3.Text:='n/a';

BCCHFreq3.Text:='n/a';

RxLev3.Text:='n/a';

Band3.Text:='n/a';

Gauge5.Progress:=0;

end;

if result > 21 then

begin

p:=0;

p:=pos(',',RxStr);

sMCC4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sMNC4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sLAC4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sCI4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBSIC4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBCCHFreq4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

if result < 28

then

begin

p:=0;

p:=pos('OK',RxStr);

sRxLev4:=Copy(RxStr,1,p-5);

end

else

begin

p:=0;

p:=pos(',',RxStr);

sRxLev4:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

end;

if sMCC4='' then sMCC4:='n/a';

MCC4.Text:=sMCC4;

if sMNC4='' then sMNC4:='n/a';

MNC4.Text:=sMNC4;

if sLAC4='' then sLAC4:='n/a';

LAC4.Text:=sLAC4;

if sCI4='' then sCI4:='n/a';

CI4.Text:=sCI4;

if sBSIC4='' then sBSIC4:='n/a';

BSIC4.Text:=sBSIC4;

if sBCCHFreq4='' then sBCCHFreq4:='n/a';

BCCHFreq4.Text:=sBCCHFreq4;

if sRxLev4='' then begin RxLev4.Text:='n/a'; sRxLev4:='0'; end

else RxLev4.Text:=sRxLev4;

if sBCCHFreq4 <> 'n/a' then begin

if StrToInt(sBCCHFreq4) > 128 then // Ioia?a?aiea aeaiaciia

Band4.Text:='1800' //

else //

Band4.Text:='900'; //

end

else Band4.Text:=sBCCHFreq4;

visual4:=round(StrToInt(sRxLev4));

proc4:=visual4*1.8; //

visual4:=round(proc4); //

if visual4 > 50 then Gauge3.ForeColor:=clGreen //

else //

begin //

if visual4 < 21 then Gauge3.ForeColor:=clRed //

else Gauge3.ForeColor:=clYellow; //

end; //

Gauge3.Progress:=visual4;

end

else

begin

MCC4.Text:='n/a';

MNC4.Text:='n/a';

LAC4.Text:='n/a';

CI4.Text:='n/a';

BSIC4.Text:='n/a';

BCCHFreq4.Text:='n/a';

RxLev4.Text:='n/a';

Band4.Text:='n/a';

Gauge3.Progress:=0;

end;

if result > 28 then

begin

p:=0;

p:=pos(',',RxStr);

sMCC5:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sMNC5:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sLAC5:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sCI5:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBSIC5:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

p:=0;

p:=pos(',',RxStr);

sBCCHFreq5:=Copy(RxStr,1,p-1);

Delete(RxStr,1,p);

if sMCC5='' then sMCC5:='n/a';

MCC5.Text:=sMCC5;

if sMNC5='' then sMNC5:='n/a';

MNC5.Text:=sMNC5;

if sLAC5='' then sLAC5:='n/a';

LAC5.Text:=sLAC5;

if sCI5='' then sCI5:='n/a';

CI5.Text:=sCI5;

if sBSIC5='' then sBSIC5:='n/a';

BSIC5.Text:=sBSIC5;

if sBCCHFreq5='' then sBCCHFreq5:='n/a';

BCCHFreq5.Text:=sBCCHFreq5;

if sRxLev5='' then begin RxLev5.Text:='n/a'; sRxLev5:='0'; end

else RxLev5.Text:=sRxLev5;

if sBCCHFreq5 <> 'n/a' then begin

if StrToInt(sBCCHFreq5) > 128 then // Ioia?a?aiea aeaiaciia

Band5.Text:='1800' //

else //

Band5.Text:='900'; //

end

else Band5.Text:=sBCCHFreq5;

visual5:=round(StrToInt(sRxLev5));

proc5:=visual5*1.8; //

visual5:=round(proc5); //

if visual5 > 50 then Gauge6.ForeColor:=clGreen //

else //

begin //

if visual5 < 21 then Gauge6.ForeColor:=clRed //

else Gauge6.ForeColor:=clYellow; //

end; //

if sMCC6='' then sMCC6:='n/a';

MCC6.Text:=sMCC6;

if sMNC6='' then sMNC6:='n/a';

MNC6.Text:=sMNC6;

if sLAC6='' then sLAC6:='n/a';

LAC6.Text:=sLAC6;

if sCI6='' then sCI6:='n/a';

CI6.Text:=sCI6;

if sBSIC6='' then sBSIC6:='n/a';

BSIC6.Text:=sBSIC6;

if sBCCHFreq6='' then sBCCHFreq6:='n/a';

BCCHFreq6.Text:=sBCCHFreq6;

if sRxLev6='' then begin RxLev6.Text:='n/a'; sRxLev6:='0'; end

else RxLev6.Text:=sRxLev6;

if sBCCHFreq6 <> 'n/a' then begin

if StrToInt(sBCCHFreq6) > 128 then // Ioia?a?aiea aeaiaciia

Band6.Text:='1800' //

else //

Band6.Text:='900'; //

end

else Band6.Text:=sBCCHFreq6;

visual6:=round(StrToInt(sRxLev6));

proc6:=visual6*1.8; //

visual6:=round(proc6); //

if visual6 > 50 then Gauge7.ForeColor:=clGreen //

else //

begin //

if visual6 < 21 then Gauge7.ForeColor:=clRed //

else Gauge7.ForeColor:=clYellow; //

end; //

Gauge7.Progress:=visual6;

end

else

begin

MCC6.Text:='n/a';

MNC6.Text:='n/a';

LAC6.Text:='n/a';

CI6.Text:='n/a';

BSIC6.Text:='n/a';

BCCHFreq6.Text:='n/a';

RxLev6.Text:='n/a';

Band6.Text:='n/a';

Gauge7.Progress:=0;

end;

BComPort1.WriteStr('at+csq'+#13 +#10);

end;

end;

p:=0; // Cai?in IMEI ec iiaaia

p:=pos('CGSN',RxStr); //

if p <> 0 then //

begin //

sIMEI:=Copy(RxStr,p+8,15); //

IMEI.Text:=sIMEI; //

BComPort1.WriteStr('at+csq'+#13 +#10); // Iinueea cai?ina ia o?iaia neaiaea

end; // at+CSQ

end;

//BComPort1.WriteStr('a/'+#13 +#10);

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Обзор существующих систем атоматизированного поиска. Мир электронных денег. Разработка структуры системы автоматизированного поиска отделений и терминалов банков. Обоснование выбора технологии разработки, программной среды и языка программирования.

    курсовая работа [1,2 M], добавлен 17.01.2011

  • Анализ хозяйственной деятельности, технического и программного обеспечения ООО НПФ "Интек". Полная автоматизация настройки контроллеров, предназначенных для процесса отслеживания показателей в нефтяных установках. Оценка экономической эффективности ИС.

    дипломная работа [2,6 M], добавлен 18.06.2013

  • Требования к создаваемому программному модулю. Разработка необходимых алгоритмов и интерфейсов. Описание протокола SPA-BUS. Выбор языка программирования. Тестирование и документирование программного продукта. Оценка экономической эффективности программы.

    дипломная работа [722,4 K], добавлен 06.07.2012

  • Создание прикладного программного обеспечения для реализации интерфейса терминала по приему платежей за услуги связи. Анализ требований к программному обеспечению. Выбор языка программирования. Разработка интерфейса пользователя и проектной документации.

    дипломная работа [1,3 M], добавлен 18.06.2015

  • Классификация терминалов с изолированной программной средой. Изучение их конструкции и принципа работы. Обзор особенностей построения систем защиты информации терминальных клиентов. Технологические карты по устранению неисправностей компонентов терминала.

    дипломная работа [1,2 M], добавлен 11.10.2015

  • Обоснование необходимости разработки сайта и основные требования его функционалу. Анализ процесса обработки информации и выбор структур данных для ее хранения. Реализации программного продукта, а также принципы его настройки, тестирования и отладки.

    дипломная работа [4,3 M], добавлен 19.01.2017

  • Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.

    отчет по практике [272,2 K], добавлен 29.12.2014

  • Разработка комплекса алгоритмов. Кодирование и компиляция. Тестирование, отладка, испытание и сдача программы. Минимальные системные требования для использования Delphi 7. Написание программы с использованием инструментального языка высокого уровня.

    курсовая работа [2,7 M], добавлен 21.02.2011

  • Анализ программных средств (операционных систем), необходимых для реализации учебных задач компьютерного класса. Особенности Windows XP, Linux Mandriva. Информационная модель настройки сервера на примере Windows Server 2008, его программное обеспечение.

    дипломная работа [4,7 M], добавлен 21.09.2012

  • Цели разработки корпоративной сети на уровне предприятия. Проектирование доменной структуры. Развертывание служб терминалов. Организация доступа в сеть Internet на базе сервисного оборудования. Разработка стратегии виртуализации операционных систем.

    курсовая работа [1,6 M], добавлен 07.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.