validator cnp - clasa delphi • bitcell
DESCRIPTION
algoritm validare-generare CNP RomaniaTRANSCRIPT
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
BitCellYour IT power source
9 posts Page 1 of 1
Validator CNP - clasa Delphiby DarkByte 11 Jun 2011, 19:50
DarkByte11011011 Joined: 29 Dec 2009Status: 140
Welcome to BitCell. Click here to register !
Validator CNP - clasa Delphi
Board index Programare Desktop Pascal / Delphi Tutoriale Delphi
RSS FAQ Register Login
Acum cativa ani am fost interesat ce se ascunde in cifrele unui CNP ... bineinteles, in afarade lucrurile evidente, cum ar fi data nasterii sau sexul. In plus, am fost curios daca oricesir de 13 cifre reprezinta un CNP - ceea ce, evident, nu este adevarat.
Sa vedem cum arata structura unui CNP:
S AA LL ZZ JJ NNN C
S - evident, sexul. 1 pentru barbati, 2 pentru femei. Un lucru mai putin evident esteca aceasta cifra este folosita si pentru a specifica secolul sau persoane straine, infelul urmator:
1 si 2 - barbat sau femeie, secolul XX3 si 4 - barbat sau femeie, secolul XIX5 si 6 - barbat sau femeie, secolul XXI7 si 8 - persoane straine rezidente in Romania - se subintelege secolul XX9 - persoane straine
AA - anul nasterii - care depinde si de prima cifra, dupa cum am specificat mai susLL - luna nasterii, o valoare pe doua cifre. Poate lua valori doar intre 01 si 12ZZ - ziua nasterii, tot pe doua cifre. Poate lua valori intre 01 si 31, in functie de lunasi anJJ - judetul in care a fost inregistrat CNP-ul. Poate lua valori intre 01 si 52(nealocand niciun judet valorilor intre 47 si 50).NNN - dupa cate zice Wikipedia, un numar intre 1 si 999, unic per judet.C - cifra de control. Pentru verificare, se iau primele 12 cifre din CNP si se inmultesccu numarul 279146358279 (cifra cu cifra) si se aduna produsele. Suma aceasta seimparte intreg cu rest la 11 - daca restul e 10, se considera 1. Daca acest rest esteegal cu cifra de control, CNP-ul este (sau poate fi !) valid.
Lista oraselor o puteti gasi aici (multumesc, Daniela !) sau pe Wikipedia.
Pentru a usura (si a evita erorile) validarea CNP-urilor, am implementat o clasa care expunedoar proprietati read-only. Codul a fost scris in Delphi 7 si ar trebui sa compileze corect,fara modificari, pe orice versiune mai noua de Delphi.
LINE NUMBER ON/OFF | EXPAND/CONTRACT | SELECT ALL
1. unit uCNP;2. 3. (*4. 5. uCNP class - THE way to check for a CNP (cod numeric
Bitcell
Like 189
Advanced search
Board index Search FAQ Login Register
Post a reply
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
personal) validity in Delphi6. 7. Instantiate an uCNP object, use "SetCNP" to set and verify
a CNP and check if "ValidCNP".8. If it's valid, you can get the birthday (in a TDate
format or as integers - year, month, day),9. the sex and the town encoded in the CNP.
10. 11. by DarkByte - http://www.bitcell.info12. 13. You're allowed to use and modify this source freely, if
you don't remove this notice !14. 15. *)16. 17. interface18. 19. uses SysUtils, Controls, DateUtils;20. 21. type22. TSex = (sInvalid = -1,23. sMale = 0,24. sFemale = 1);25. 26. TCNP = class(TObject)27. private28. CNP: String;29. 30. FValidCNP: Boolean;31. FSex: TSex;32. 33. FYear: Word;34. FMonth: Word;35. FDay: Word;36. FBirthDay: TDate;37. 38. FAgeInYears: Integer;39. FAgeInMinutes: Cardinal;40. Today: TDateTime;41. 42. FTown: Byte;43. FTownName: String;44. 45. function ContainsOnlyDigits: Boolean;46. function MatchesControlDigit: Boolean;47. function DateIsValid: Boolean;48. 49. function IsValidCNP: Boolean;50. 51. procedure ParseCNPData;52. published53. property ValidCNP: Boolean read FValidCNP;54. 55. property Sex: TSex read FSex;56. 57. property Year: Word read FYear;58. property Month: Word read FMonth;59. property Day: Word read FDay;60. property BirthDay: TDate read FBirthDay;61. 62. property Age: Integer read FAgeInYears;63. property AgeInMinutes: Cardinal read FAgeInMinutes;64. 65. property Town: Byte read FTown;66. property TownName: String read FTownName;67. public68. procedure SetCNP(aCNP: String; aToday: TDateTime = -1);69. end;70. 71. const72. Judete: array [0 .. 52] of String =73. ('N/A', 'Alba', 'Arad', 'Arges', 'Bacau', 'Bihor',
'Bistrita Nasaud', 'Botosani',74. 'Brasov', 'Braila', 'Buzau', 'Caras-Severin',
'Cluj', 'Constanta', 'Covasna',75. 'Dambovita', 'Dolj', 'Galati', 'Gorj', 'Harghita',
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
'Hunedoara', 'Ialomita',76. 'Iasi', 'Ilfov', 'Maramures', 'Mehedinti', 'Mures',
'Neamt', 'Olt', 'Prahova',77. 'Satu Mare', 'Salaj', 'Sibiu', 'Suceava',
'Teleorman', 'Timis', 'Tulcea',78. 'Vaslui', 'Valcea', 'Vrancea', 'Bucuresti',
'Bucuresti S1', 'Bucuresti S2',79. 'Bucuresti S3', 'Bucuresti S4', 'Bucuresti S5',
'Bucuresti S6',80. '-', '-', '-', '-', 'Calarasi', 'Giurgiu');81. 82. SexType: array [TSex] of String = ('N/A', 'Masculin',
'Feminin');83. 84. implementation85. 86. const87. PCP: array [1 .. 12] of Byte = (2, 7, 9, 1, 4, 6, 3, 5,
8, 2, 7, 9);88. 89. Months: array [1 .. 12] of Byte = (31, 28, 31, 30, 31,
30, 31, 31, 30, 31, 30, 31);90. 91. procedure TCNP.SetCNP(aCNP: String; aToday: TDateTime = -1);92. begin93. CNP := aCNP;94. if (aToday -1)95. then Today := aToday96. else Today := NOW;97. 98. FValidCNP := IsValidCNP;99.
100. if not FValidCNP then101. begin102. FSex := sInvalid;103. FYear := 0;104. FMonth := 0;105. FDay := 0;106. FBirthDay := 0;107. 108. FAgeInYears := -1;109. FAgeInMinutes := 0;110. 111. FTown := 0;112. FTownName := Judete[0];113. end;114. end;115. 116. function TCNP.ContainsOnlyDigits: Boolean;117. var118. lIndex: Integer;119. begin120. Result := True;121. 122. if (Length(CNP) 13) then123. begin124. Result := False;125. Exit;126. end;127. 128. for lIndex := 1 to 13 do129. begin130. if (Ord(CNP[lIndex]) < 48) and (Ord(CNP[lIndex]) >
57) then131. begin132. Result := False;133. Break;134. end;135. end;136. end;137. 138. function TCNP.MatchesControlDigit: Boolean;139. var140. lIndex: Integer;141. lSuma, lRest: Word;
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
Un program demonstrativ (sursa si executabil) care foloseste aceasta clasa poate fi gasit inatasament - vedeti screenshot-ul atasat:
142. begin143. lSuma := 0;144. for lIndex := 1 to 12 do145. lSuma := lSuma + (Ord(CNP[lIndex]) - 48) * PCP[lIndex];146. 147. lRest := lSuma mod 11;148. if (lRest = 10) then149. lRest := 1;150. 151. Result := (Chr(lRest + 48) = CNP[13]);152. end;153. 154. function TCNP.DateIsValid: Boolean;155. var156. lLeapYear: Boolean;157. begin158. Result := True;159. FYear := 1900 + StrToInt(Copy(CNP, 2, 2));160. case CNP[1] of161. '3', '4': Dec(FYear, 100);162. '5', '6': Inc(FYear, 100);163. end;164. 165. lLeapYear := IsInLeapYear(FYear);166. FMonth := StrToInt(Copy(CNP, 4, 2));167. FDay := StrToInt(Copy(CNP, 6, 2));168. FTown := StrToInt(Copy(CNP, 8, 2));169. 170. if (lLeapYear and (months[FMonth] < FDay) and (FMonth
2) and (FDay 29))171. then Result := False172. else FBirthDay := EncodeDate(FYear, FMonth, FDay);173. end;174. 175. procedure TCNP.ParseCNPData;176. begin177. if Odd(StrToInt(CNP[1]))178. then FSex := sMale179. else FSex := sFemale;180. 181. FTown := StrToInt(Copy(CNP, 8, 2));182. FTownName := Judete[FTown];183. 184. FAgeInYears := YearsBetween(FBirthDay, Today);185. FAgeInMinutes := MinutesBetween(FBirthDay, Today);186. end;187. 188. function TCNP.IsValidCNP: Boolean;189. begin190. Result := ContainsOnlyDigits and MatchesControlDigit and
DateIsValid;191. if Result then192. ParseCNPData;193. end;194. 195. end.
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
mi place 0 5p / 1 votes
ATTACHMENTS
CNP Check.zip(219.4 KiB) Downloaded 122 times
Re: Validator CNP - clasa Delphiby ori 12 Jun 2011, 01:20
oriBit Joined: 10 Jun 2011Status: 0
Bafta !
Limba romana - Termeni de utilizare - Sa vorbim corect
SUUUPER!!! Este perfect.Am completat si cu varsta, in rest n-am modificat nimic.
LINE NUMBER ON/OFF | EXPAND/CONTRACT | SELECT ALL
1. unit cnpUnit1;2. 3. interface4. 5. uses6. Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,7. Dialogs, StdCtrls, XPMan, uCNP;8. 9. type
10. TForm1 = class(TForm)11. edtCNP: TEdit;12. Label1: TLabel;13. Label2: TLabel;14. edtSex: TEdit;15. Label3: TLabel;16. edtBirthday: TEdit;17. Button1: TButton;18. Label4: TLabel;19. edtTown: TEdit;20. XPManifest1: TXPManifest;21. Label5: TLabel;22. Label6: TLabel;23. edtAge: TEdit;24. procedure FormCreate(Sender: TObject);25. procedure Button1Click(Sender: TObject);26. private27. { Private declarations }28. public29. { Public declarations }30. CNP: TCNP;31. end;32. 33. var34. Form1: TForm1;35. 36.
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
mi place 0 0,0p / 0 votes
P.S. Am reusit de am compilat si codul lui Sharky in Free Pascal (interfata programului =
BIG DIFFERENCE ). Este ok.
Va multumesc tuturor pt. ajutor.
implementation37. 38. {$R *.dfm}39. 40. function CalculVarsta(Birthday, CurrentDate: TDate):
Integer;41. var42. Month, Day, Year, CurrentYear, CurrentMonth, CurrentDay:
Word;43. begin44. DecodeDate(Birthday, Year, Month, Day);45. DecodeDate(CurrentDate, CurrentYear, CurrentMonth,
CurrentDay);46. if (Year = CurrentYear) and (Month = CurrentMonth) and
(Day = CurrentDay) then47. begin48. Result := 0;49. end50. else51. begin52. Result := CurrentYear - Year;53. if (Month > CurrentMonth) then54. Dec(Result)55. else56. begin57. if Month = CurrentMonth then58. if (Day > CurrentDay) then59. Dec(Result);60. end;61. end;62. end;63. 64. procedure TForm1.FormCreate(Sender: TObject);65. var66. Style: DWord;67. begin68. Style := GetWindowLong(edtCNP.Handle, GWL_STYLE);69. SetWindowLong(edtCNP.Handle, GWL_STYLE, Style or ES_NUMBER
or ES_CENTER);70. 71. CNP := TCNP.Create;72. end;73. 74. procedure TForm1.Button1Click(Sender: TObject);75. begin76. CNP.SetCNP(edtCNP.Text);77. 78. if CNP.ValidCNP79. then80. begin81. edtSex.Text := SexType[CNP.Sex];82. edtBirthday.Text := DateToStr(CNP.BirthDay);83. edtAge.Text :=
Format('%d',[CalculVarsta((CNP.BirthDay), Date)]);84. edtTown.Text := CNP.TownName;85. edtCNP.Color:=clWhite;86. end87. else88. begin89. ShowMessage('CNP-ul nu este corect!');90. edtCNP.Focused;91. edtCNP.Color:=clRed;92. end;93. end;94. 95. end.
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
mi place 0 0,0p / 0 votes
Re: Validator CNP - clasa Delphiby DarkByte 12 Jun 2011, 10:02
DarkByte11011011 Joined: 29 Dec 2009Status: 140
mi place 0 0,0p / 0 votes
Re: Validator CNP - clasa Delphiby ori 12 Jun 2011, 14:02
oriBit Joined: 10 Jun 2011Status: 0
mi place 0 0,0p / 0 votes
Re: Validator CNP - clasa Delphiby RaverX 13 Jun 2011, 00:52
RaverXBit Joined: 06 Jan 2010Status: 0
mi place 0 0,0p / 0 votes
Re: Validator CNP - clasa Delphiby DarkByte 13 Jun 2011, 01:23
DarkByte11011011 Joined: 29 Dec 2009Status: 140
Re: Validator CNP - clasa Delphiby v0id 13 Jun 2011, 21:40
v0idWord
Ma bucur ca ti-e de folos, ori.
Am, totusi, niste comentarii legate de cum folosesti clasa de validare - ai luat proprietateaBirthDay, expusa de clasa, si ai decodat-o in Year, Month, Day ... care sunt si ele expuse
Al doilea comentariu este legat de modul in care calculezi varsta : se putea calcula maiusor cu YearsBetween. Either way, am facut update clasei de validare a CNP-urilor pentru a
expune proprietatile "Age" si "AgeInMinutes" (a doua e ... "just in case" ) si am adaugatmodificarile in primul post (am modificat si programul demonstrativ).
Bafta !
Limba romana - Termeni de utilizare - Sa vorbim corect
Pai da. Mult mai elegant si corect.
Poate faci si un CNP generator Sa poti baga data nasterii si orasul si sa-ti genereze un CNP valid ...
M-am gandit si la asta, dar nu asta a fost scopul acestui topic
Limba romana - Termeni de utilizare - Sa vorbim corect
Nice one.
Ma bucur ca printre altele am aflat si eu de ce incepe CNP-ul lui Vlad al meu cu 5 N-amavut timp sa ma documentez, deci asta a picat la fix.Acum mai am o singura curiozitate: ce-or sa faca astia cand se va ajunge ca CNP-ul sainceapa cu numarul 10? Vor trece la hex (A) sau CNP-urile vor avea cu o cifra mai mult
-
Validator CNP - clasa Delphi BitCell
http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html[7/2/2013 10:10:09 PM]
mi place 0 0,0p / 0 votes
Joined: 05 Jan 2010Location: 127.0.0.1Status: 42.5
mi place 0 0,0p / 0 votes
Re: Validator CNP - clasa Delphiby DarkByte 13 Jun 2011, 21:41
DarkByte11011011 Joined: 29 Dec 2009Status: 140
mi place 0 0,0p / 0 votes
Re: Validator CNP - clasa Delphiby zoltan.satmari 14 Jun 2011, 07:38
zoltan.satmariBit Joined: 25 May2011Status: 0
9 posts Page 1 of 1
Return to Tutoriale Delphi
Display posts from previous: All posts Sort by Post time Ascending
Jump to: Tutoriale Delphi
WHO IS ONLINE
Users browsing this forum: No registered users and 0 guests
Powered by phpBB phpBB Group
decat acum?
A good coder is never on holiday - he may be working on a different machine, that's about asfar as it gets.
We can only wait and see - and hope for the best ! Daca se trezeste vreun cretin samodifice structura CNP-ului, am incurcat-o - not to mention ca nici structura actuala nu ecine stie ce ...
Limba romana - Termeni de utilizare - Sa vorbim corect
Offtopic
Parteneri WorldIT.info Evenimente Trafic Ziua Programatorilor in Romania
Board index Sitemap The team Delete all board cookies All times are UTC + 2 hours [ DST ]
Post a reply
bitcell.infoValidator CNP - clasa Delphi BitCell
FzYS1kZWxwaGktdDcxOC5odG1sAA==: form1: keywords: Search this topicinput3: keywords_(1): Searchinput3_(1):
Rpb24lM0RwYXJlbnQucGFyZW50AA==: form0: button0:
hlbWU9bGlnaHQmaGVpZ2h0PTIxAA==: form0: lsd: AVqAp_tZhref: http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3691action: likenobootload: iframe_referer: http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref: button0: lsd_(1): AVqAp_tZhref_(1): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3691action_(1): likenobootload_(1): iframe_referer_(1): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1): lsd_(1)_(2): AVq0sQimhref_(1)_(2): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3695action_(1)_(2): likenobootload_(1)_(2): iframe_referer_(1)_(2): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2): button0_(1): lsd_(1)_(2)_(3): AVq0sQimhref_(1)_(2)_(3): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3695action_(1)_(2)_(3): likenobootload_(1)_(2)_(3): iframe_referer_(1)_(2)_(3): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3): lsd_(1)_(2)_(3)_(4): AVqsEE8ihref_(1)_(2)_(3)_(4): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3696action_(1)_(2)_(3)_(4): likenobootload_(1)_(2)_(3)_(4): iframe_referer_(1)_(2)_(3)_(4): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4): button0_(1)_(2): lsd_(1)_(2)_(3)_(4)_(5): AVqsEE8ihref_(1)_(2)_(3)_(4)_(5): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3696action_(1)_(2)_(3)_(4)_(5): likenobootload_(1)_(2)_(3)_(4)_(5): iframe_referer_(1)_(2)_(3)_(4)_(5): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5): lsd_(1)_(2)_(3)_(4)_(5)_(6): AVo48A1Ohref_(1)_(2)_(3)_(4)_(5)_(6): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3697action_(1)_(2)_(3)_(4)_(5)_(6): likenobootload_(1)_(2)_(3)_(4)_(5)_(6): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6): button0_(1)_(2)_(3): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7): AVo48A1Ohref_(1)_(2)_(3)_(4)_(5)_(6)_(7): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3697action_(1)_(2)_(3)_(4)_(5)_(6)_(7): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): AVqCDwEQhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3709action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): button0_(1)_(2)_(3)_(4): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9): AVqCDwEQhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3709action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10): AVrds4dvhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3712action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10): button0_(1)_(2)_(3)_(4)_(5): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11): AVrds4dvhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3712action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12): AVp_Zwbvhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3752action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12): button0_(1)_(2)_(3)_(4)_(5)_(6): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13): AVp_Zwbvhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3752action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14): AVq_WYOkhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3753action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14): button0_(1)_(2)_(3)_(4)_(5)_(6)_(7): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15): AVq_WYOkhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3753action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16): AVrZn1LPhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3757action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16): button0_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8): lsd_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16)_(17): AVrZn1LPhref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16)_(17): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.html?sid=b0b81f0d113140b2ad15f1d22f57eee7#p3757action_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16)_(17): likenobootload_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16)_(17): iframe_referer_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16)_(17): http://www.bitcell.info/validator-cnp-clasa-delphi-t718.htmlref_(1)_(2)_(3)_(4)_(5)_(6)_(7)_(8)_(9)_(10)_(11)_(12)_(13)_(14)_(15)_(16)_(17):
FzYS1kZWxwaGktdDcxOC5odG1sAA==: form57: st: 0sk: tsd: asort:
FzYS1kZWxwaGktdDcxOC5odG1sAA==: form66: f: 27input5: