Archive

Archive for June, 2010

Program de comprimare/decomprimare fisiere executabile

2010/06/30 1 comment

UPX este un utilitar de comprimare a executabilelor pentru platforme DOS, Win32, Linux, Atari. Prezint în articolul de astăzi un program ce se doreşte a fi o interfaţă grafică pentru Windows la utilitarul upx. Ceea ce înseamnă că faţă de utilizarea Command Prompt-ului scriind în linia de comandă ceva de genul:

“D:\upx.exe” “C:\Documents and Settings\Utilizator\Desktop\SID2DXF.exe” –best –backup

se poate utiliza programul de mai jos (este vorba despre un singur fişier executabil de 573 KB) care nu necesită instalare şi nu este dependent de nici un run-time:
01

Se pot afişa/ascunde opţiunile suplimentare (ele pot fi neglijate, comprimarea executabilului ales făcându-se cu nivelul de compresie implicit -9) apăsând pe butonul Show options…/Hide options…:

02

După afişarea opţiunilor se pot afişa/ascunde informaţiile despre upx selectând butonul Show info…/Hide info… (apoi se alege categoria de informaţii: General/Bugs/Copying/License/News/Readme/Readme1st/Thanks/Todo/Log/):

03

Pentru comprimarea unui fişier executabil am ales aplicaţia realizată de mine SID2DXF care are o mărime aproximativă de 10 MB:

04

Eu aleg opţiunea de compresie –best faţă de opţiunea implicită -9 care necesită un timp de comprimare mai lung, dar permite o rată de compresie mai bună. Aleg şi opţiunea de a crea o copie de rezervă a fişierului original –backup:

05

După ce am ales opţiunile de comprimare, apăs butonul Compress şi se va lansa Command Prompt-ul ce va comprima prin utilitarul upx (inclus în UPXGui):

06

După câteva zeci de secunde, putem compara cele două fişiere şi vom constata – cel puţin în cazul prezentat – realizarea unei compresii de aproximativ 33% pentru executabilul comprimat:

07

Advertisements

Program de karaoke

2010/06/29 2 comments

Una dintre multele aplicaţii realizate de către mine este Kara-OK. Doresc a o menţiona pentru faptul că la momentul realizării, nu am găsit o aplicaţie gratuită pentru karaoke. Realizarea acesteia a durat câteva zile, ceea ce înseamnă că are înglobat un volum de muncă de peste 20 – 30 de ore de programare. Interfaţa grafică am dorit-o cât mai simplă şi intuitivă:

01

Deschiderea unui fişier mp3 se realizează accesând butonul Open situat în partea stânga-sus a ferestrei. Se va deschide o fereastră din care se alege fişierul:

02

Pentru realizarea textului pentru karaoke, se bifează apoi Edit mode (scurtătură tastatură – E):

03

Apoi se adaugă proiectului un fişier text, cu versurile melodiei prin scurtătura de la tastatură Ctrl+Ins (Open the lyrics file):

04

Se alege fişierul ce conţine versurile:

05

Odată ce s-au adăugat fişierele de muzică şi de versuri, se trece la realizarea sincronizării acestora, apăsând pe tastele Home şi End în timpul derulării melodiei, pentru a seta poziţia afişării versului curent:

06

După ce s-a creat sincronizarea, se va salva fişierul cu versuri (va avea formatul unui fişier de subtitrări – SUB). Pentru a se testa afişarea versurilor o dată cu melodia, se va debifa Edit mode:

07

Se poate seta ca versurile să apară pe tot ecranul, pentru a fi citite mai uşor:

08

Aplicaţia permite lucrul cu liste de melodii, având formatul PLS. Se poate afişa lista de melodii prin apăsarea pe al treilea buton de sub textul Lyrics file:

09

Încărcarea unei liste se face accesând primul buton de sub textul Playlist file din fereastra Playlist:

10

Orice fereastră a aplicaţiei se va deschide, melodia continuă să deruleze:

11

Setările aplicaţiei se pot regla fereastra de opţiuni (Options), ce se deschide prin apăsarea pe penultimul buton din fereastra principală:

12

Program de derulare automata a imaginilor scrise pe CD-DVD

Aplicaţia pe care o prezint în articolul de faţă a fost realizată pentru a însoţi o colecţie de imagini scrise pe CD/DVD. Scopul principal este de a realiza o mini-aplicaţie de prezentare inscripţionabilă pe CD/DVD pentru a derula automat imaginile. Interfaţa grafică are următorul aspect:

01

Pentru a fi lansată automat de pe CD sau DVD-ul pe care este inscripţionată la introducerea în unitatea CD-ROM/DVD-ROM, se va crea un fişier denumit Autorun.inf cu următorul text:
[Autorun]
Open=imageviewer.exe
Icon=imageviewer.ico
unde se menţionează numele fişierului executabil ce va fi lansat şi numele fişierului pictogramă afişat la inserarea CD/DVD-ului în unitatea CD-ROM/DVD-ROM.
Fişierul setari.ini este creat pentru apolicaţia ImageViewer şi conţine setările de autoderulare a imaginilor, afişarea informaţiilor, redarea muzicii (1 – pentru da şi 0 – pentru nu), intervalul (în secunde) între afişarea imaginilor şi denumirea fişierului audio (music.mp3):

02

În concluzie, pe CD trebuie să existe fişierele Autorun.inf, ImageViewer.exe, setari.ini, music.mp3 (sau alt fişier setat) şi fişierele cu imagini JPG.

Program de informare asupra starii computerului

Computer Information’s Toolbar este un program de afişare în timp real a stării computerului. Informaţii precum sistemul de operare, timpul trecut de la deschiderea calculatorului, frecvenţa procesorului şi, capacitatea memoriei RAM şi gradul de utilizare al acestora, capacitatea totală şi spaţiul ocupat pe partiţiile C: şi D:, viteza de download/upload prin reţea, rezoluţia monitorului, nivelul de încărcare al acumulatorilor (pentru laptop-uri), volumul audio master (cu posibilitate de reglare), starea CapsLock, NumLock, ScrollLock şi Insert, data şi ora curentă (cu afişarea secundelor). Aplicaţia se lipeşte de partea de sus a ecranului şi redimensionează spaţiul de lucru. Celelalte aplicaţii se vor deschide în zona rămasă sub CIT, astfel încât informaţiile afişate de acesta sunt în permanenţă vizibile. Prin accesarea meniului popup se facilitează accesul la o serie de utilitare şi aplicaţii. Aceste aplicaţii pot fi modificate prin editarea unui fişier INI:

01

Fereastra de setări permite auto-ascunderea ferestrei principale şi afişarea ei la mişcarea mouse-ului în zona de sus a ecranului (Autohide MainWindow), pornirea odată cu sistemul de operare (Autostart with Windows), gradul de transparenţă (Transparency), culorile aplicaţiei (Background color, Normal font color, Active font color, Warning color). Tot din această fereastră se poate edita lista de programe accesibile din meniul popup şi sincronizarea orei de pe internet (Synchronize Time):

02

Informaţiile despre reţea se obţin accesând Network Settings… Sunt afişate informaţii despre adresa MAC a plăcii de reţea, data şi ora conectării la reţea, timpul trecut de la conectare, viteza de download/upload curentă şi medie, capacitatea de informaţii descărcată:

03

Se poate configura o alarmă după o anumită perioadă de timp cu posibilitate de afişare a unui mesaj, redarea unui sunet, lansarea unui program, executarea unei comenzi predefinite (închiderea, repornirea computerului, intrarea în stand-by, stingerea monitorului, ş.a.):

04

La accesarea comenzii Quit (tasta Esc) se va deschide o fereastră în care se poate pe lângă închiderea sau repornirea aplicaţeii să se închidă calculatorul, trimiterea lui în stare de hibernare, repornirea, intrarea în stare de stand-by, ş.a.:

05

Se poate vedea în următoarea imagine cum se limitează o aplicaţie la zona redefinită de către CIT, lăsând vizibile informaţiile afişate:

06

Prezint în următoarea imagine un instantaneu al aplicaţiei cu utilizarea procesorului în proporţie de 1289/2500 MHz, în timp ce se descarcă informaţii de pe internet (cu o viteză de 1MB/s). Se poate vedea în partea dreaptă a aplicaţiei textul 9m care înseamnă că este setată o alarmă peste puţin mai mult de 9 minute (dacă intervalul scade sub un minut, se va afişa 59s, 58s reprezentând secundele rămase până la declanşarea alarmei):

08

Program de mecanizare (management parc auto si utilaje)

2010/06/26 46 comments

Am plăcerea de a prezenta una dintre cele mai elaborate aplicaţii realizate în exclusivitate de mine şi perfecţionată în decursul a peste 6 ani. Aceasta este utilizată în cadrul unei firme cu un parc de aproape de 300 auto şi de utilaje de peste 7 ani. FAZ v5 a fost gândită cu o interfaţă grafică foarte intuitivă, iar operatorul care lucrează cu aceasta trebuie să aibe cunoştinţe minime de utilizare a calculatorului şi să cunoască câteva noţiuni de mecanizare a utilajelor în construcţii (definiţiile pentru foaie de parcurs, fişă de activitate zilnică, consum de carburant, schimb de ulei şi altele specifice). Scopul principal al aplicaţiei este de a realiza calculul de carburant alimentat şi consumat de autovehicule şi utilaje. Însă a fost extinsă pentru a se putea ţine evidenţa actelor (roviniete, RCA, licenţe de transport, cărţi de identitate ş.a.), situaţii pentru planul de revizii şi reparaţii, situaţii pentru defalcarea prestaţiilor către obiectivele deservite de fiecare autovehicul/utilaj în parte. Necesită instalat drept sistem de operare minim WINDOWS 98. Aplicaţia ar trebui să ruleze fără probleme pe WINDOWS ME, 2000, XP, Vista sau Windows 7. Nu este garantată rularea pe versiuni mai vechi sau egale cu WINDOWS 95. Rulează bine pe un Intel Pentium II la 233MHz cu 64MB RAM (testat). Interfaţa grafică este bine interpretabilă în cazul unei rezoluţii a monitorului de 800×600, dar a fost gândita pentru a putea fi folosită pe o rezolutie minimă de 640×480. Aplicaţia este structurată în 1+10 ferestre principale, care au următoarele funcţii:

  • vizualizare a informaţiilor şi alegere a celorlalte ferestre;
  • obţinere informaţii despre aplicaţie şi despre istoricul versiunilor lansate;
  • editare a setărilor pentru întocmirea rapoartelor şi alte opţiuni);
  • închiderea/deschiderea perioadelor de prelucrare;
  • export al activităţilor maşinilor dintr-o anumită perioadă (rata de compresie maximă obţinută printr-un algoritm propriu dezvoltat pentru fişierul exportat este de aproximativ 2%);
  • import al activităţilor maşinilor exportate. Aplicaţia permite prelucrarea informaţiilor în baze de mecanizare diferite ca locaţie, permiţând unirea acestora pentru generarea rapoartelor generale comune;
  • introducere/editare nomenclatoare:
    • şoferi;
    • gestionari carburant;
    • obiective deservite în lună;
    • reparaţii;
  • introducere/editare a maşinilor (situaţie la început de lună);
  • introducere/editare a activităţilor maşinilor (a foilor de parcurs pentru autovehicule sau a rapoartelor pentru utilaje);
  • defalcarea kilometrilor, orelor de funcţionare pe fiecare obiectiv deservit în parte;
  • întocmirea documentelor rezultate din calculul fiecarei maşini, adică:
    • Fişa activităţii zilnice a maşinii selectate;
    • Lista alimentarilor, detaliată pe fiecare zi a maşinii selectate;
    • Informaţiile scrise în cartea de identitate a masinii selectate;
    • Lista pieselor schimbate în luna pe maşina selectată;
    • Raportul alimentărilor tuturor maşinilor;
    • Lista cu rapoartele prelucrate a maşinilor (zilele care în care au activitate);
    • Situaţia în lună a maşinilor (rest rezervor, alimentare, ş.a.);
    • Prestaţiile zilnice repartizate pe obiective;
    • Situaţia reparaţiilor (interval până la următoarea reparaţie);

Accesul la aplicaţie se realizează după introducerea parolei de acces. Fereastra principală afişează pe rând imagini ale autovehiculelor şi utilajelor din parc. Totodată se afişează Sfatul zilei – câte un mic mesaj despre câte o comandă sau o opţiune oferită de aplicaţie:
01 Pentru obţinerea de informaţii despre aplicaţie, se poate accesa prin F1 pagina de ajutor a aplicaţiei. Aceasta oferă informaţii despre utilizarea acesteia şi diferenţe între versiunile dezvoltate în decursul celor peste şase ani de îmbunătăţire a aplicaţiei. Se poate constata faptul că ultima versiune a fost modificată pe 16 ianuarie 2009, iar numărul de linii de cod sursă este de peste 27000:
02
Modulul de opţiuni se accesează prin scurtătura F2 sau butonul [F2] – Setari. Această fereastră este structurată pe următoarele nivele pentru setări:

  • Drept de autor;
  • Înregistrare;
  • Generale;
  • Editare diagrame;
  • Interfaţă grafică;
  • Copiere/inserare activitate;
  • Rapoarte:
    • Maşina selectată:
      • FAZ (Fişa de activitate zilnică);
      • Listă alimentări;
      • Carte de indentitate;
      • Listă piese;
    • Maşini marcate:
      • Situaţie lună;
      • Alimentări;
      • Colecţie cărţi de identitate;
      • Rapoarte FC/FP;
      • Producţie;
      • Reparaţii;
      • Pontaj;
      • Căutare piese;
    • Căutare avasată;
    • Tipărire;

Se pot vizualiza ce setări pot fi realizate în captura de ecran de mai jos. Important e de precizat că setările pot fi relizate în orice combinaţie posibilă, iar aplicaţia ţine cont de ele şi le procesează corect:
03 Modulul de editare al perioadelor de prelucrare se accesează prin butonul [F3] – Luni (comandă rapidă de la tastatură – F3). Pentru lucrul cu o anumita lună, se selectează aceasta şi se apelează comanda Deschidere lună (formatul perioadei este “AAAA-LL” unde “AAAA” reprezintă anul, iar “LL” luna). După ce s-au introdus toate datele dintr-o lună şi s-au întocmit toate verificările şi rapoartele, luna poate fi închisă pentru lucrul cu luna urmptoare. Închiderea de lună poate fi efectuată şi pe o lună deja închisă, dar acest lucru nu este recomandat datorită posibilelor modificări involuntare efectuate asupra lunii închise (resturile în rezervor şi intervalele trecute de la ultimele reparaţii vor fi actualizate):
12

Modulul de export se accesează prin butonul [F4] – Export şi permite exportul:

  • activităţilor realizate de toate autovehiculele şi utilajele, doar cele cu activitate, doar cele dintr-o anumită locaţie, sau anumite maşini selectate;
  • diagrame tahograf prelucrate;
  • cerere de înregistrare – pentru a putea utiliza aplicaţia la capacitate nelimitată;
  • export al activităţilor într-un fişier TXT – opţiune inclusă pentru compatibilitate cu alte aplicaţii de mecanizare;

04 Modulul de import se accesează prin butonul [F5] -Import şi permite importul:

  • activităţilor exportate anterior dintr-un calculator aflat într-o altă locaţie;
  • diagrame tahograf exportate anterior;
  • pieselor exportate din aplicaţia de contabilitate utilizată în cadrul firmei;
  • fişierului ce permite înregistrarea aplicaţiei;

Atât exportul cât şi importul se realizează restricţionat, ataşând o parolă la fişierul exportat/importat. Ţin să menţionez faptul că arhiva generată de program pentru aceată operaţie nu poate fi accesată de nici un arhivator existent la ora actuală, algoritmul de compresie/decompresie fiind unul original: 05 Modulul de editare al nomenclatoarelor poate fi accesat prin butonul [F6] – Nomenclatoare, în această fereastră putându-se adăuga/edita/şterge numele şoferilor, denumirile gestionarilor de carburant care alimentează cu carburant autovehiculele şi utilajele, denumirile obiectivelor deservite în cadrul lunii în curs şi denumirile reparaţiilor/reviziilor/actelor:
06 Modulul de editare al stării maşinilor (autovehicule şi utilaje) se accesează prin butonul [F7] – Masini şi este structurat pe următoarele secţiuni:

  • Identitate – în care se alege numele şoferului implicit, numărul de inventar, codul operatorului şi cartea de identitate;
  • Calcul – aici putându-se modifica tipul de calcul pentru consumul de carburant, consumurile normate (la suta de kilometri sau pe oră de funcţionare, restul în rezervor la începutul lunii, viteza medie de deplasare, tarife de deplasare/exploatare/marfă);
  • Gestionari – aici se pot adăuga gestionarii care au dreptul de alimentare pentru maşina selectată (gestionarii disponibili sunt adăugaţi în modulul Nomenclatoare);
  • Obiective – aici se pot adăuga obiectivele deservite de maşina selectată (pentru adăugarae unui obiectiv nou în lista celor disponibile, se accesează modulul Nomenclatoare);
  • Reparaţii – se pot adăuga reparaţii noi, apoi se personalizează prin accesarea butonului Editare reparaţie;
  • Remorci – se poate ataşa pentru maşina selectată o remorcă implicită, putându-se schimba temporar în momentul introducerii foii de parcurs – utilă pentru a se ţine evidenţa nivelului de uzură al remorcilor;
  • Documente – permite ataşarea de imagini scanate ale documentelor pentru a putea fi tipărite copii în caz de nevoie;

07 După adăugarea reparaţiilor, acestea pot fi editate prin accesarea butonului 3. Editare reparaţie >>. Se va deschide o fereastră de dialog în care se vor introduce:

  • intervalele trecute şi permise între două reparaţii (kilometri, ore de funcţionare, zile, marfă sau carburant consumat);
  • operaţiile efectuate la atingerea termenului şi numărul acestora (este utilă în cazul în care trebuie efectuate anumite operaţii sau se consumă o listă de materiale);
  • data aproximativă de efectuare a reparaţiilor sau termenul de schimbare al actelor;
  • se mai poate adăuga un comentariu la fiecare reparaţie, pentru a se ţine cont de anumite indicaţii oferite de şofer sau de către alte persoane;

08 Modulul Activităţi, producţie, întreţinere se accesează prin butonul [F8] – Activităţi. În această fereastră se introduc datele din foile de parcurs:

  • Activităţi – numărul foii de parcurs, şoferul şi pontajul acestuia, coeficient de climă (dacă este cazul – spre exemplu eu am utilizat un coeficient de 1.1 aplicat la consumul normat pentru utilizarea pe timp de iarnă la temperaturi mai mici de 0 grade Celsius), alimentările cu carburant (gestionar, tip alimentare – lichid, BCF, bani, bon fiscal, card – , valoare, cantitate, număr bon de consum), distanţa parcursă (cu posibilitate de distribuire pe 6 categorii de drum ), timp de exploatare (în cazul utilajelor);
  • Producţie – aici se realizează distribuţia pe obiective a prestaţiilor realizate de maşină (distanţă parcursă – în kilometri echivalenţi, timp de funcţionare şi marfă);
  • Întreţinere – se bifează reviziile efectuate în ziua selectată, se vor scrie piesele înlocuite (denumire, bucăţi, număr bon consum, preţ);

Calculul consumului de combustibil pentru autovehicule şi utilaje se calculează după modalitatea simplă de calcul în care se cunoaşte consumul de carburant normat, restul în rezervor la o anumită dată şi distanţa parcursă zilnic sau timpul de exploatare efectuat zilnic. Opţional, se poate introduce şi un consum indirect, fie el pozitiv sau negativ (cazul transferului de carburant de la o maşină la alta).
09 Modulul de generare al rapoartelor permite personalizarea acestora prin includerea sau nu a anumitor câmpuri (aproape orice câmp poate fi afişat sau nu în raport prin setarea din modulul Setări). Există un număr de 13 rapoarte de bază împărţite pe trei categorii funcţie de:

  • Maşina selectată (luna curentă):
    • FAZ (Fişa activităţii zilnice) – cuprinde implicit ziua din lună, numărul foii de parcurs, numele şoferului, alimentarea cu carburant, distanţa parcursă – în km ech., timpul de exploatare – în ore, carburant consumat, restul în rezervor zilnic şi un comentariu;
    • Listă alimentări – ce cuprinde lista de alimentări zilnice (nume gestionar, tip carbutant, cantitate alimentată ş.a.)
    • Carte identitate – cuprinde o listă cu câmpurile selectate în modulul Setări;
    • Listă piese – piesele înlocuite (denumire, cantitate, bon de consum ş.a.);
  • Maşinile marcate (luna curentă):
    • Situaţie lună – cuprinde numărul de înmatriculare al autovehiculului sau denumirea utilajului, categoria maşinii, restul în rezervor la începutul/sfârşitul lunii, alimentarea cu carburant ş.a. În mare parte include totalurile din raportul tip FAZ, dar include mai multe maşini – nu doar una singură;
    • Alimentări – poate fi realizat astfel: pentru fiecare maşină în parte -> de la ce gestionari a alimentat şi cât anume; sau pentru fiecare gestionar în parte -> ce maşini a alimantat şi ce cantiatte pentru fiecare în parte. Modul de afişare se schimbă din modulul Setări;
    • Colecţie cărţi de identitate – afişează un raport incluzând câmpurile selectate din modulul Setări din cărţile de identitate pentru maşinile marcate;
    • Rapoarte – afişează o listă cu maşinile şi zilele în care au activitate;
    • Producţie – poate fi realizată fie pentru fiecare maşină ce obiective a deservit (distanţe parcurse, ore de funţionare şi marfă transportată sau prelucrată); sau pentru fiecare obiectiv în parte -> ce autovehicule sau utilaje au realizat activitate pentru ele (km, ore);
    • Reparaţii – afişează o listă de reparaţii pentru fiecare maşină în parte cu denumire, data ultimei efectuări şi data următoarei efectuări, respectiv distanţele şi timpii de funcţionare de la ultima şi până la următoarea reparaţie;
    • Pontaj – lista pontajului şoferilor/mecanicilor de utilaj;
    • Căutare piese – permite afişarea pieselor înlocuite într-un raport. Se poate aplica un filtru pentru căutarea unei anumite piese înlocuite;
  • Căutare avansată (lunile selectate) – permite realizarea unui raport de tip FAZ, dar pentru o perioadă de timp ce cuprinde mai multe luni (se va introduce data de start şi cea de sfârşit – ziua, luna, anul). Raportul întocmit poate fi efectuat fie pentru o maşină, fie pentru mai multe (opţiunea este selectabilă din modulul Setări).

10 Aplicaţia este disponibilă spre vânzare. Pentru detalii lăsaţi un comentariu şi vă voi contacta eu.

Versiunea demonstrativă (comanda de închidere a lunii este dezactivată) poate fi descărcată de aici.

Program de ajustare a subtitrarilor

Acum mulţi ani, am realizat o aplicaţie de ajustare a subtitrărilor cu format SUB. Pe acea vreme nu exista sau nu aveam cunoştinţe despre nici un codec sau player care să permită acest afişarea mai devreme sau mai târziu a subtitrărilor. SubAdjust este o aplicaţie care realizează acest lucru. Simplitatea aplicaţiei este evidentă. Se deschide fişierul SUB din meniul Fisier, comanda Deschidere…:

01

Se alege fişierul-subtitrare:

02

Odată încărcat, se va ajusta valoarea pentru câmpul Decalare interval timp (frame-uri)…:

03

După ajustare, se trece la salvarea fişierului din meniul Fisier cu comanda Salvare (scurtătură tastatură – F4):

04

Se poate alege acelaşi nume, sau se salvează cu un nume distinct pentru a păstra şi fişierul-subtitrare original:

05

Program de verificare a codului numeric personal (CNP)

Prezint în acest articol o aplicaţie de verificare a codului numeric personal. Codul numeric personal sau CNP este codul unic al fiecărei persoane născute în România. De regulă el este atribuit la naştere fiecărui nou născut, din acest motiv el poate fi regăsit pe certificatul de naştere. CNP figurează şi pe buletinul de identitate sau cartea de identitate precum şi pe permisul de conducere. A fost introdus ca element obligatoriu în actele de identitate, de stare civilă şi în alte acte personale printr-un decret prezidenţial semnat în anul 1978. Explicarea cifrelor ce compun CNP-ul este următoarea:

S – reprezintă sexul, şi are următoarele valori:

  • 1 / 2 – născuţi între 1 ianuarie 1900 şi 31 decembrie 1999;
  • 3 / 4 – născuţi între 1 ianuarie 1800 şi 31 decembrie 1899;
  • 5 / 6 – născuţi între 1 ianuarie 2000 şi 31 decembrie 2099;
  • 7 / 8 – pentru personale străine rezidente în România;
  • 9 – pentru persoanele străine;

AA – reprezintă ultimele două cifre ale anului naşterii;
LL – este un număr format din 2 cifre şi reprezintă luna naşterii persoanei;
ZZ – reprezintă ziua naşterii în format de 2 cifre. Pentru zilele de la 1 la 9 se adaugă 0 înaintea datei;
JJ – este un număr format din două cifre şi este reprezentat de codul judeţului sau sectorului în care s-a născut persoana ori în care avea domiciliul sau reşedinţa în momentul acordării CNP. De exemplu, pentru Buzău acest număr este 10. Pentru Bucureşti, codul este un număr din intervalul 41 şi 46 şi reprezintă sectorul în care s-a născut acea persoană;
NNN – este un număr format din 3 cifre din intervalul 001 – 999. Numerele din acest interval se împart pe judeţe, birourilor de evidenţă a populaţiei, astfel încât un anumit număr din acel interval să fie alocat unei singure persoane într-o anumită zi;
C – este cifră de control (un cod autodetector) aflată în relaţie cu toate celelate 12 cifre ale CNP-ului. Cifra de control este calculată după cum urmează: fiecare cifră din CNP este înmulţită cu cifra de pe aceeaşi poziţie din numărul 279146358279; rezultatele sunt însumate, iar rezultatul final este împărţit cu rest la 11. Dacă restul este 10, atunci cifra de control este 1, altfel cifra de control este egală cu restul.

01

Aplicaţia realizată de mine permite introducerea CNP-ului, afişând în mod automat informaţiile extrase privind sexul, data şi judeţul naşterii. În cazul în care CNP-ul introdus nu este valid, se poate realiza validarea prin apăsarea butonului Validare, suprascriindu-se cifra de control greşită cu cea corectă:

02