2008-04-17

Date elevi BDNE

Pentru aplicaţia de BAC, datele din BDNE sunt destul de puţine. Totuşi pentru a realiza o listă de control se pot urma paşii următori:

  1. Se salvează datele din BDNE Client HA alegându-se din secţiunea Export comanda Exportă Date. Această comandă exportă atât nomenclatoarele cât şi datele aferente unităţii şcolare. Fişierul exportat conţine toate datele, inclusiv situaţiile statistice (SC).

  2. Fişierul exportat are extensia EXP, însă este de fapt o arhivă ZIP, prin urmare schimbaţi extensia.

  3. În interiorul arhivei există un fişier export.xml şi un director export_BDNE_to_DCC. În director se află o bază de date HSQL. Dezarhivaţi conţinutul directorului arhivat într-un director local.

  4. Instalaţi HSQL (vedeţi acest post).

  5. Când se face exportul rezultatului din Database Manager-ul ce există în pachetul HSQL, diacriticele sunt înlocuite cu semne de întrebare. Pentru a avea o listă cât de cât corectă este nevoie de convertirea acestor diacritice în alfabetul englez. Acest lucru îl realizează o mică aplicaţie realizată de mine numită flatenise. Codul sursă pascal este inclus (aplicaţia este compilată cu Virtual Pascal 2.1 build 279).

Fişierele bazei de date exportate au acelaşi nume nomDB. În exemplele de mai jos voi folosi acest nume. De asemenea se consideră JRE 1.6 instalat şi HSQL instalat în directorul C:\hsqldb.

  • Se rulează serverul folosind comanda: java -cp c:\hsqldb\lib\hsqldb.jar org.hsqldb.Server -database.0 d:\bac2008\BDNE\db\nomDB
    unde forma generală este: <java_path>\java -cp <hsqldb_jar_path>\hsqldb.jar <server_classpath> -database.0 <database_path>\<database_name>.
    Se porneşte Database Managerul folosind comanda: java -cp c:\hsqldb\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
    forma generală fiind <java_path>\java -cp <hsqldb_jar_path>\hsqldb.jar <manager_classpath>.
    Se alege în fereastra Connect, în câmpul Type, HSQL Database Engine Server.

  • Dacă aţi parcurs paşii cu succes, veţi vedea în partea stângă a Database Manager-ului o listă arborescentă de tabele. Căsuţa din dreapta sus este destinată introducerii comenzilor SQL. Pentru a afişa lista dorită vom folosi următoarele comenzi:

SET AUTOCOMMIT FALSE;
SET SCHEMA BDNE;

Prima comandă opreşte efectuarea schimbărilor asupra bazei de date până se întâlneşte comanda COMMIT sau ROLLBACK (vezi şi aici). Acest lucru protejează asupra schimbărilor accidentale.
A doua comandă are rolul de a alege secţiunea sau schema sub care se găsesc tabele.

În final introducem următorul query:

select elev.cnp, elev.nume, elev.initiala_tata, elev.prenume,
(select descriere from nom_specializare_meserii
where nom_specializare_meserii.id_specializare_meserie =
asoc_unitate_formatiune.id_specializare_meserie) SPECIALIZARE,
asoc_unitate_formatiune.nume CLASA, asoc_unitate_formatiune.de_la,
asoc_unitate_formatiune.pana_la
from asoc_unitate_formatiune, asoc_elev_formatiune, elev
where asoc_unitate_formatiune.de_la >= '2007-09-01 00:00:00' AND
asoc_unitate_formatiune.id_asoc_unitate_formatiune=
asoc_elev_formatiune.id_asoc_unitate_formatiune AND
elev.id_elev=asoc_elev_formatiune.id_elev
order by asoc_unitate_formatiune.nume;

După apăsarea butonului Execute va fi afişată lista elevilor ce conţine coloanele: cnp, nume, iniţială tată, prenume, specializare, clasa şi o pereche de date pentru valabilitatea informaţiei.
Această listă se poate salva alegând din meniul File comanda Save Result CSV... sau Save Result...
Închideti serverul folosind comanda shutdown; înainte de a părăsi Database Managerul.

Delphi Console Application

Using Delphi 7, one could make a console application (also known as no-GUI application) by having a project file like this:

program ApplicationName;
{$APPTYPE CONSOLE}
{$R 'aresource.res' 'aresource.rc'}
uses SysUtils;
begin
end.

The line {$R 'aresource.res' 'aresource.rc'} is optional. It is used to define a resource, specifically an icon for the application. The RC file is a plain text file that contains the following line:

1 ICON "myapplication.ico"

Therefore all the code for the application goes inside the begin-end pair in the DPR file.

2008-04-15

Why Siveco Rulz!

Programele realizate de catre Siveco Romania pentru Ministerul Educatiei "rulz!" in a bad way. Iata ce face ultima versiune a aplicatiei pentru colectarea datelor elevilor care sustin examenul de bacalaureat: desi este instalata ultima versiune de JRE 6u5, aplicatia nu doreste sa porneasca desi ar putea, insa foloseste ultima versiune de JRE pentru a afisa o fereastra de eroare cu un mesaj stupid.



Iata fereastra de eroare:


Poate cuvantul corect era "maxima" :))

2008-04-12

Hrashti

Am aflat că atunci când tragi de pătrăţelul negru din partea dreaptă jos a bordurii unei selecţii în Excel, execuţi de fapt procedeul de HRASHTI. Este o glumă bineînţeles.
Totuşi cu ocazia aceasta am aflat că Excel ştie să lucreze cu matrici.
Prima funcţie pe care am folosit-o a fost calculul determinantului unei matrici. Ea este funcţia MDETERM(range).
A doua funcţie este funcţia care înmulţeşte două matrici MMULT(range1,range2). Rezultatul funcţiei MMULT este o matrice şi prin urmare trebuie mai întâi selectate celulele în care se va pune rezultatul, apoi se scrie formula şi în final se introduce această formulă folosind combinaţia de taste CTRL+SHIFT+ENTER, nu numai ENTER cum se introduce o funcţie obişnuită. De fapt daca se selectează mai multe celule şi se introduce o formulă obişnuită şi apoi se activează cu CTRL+SHIFT+ENTER, formula se va regăsi identic în toate celulele selectate.

2008-04-07

Enable Autocad 2000 on Windows 2000

If you want to make Autocad 2000 available for a restricted user under Windows 2000, the easieast way is to allow registry access to the following keys:
HKLM\Software\Microsoft\Cryptography\RNG\Seed
HKCU\Software\Autodesk\
HKCR\AutoCAD.Drawing.15\
HKCR\CLSID\{8E75D913-9D21-11D2-85C4-080009A0C626}\