3 рдЬреА / рдЬреАрдПрд╕рдПрдо рдореЙрдбрдо рд╕реЗ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдирд╛

рд╣рд╛рдп рд╣рдорд░ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рдПрдХ рдЬреАрдПрд╕рдПрдо рдореЙрдбрдо, рдпрд╛ рдмрд▓реНрдХрд┐, рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдиреАрдЪреЗ рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд▓реНрдлреА рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдореЙрдбреЗрдо рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ / рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдордЯреАрдПрд╕ рд╕реЗ рдПрдХ рд╣реБрд╡рд╛рд╡реЗрдИ рдореЙрдбреЗрдо рдерд╛ред рд╕рднреА, рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред

рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЬрдиреНрдо


рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рджреБрдХрд╛рдиреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкреНрд░рддрд┐ рджрд┐рди рдкреНрд░рддреНрдпреЗрдХ рджреБрдХрд╛рди рдХреЗ рд▓рд┐рдП рд░рд╛рдЬрд╕реНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреЛ рджреИрдирд┐рдХ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдмрд┐рдХреНрд░реА рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗрдВрджреНрд░реАрдп рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдЬрдорд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕реЗ рдореБрдЦрд┐рдпрд╛ рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд╛рдорд╛рдиреНрдп рдирд┐рджреЗрд╢рдХ (рдЧреНрд░рд╛рд╣рдХ) рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╕реНрдд рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рдФрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реЗ рд╕рдордп рдкрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдЯреЛрд░ рд░рд╛рдЬрд╕реНрд╡ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрдВрдЯрд░рдиреЗрдЯ рдХрднреА-рдХрднреА рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рд╣рдореЗрд╢рд╛ рд╣рд╛рде рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕реЗ рдЕрдкрдиреЗ рдлреЛрди рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЛрд░ рдкрд░ рд░рд╛рдЬрд╕реНрд╡ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдФрд░ рдПрдХ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдкрдардиреАрдп рд░реВрдкред

рдПрд╕рдПрдордПрд╕ рдЙрджрд╛рд╣рд░рдг:

08.11.2011
1. A, 123045 .
2. B, 134520 .
3. C, 215403 .
...
08.11.2011
1. A, 123045 .
2. B, 134520 .
3. C, 215403 .
...
;
рдЬреИрд╕рд╛ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛, рдпрд╣ рд╡рд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред

рдкрд╣рд▓реЗ рдпрд╣ рдПрдХ рдЧреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдм рдХрдИ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рд╣рдХ рдиреЗ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рддреБрд░рдВрдд рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рджреИрдирд┐рдХ рд░рд╛рдЬрд╕реНрд╡ рдкрд░ рдбреЗрдЯрд╛ рдПрдХ рдмрд╣реБрдд рдЧреЛрдкрдиреАрдп рдмрд╛рдд рд╣реИред рддрдм рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдлреЛрди рд╕реЗ рдмрд╕ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдлреЛрди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдпреВрдПрд╕рдмреА рдореЙрдбреЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдерд╛ред

рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ


рдмреЗрд╢рдХ, рдореБрдЭреЗ COM рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдЯреА рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбреЗрдо рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдЯреА рдХрдорд╛рдВрдб рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ 5 рдЯреАрдореЗрдВ рд▓рдЧреАрдВ:

AT + CMGF - рдСрдкрд░реЗрд╢рди рдореЛрдб рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ: 0-рдбрд┐рдЬрд┐рдЯрд▓ рдпрд╛ 1-рдЯреЗрдХреНрд╕реНрдЯред рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдмрд╛рдж рдХреЗ рдХрдорд╛рдВрдб рдФрд░ рдореЙрдбреЗрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

AT + CMGS - рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реБрдП, рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рджреГрдврд╝рддрд╛ рд╕реЗ рдореЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рд╕реЗ)ред

рдПрдЯреА + рд╕реАрдПрдордЬреАрдПрд▓ - рдореЙрдбреЗрдо рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдВрдЪ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐, рдореЛрдб (рдПрдЯреА + рд╕реАрдПрдордЬреАрдПрдл) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдбрд┐рдЬрд┐рдЯрд▓ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЫрд╡рд┐

AT + CMGD - рдПрдХ рд╕рдВрджреЗрд╢ рдХреЛ рдореЙрдбреЗрдо рд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рд╕рдВрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдПрдЯреА + рд╕реАрдПрдордЬреАрдЖрд░ - рдореЙрдбреЗрдо рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкрдврд╝рдирд╛, рд╕рдВрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ рднреА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ред

рдкрд╣рд▓рд╛ рдкрд░рд┐рдгрд╛рдо


рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж (рдкрд░реАрдХреНрд╖рдг / рддреНрд░реБрдЯрд┐) рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрдХ рдореЙрдбреЗрдо рд╕реЗ рдПрдХ рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдирд┐рдпрдорд┐рдд рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рд╕реЗ рдХрд░рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ "рдПрдЯреА + рд╕реАрдПрдордЬреАрдПрд╕" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рд╛рдЗрдкрд░рдЯрд░реНрдо рдЦреЛрд▓рд╛, рдореЙрдбреЗрдо рд╕реЗ рдЬреБрдбрд╝рд╛ (COM рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рдФрд░ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рд╕реНрдХреНрд░рд┐рдмреНрд▓реНрдб рдХрд┐рдпрд╛:
 AT+CMGF=1 [Enter] AT+CMGS=+79261234567 [Enter] hello habr, this is test message [Ctrl+Z] 

рдбреЗрд▓реНрдлреА рдореЗрдВ рдЙрд╕реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 procedure SendSMS(AComPort: integer; AMsg: String; ANumTel: String); var hFile: THandle; procedure WriteStr(AStr: String); //     var LWrited: Cardinal; begin //   WriteFile(hFile, PAnsiChar(AStr)^, Length(AStr), LWrited, nil); end; begin //  hFile := Windows.CreateFile(PChar('\\.\COM' + IntToStr(AComPort)), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); //  if (hFile <> INVALID_HANDLE_VALUE) then begin try //   WriteStr('AT+CMGF=1' + #$D#$A); //    "+79xxxxxxxxx" WriteStr('AT+CMGS="'+ANumTel+'"' + #$D#$A); //  ,   WriteStr(AMsg + #$D#$A#$1A); finally //  Windows.CloseHandle(hFile); end; end; end; 

рд╡реЛрдЗрд▓рд╛, рдФрд░ рдкреЙрдХреЗрдЯ-рдЖрдХрд╛рд░ рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдиреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдШрдЯрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреАред
рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдЗрд╕ рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рдордп рдореБрдЭ рдкрд░ рдЬреЛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рднрд╛рд╡рдирд╛рдПрдБ рдкреИрджрд╛ рд╣реБрдИрдВ, рд╡рд╣ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдирд╣реАрдВ рд░рд╣реАрдВ, рдпрд╛ рддрдм рддрдХ рдареАрдХ-рдард╛рдХ рд░рд╣реАрдВ рдЬрдм рддрдХ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓ рдЧрдпрд╛ рдХрд┐ рд░реВрд╕реА рдкрд╛рда рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд░реВрд╕реА рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореЛрдб рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рд╕реЗ рдбрд┐рдЬрд┐рдЯрд▓ (рдПрдЯреА + рд╕реАрдПрдордЬреАрдПрдл = 0) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕рдВрджреЗрд╢ рдХреЛ рд╕реНрд╡рдпрдВ рдпреВрд╕реАрдПрд╕ 2 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЕрдЧрд░ рдХрдо рд╕реЗ рдХрдо рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рддреЛ рджреВрд╕рд░реЗ рдХреЛ рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

UCS рдореЗрдВ рдкрд╛рда рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд (рдлрд┐рд░ рдбреЗрд▓реНрдлреА рдкрд░):

 function UCSToAnsi(AStr: AnsiString): AnsiString; function Convert(ACnvStr: AnsiString): AnsiChar; var j: integer; begin j := StrToIntDef('$'+ACnvStr, 0); case j of 1040..1103: j := j - 848; 1105: j := 184; end; Result := Chr(j); end; var c, i: integer; begin Result := ''; c := Length(AStr) div 4; for i := 0 to c - 1 do Result := Result + Convert(Copy(AStr, i*4+1, 4)); end; function AnsiToUCS(AStr: AnsiString): AnsiString; function Convert(AChar: AnsiChar): AnsiString; var j: integer; begin Result := ''; j := ord(AChar); case j of 192..255: j := j + 848; 184: j := 1105; end; Result := IntToHex(j, 4) end; var c, i: integer; begin Result := ''; c := Length(AStr); for i := 1 to c do Result := Result + Convert(AStr[i]); end; 

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдирд┐рдХрд▓рд╛ред рдпрджрд┐ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдореЙрдбреЗрдо рдХреЛ рднреЗрдЬрд╛ рдерд╛:
 AT+CMGF=1 [Enter] AT+CMGS=+79261234567 [Enter] hello habr, this is test message [Ctrl+Z] 

рддрдм рд░реВрд╕реА рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
 AT+CMGF=0 [Enter] AT+CMGS=84 [Enter] 0011000B919762214365F70008C146043F04400438043204350442002004450430043 10440002C0020044D0442043E00200442043504410442043E0432043E043500200441 043E043E043104490435043D04380435 [Ctrl+Z] 

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореЛрдб рд╕реНрд╡рд┐рдЪ (рдбрд┐рдЬрд┐рдЯрд▓ рдореЗрдВ), рдлрд┐рд░ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (84), рдФрд░ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдлреЛрди рдирдВрдмрд░, рд╕рдВрджреЗрд╢ рдкрд╛рда рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЬреИрд╕реЗ: рдПрд╕рдПрдордПрд╕ рдХреЗрдВрджреНрд░ рд╕рдВрдЦреНрдпрд╛, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрджрд┐)ред

рдбреЗрд▓реНрдлреА рдЙрджрд╛рд╣рд░рдг:

 procedure SendSMSMessage(AComPort: integer; AMsg: String; ANumTel: String); var Lng, i: Integer; LRead, LText, LMes, LTel, ANum: String; hFile: THandle; procedure WriteStr(AStr: String); var LWrited: Cardinal; begin //   WriteFile(hFile, PAnsiChar(AStr)^, Length(AStr), LWrited, nil); end; begin //  hFile := Windows.CreateFile(PChar('\\.\COM' + IntToStr(AComPort)), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); //  if (hFile <> INVALID_HANDLE_VALUE) then begin ANum := ANumTel; if (Length(ANum) mod 2) = 1 then ANum := ANum + 'F'; for i := 1 to Length(ANum) do if i mod 2 = 0 then LTel := LTel + ANum[i] + ANum[i-1]; LText := AnsiToUCS(AMsg); //    SMS . 0 - ,     . LMes := '00'; // SMS-SUBMIT LMes := LMes + '11'; //    . 0 -      . LMes := LMes + '00'; //    LMes := LMes + IntToHex(Length(ANumTel), 2); // -. (91     , 81 -  ). LMes := LMes + '91'; //      . LMes := LMes + LTel; //   LMes := LMes + '00'; //     SMS     (Flash SMS),   - (0- 8-). LMes := LMes + '08'; //   . 1 -  LMes := LMes + 'C1'; //   . LMes := LMes + IntToHex(Trunc(Length(LText)/2),2); LMes := LMes + LText; Lng := Round((Length(LMes)-2)/2); WriteStr('AT+CMGF=0' + #$D#$A); WriteStr('AT+CMGS=' + StrToInt(Lng) + #$D#$A); WriteStr(LMes + #$D#$A#$1A); Windows.CloseHandle(hFile); end; end; 

рд╡рд┐рдЪрд╛рд░ рд╡рд┐рдХрд╛рд╕


рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рдЦреБрд╢ рдерд╛ рдЬрдм рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд░реВрд╕реА рдкрд╛рда "рдмрджрдорд╛рд╢" рдХреЗ рдмрдЬрд╛рдп рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдЖрдпрд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдЕрдЧрд▓реЗ рджрд┐рди рдореИрдВрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛, рдФрд░ рд╕рдм рдХреБрдЫ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рд░рд╛рдЬрд╕реНрд╡ рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдлрд╝реЛрди рдкрд░ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреАрд╡рди рдПрдХ рд╕рдлрд▓рддрд╛ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдерд╛ред рд▓рдЧрднрдЧ рдПрдХ рд╣рдлреНрддреЗ рдмрд╛рдж, рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдореБрдЭреЗ рдЖрд╡реЗрджрди рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛, рдЕрд░реНрдерд╛рддреН рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рдХрд┐ рдЙрд╕реЗ рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рдПрд╕рдПрдордПрд╕ рдорд┐рд▓реЗ:
08.11.2011
1. A, 123045 .
2. B, 134520 .
3. C, 215403 .
...

рд╡рд╣ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдПрдХ рд╕реНрдЯреЛрд░ рдирдВрдмрд░ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рдЖрдПрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдЯреЛрд░ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рдеред
рдЦреИрд░, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рддрд░реНрдХ рд╕рд░рд▓ рд╣реИ: рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рднреА рджреБрдХрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рднреЗрдЬреА рдЧрдИ "рд░рд┐рдкреЛрд░реНрдЯ" рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рд╣реА рд╕рд╢рд░реНрдд рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╕реНрдЯреЛрд░ = 12"), рд╡рд╣рд╛рдВ рд╕реЗ рд╕реНрдЯреЛрд░ рдирдВрдмрд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗрдВ, рднреЗрдЬреЗ рдЧрдП рдЕрдВрддрд┐рдо рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦреЗрдВ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рддрд╣рдд рдХреНрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕ рд╕реНрдЯреЛрд░ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬреЗрдВ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдлрд┐рд▓рд╣рд╛рд▓ рдЧреНрд░рд╛рд╣рдХ рдиреЗ "рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ" рдХреЗ рдкреНрд░рд╛рд░реВрдк рдФрд░ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдлреИрд╕рд▓рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ)ред рдЙрдкрд░реЛрдХреНрдд рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЙрдбреЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдореЗрдореЛрд░реА рд╕реЗ рдПрд╕рдПрдордПрд╕ рдкрдврд╝реЗрдВ, рдПрд╕рдПрдордПрд╕ рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ (рддрд╛рдХрд┐ рдЬрдорд╛ рди рд╣реЛ)ред рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ AT + CMGR рдФрд░ AT + CMGL рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рдЙрдирдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рдкрд╣рд▓реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рд╕рднреА рдкреЛрд╕реНрдЯ рдкрдврд╝рдиреЗ рд╕реЗ рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛:
 AT+CMGF=1 [Enter] AT+CMGL="ALL" [Enter] +CMGL: 6,"REC READ","778467",,"11/09/03,18:49:40+16" 007700770077002E006D00740073002E00720075 +CMGL: 7,"REC READ","+79261234567",,"11/10/18,18:38:00+16" 04220435044104420020043F044004380435043C043000200073006D0073002004410 43E043E043104490435043D04380439002100200421043C04410020043D043D043D04 3004340430003F0021003F00210028002D005F002D00290020 [Enter] 

рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдореЗрдВ 2 рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдкрд╣рд▓реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ (рдЬреИрд╕реЗ: рдХрд┐рд╕рд╕реЗ, рдХрдм, рд╕рдВрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛), рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдХрд╛ рдкрд╛рда рд╣реЛрддрд╛ рд╣реИ (рдлрд┐рд░ рд╕реЗ, рдпреВрд╕реАрдПрд╕ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ, UCSToAnsi рдлрд╝рдВрдХреНрд╢рди рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рдПрдХ рд╕рдВрджреЗрд╢ рдкрдврд╝рдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
 AT+CMGF=1 [Enter] AT+CMGR=7 [Enter] +CMGR: "REC READ","+79261234567",,"11/10/18,18:38:00+16" 04220435044104420020043F044004380435043C043000200073006D0073002004410 43E043E043104490435043D04380439002100200421043C04410020043D043D043D04 3004340430003F0021003F00210028002D005F002D00290020 [Enter] 

рдЗрд╕реА рддрд░рд╣, рд╕рдВрджреЗрд╢ рд╡рд┐рд▓реЛрдкрди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрджреЗрд╢ + + CMGD = 7 рдкрд░ рднреЗрдЬреЗрдВ, рддреЛ рдЕрдЧрд▓реЗ AT + CMGL = "ALL" рдкрд░ рдореИрдВ рдЕрдм рд╕рдВрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ 7 рдирд╣реАрдВ рджреЗрдЦреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдФрд░ рдЗрд╕рд▓рд┐рдП, рдПрдХ рдЬреАрдПрд╕рдПрдо рдореЙрдбрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЖрдЬреНрдЮрд╛рдУрдВ рдХреЛ рднрдВрдЧ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛, рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛, рдкрдврд╝рдирд╛, рд╕рдВрджреЗрд╢ рд╣рдЯрд╛рдирд╛ рдорд╛рдирд╛ рдЧрдпрд╛ред рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХрд╛ рджрд╛рдпрд░рд╛ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдХреНрдпреЛрдВрдХрд┐ рджреЛрддрд░рдлрд╛ рд╕рдВрдЪрд╛рд░ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрддрд╛ рд╣реИ, рдореЙрдбреЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрдврд╝рддрд╛ рд╣реИ, рд╕рдВрджреЗрд╢ рдкрд╛рда рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рдгрд╛рдо рднреЗрдЬрддрд╛ рд╣реИред рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд: рдкреАрд╕реА рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрднрдХрд╛рдордирд╛рдПрдБ, рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реВрддреНрд░

Source: https://habr.com/ru/post/In133085/


All Articles