Enciclopedia e Dizionari

 
ENCICLOPEDIA
cerca:  
   
 
DIZIONARIO di ITALIANO
cerca:  
   
 
DIZIONARIO di INGLESE
cerca:  
Inglese - Italiano  
Italiano - Inglese  

Treddi.com - News

THG News - Novità dal mondo della tecnologia

Powered By Blogger

Informazioni personali

mercoledì 9 febbraio 2011

PostHeaderIcon Driver PostgreSQL 9.0 e MySQL per Qt 4.7 sotto windows

Ultimamente mi è tornata voglia di confrontarmi con la programmazione in c++. Non volendo affidarmi ai soliti pacchetti Microsoft che, pur essendo anche in versione free (visual studio express), mi danno sempre l'orticaria, ho scelto per il pacchetto QT della Nokia che in versione LGPL fornisce gli strumenti di sviluppo multipiattaforma (Win, Linux e MACOS). Mentre le mie sinapsi si stanno rimettendo in moto con i concetti di programmazione ad oggetti, librerie dinamiche e non statiche, c++ ecc. ed avendo a che fare con Postgresql e MySQL ho dovuto cercare di capire come compilare i drivers che QT utilizza per la programmazione in C++ dei DB. E qui ho visto i sorci verdi!
Cercando tra i vari forum tematici (QTCentre.org ad esempio...) ho scoperto che le cose sono spesso più semplici di come la documentazione ufficiale ci indica. Nel caso specifico se sfogliamo le QT Reference Documention sui driver per SQL vengono indicati dei passi per la comilazione con l'nmake della Microsoft e non la "libera" MingW. A parte la semplice sostituzione di nmake con un bel mingw32-make le cose non hanno funzionato per niente. Ho incominciato a capire qui e qui (ovviamente non conosco il polacco ma Google translator aiuta un pochino...:-P). Di seguito vi riassumo i passi necessari.
La cosa importante è ricordare che sia per postgresql che mysql non è necessario installare i server a meno che non siano da utilizzare sulla macchina di sviluppo (personalmente preferisco sempre avere a che fare con server "remoti", anche virtuali, in modo da non sovraccaricare di servizi il pc quando non serve). Una volta scaricate le versioni zippate (postgresql-9.0.3-1-windows-binaries.zip e mysql-5.5.9-win32.zip) senza installer dei due DB, le scompattiamo direttamente in c:. Nel mio caso ho c:\QT, c:\pgsql e c:\mysql-5.5.9-win32 con tutte le loro sottocartelle.
Nella cartella

C:\Qt\2010.05\qt\src\plugins\sqldrivers

esistono tutte le cartelle con i sorgenti per la creazione dei driver SQL necessari. Per PostgreSQL da QTCreator entrate in psql ed aprite il project psql.pro. Aggiungete le seguenti due righe:


INCLUDEPATH += C:/pgsql/include
LIBS += C:/pgsql/lib/libpq.lib


in modo da indicare dove sono sia gli include che la libreria libpq.lib. Trasformate il progetto in release e dal menu Build scegliete "Build All". Se tutto procede come si deve, nella cartella C:\Qt\2010.05\qt\plugins\sqldrivers troverete 4 nuovi file:

qsqlpsqld4.dll
qsqlpsql4.dll
libqsqlpsqld4.a
libqsqlpsql4.a

che sono i driver necessari al QTCreator per farvi lavorare con PostgreSQL. Ma non finisce qui. Per farsì che tutto sia "visibile e funzionante" dobbiamo copiare tutte le dll presenti in c:\psql\bin (per la versione di PostgreSQl 9.0.3 sono 9) in c:\QT\2010.05\qt\bin e aggiungere nella path di sistema il riferimento a questa cartella. Quest'ultimo passaggio è quello che mi ha lasciato perplesso. In due installazioni diverse ho avuto due risposte differenti. In una è stato necessario aggiungere la path, nell'altro non lo è stato. Ad ogni modo per verificare che i drivers siano caricati da QT è sufficiente eseguire il seguente programmino in modalità release:

#include "QtCore/QCoreApplication"
#include "QtSql"
#include "QDebug"

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

qDebug() << QSqlDatabase::drivers();

return a.exec();
}

che dovrebbe rispondere:

("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC", "QPSQL7", "QPSQL")


Per MySQL ci dobbiamo muovere nello stesso modo.
1- Aprire da QT il file C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro
2- Aggiungere due righe:

INCLUDEPATH += C:/mysql-5.5.9-win32/include
LIBS += C:/mysql-5.5.9-win32/lib/libmysql.lib

3- Eseguire il "Build all" in release mode
4- verificare la presenza in C:\Qt\2010.05\qt\plugins\sqldrivers\ di 4 file:

qsqlmysqld4.dll
qsqlmysqld.dll
libqsqlmysqld4.a
libqsqlmysql4.a

5- copiare da C:\mysql-5.5.9-win32\lib libmysql.dll in C:\Qt\2010.05\qt\bin.

Se volessimo eseguire i nostri programmini fuori da QT nella cartella dell'eseguibile le libreire giuste. Ad esempio, nel caso del programmino che ho inserito sopra per vedere quali drivers sono disponibili è sufficiente avere i seguenti file:

libgcc_s_dw2-1.dll
mingwm10.dll
eseguibile.exe
QtCore4.dll
QtSql4.dll

Nel caso in cui volessimo interrogare PostgreSQL, invece:

iconv.dll
libeay32.dll
libgcc_s_dw2-1.dll
libiconv-2.dll
libintl-8.dll
libpq.dll
libxml2.dll
libxslt.dll
mingwm10.dll
QtCore4.dll
QtGui4.dll
QtSql4.dll
eseguibile.exe
ssleay32.dll
zlib1.dll


Conclusioni

Alla fine la documentazione è sempre carente, con ogni apllicativo e meno male che esistono le communities!
mercoledì 19 gennaio 2011

PostHeaderIcon Quando Office è sempre presente...

Da un po' di tempo in alcune installazioni di office 2007 mi si presenta sempre la finestra di configurazione (nel mio caso all'uscita di uno qualsiasi dei programmi tra word, excel, powerpoint, ecc.) come se fosse sempre il primo accesso. Ho risolto così, digitando nella casella "esegui":
reg add HKCU\Software\Microsoft\Office\12.0\Word\Options /v NoReReg /t REG_DWORD /d 1

qui la fonte
martedì 1 dicembre 2009

PostHeaderIcon Flashiando il bios

Mannaggia a lì pescetti...
Su un Acer Apire 1651wmli, il bios è stato flashiato in una versione che prelevata dal sito ufficale acer pareva l'ultima funzionante (3A45 for ATI M22, M24 and M26). In realtà non ha funzionato un "benemerito c...o" e tutto sembrava perduto non potendo far ripartire in nessun modo il notebook.
La soluzione è stata quella di collegare alla porta usb (dopo aver scollegato sia la batteria che il disco rigido...) una pennina USB o un floppy esterno con sopra un minimo di dos e due file importanti:
1)PHLASH16.EXE (flashatore delle eprom della phoenix)
2)BIOS.WPH (versione del bios funzionante SICURAMENTE!!)
ed aver creato o aggiunto nel file autoexec.bat del floppy la riga:
phlash16.exe /x /s BIOS.WPH.
Una volta fatto ripartire il portatile, il floppyno ha eseguito automaticamente il programma di sovrascrittura del bios e dopo qualche minuto la macchina si è resettata tornando tutto alla normalità!!!! E vai!
giovedì 26 novembre 2009

PostHeaderIcon Missing eth0!

Spesso nell'importare un Appliance sia in VMWare che nel più friendly VirtualBox, la scheda di rete precedentemente settata viene trasformata da eth0 in eth1. Questo succede perchè linux ,trovandosi un altro MAC Address per la scheda di rete, cerca di configurare una nuova scheda e passa quindi all'ETH successivo libero.
Per ovviare a questo basta modifcare a mano o cancellare il file /etc/udev/rules.d/70-persistent-net.rules e tutto riappare...
uff che fatica!!
giovedì 12 novembre 2009

PostHeaderIcon la ricorsività nel comando cp di linux

Continuo a rimanere perplesso su come, a volte, certi comandi possanno essere "misteriosi" e come possano essere scoperte certe alternative altrimenti nascoste ai più. Dovendo copiare un po' di file ed evitare che mi venisse chiesto se sovrascrivere un file esistente (il --replay=yes è deprecato e ti consigliano di usare il '-i' o '-f'....) ho trovato qui la soluzione. E', cioè, presente un "alias" di cp, non in tutte le versioni, che forza il comando in un 'cp -i', quindi con il prompt fisso.
Provate a digitare "alias" e, se presente, tra i vari altri alias dovreste trovare "alias cp='cp -i'".
Quindi per non eseguire l'alias è possibile eseguire o:
1)"\cp -rf ./dacopiare* ./dovecopiare*" del comando cp che non ha il prompt sempre attivo....
2)cancellare l'alias con "unalias cp" e toglierlo per sempre dall'elenco...
Mi domando solo come certi "veggenti" trovino queste soluzioni...
venerdì 15 maggio 2009

PostHeaderIcon Un ripasso di lingua fiorentina

Primissima cosa da sapere: ai Fiorentini (quelli veri) insulta pure chi vuoi: se intesa come beffa ciò verrà preso in ischerzo e, ad esempio alla frase: -La tua mamma maiala fa le pompe ai cavalli- il VERO FIORENTINO risponderà: -La tua!- (ad intendere che le mamme di entrambi fanno le pompe ai cavalli, in ispecial modo quello che ha pronunciato per primo la frase offensiva!!!!!!!!)

Mi'a tutti sanno parlà i' dialetto fiorentino perbene. Figurassi a scri'ilo! Parecchi bischeri pensano che ci si mangia sempre la ci, e 'nvece un'è mi'a vero sempre. E si mangia solo quando è una cci sola, e solo se didre'ho a davanti ci'ha du' vo'ali (ecco presempio: vo'ali). Eppoi nessuno s'è mai accorto che a vorte e ci si mangia anche la ttie, che gl'è anche dimorto ma dimorto più sapori'a (ecco pe'llappunto: sapori'a).

Inortre bisogna badare al fatto che nei dialetto fiorentino spesso si pronuncia un suono simile al 'th inglese (lingua fra i denti)nelle t nei mezzo alle parole, per esempio: gelatho, pathethio ecc.

Un'artra regola che gl'è fondamentale gl'è i' verbo che gl'è sempre precedu'o da un'artro soggettino, messo lì pe' rafforzà un po'inino la 'osa. Presempio:
Io sono. (vabbè questa lla resta uguale, bischeraccio)
Te ttu sei.
E' gl'è. * La gl'è.
Noi s'è. (i' 'siamo' l'è bandiho ni' toscano DOC, dio bono)
Voi vvù s'ete. (bello! senti 'ome sona bene!)
E' sono. o glienno ... raffinatezza usaha nei quartieri dove e si parla la lingua perfetta (vedi sotto).
Prima di' verbo 'avere' ci va sempre la parolina 'ci'. Un si sa bene perché ma lla ci sta parecchio bene, come disse i' Bondi.
Io c'ho. (=io ho)
Te tu c'hai. (=tu hai)
Lui c'ha. (=egli ha)
Lei la c'ha. (=lei ha)
Noi ci s'ha. (=noi abbiamo)
Voi vu c'ave'e. (=voi avete)
E' c'hanno. (=essi hanno)
In terza persona singolare co' i' passato prossimo si usa anche parecchio i' 'l'è', tipo:
L'è anda'o. (=egli è andato)
L'è torna'o. (=egli è tornato)
Siccome noi toscani siamo perzoncine 'orte e dabbene, alla terza persona singolare dell'indicatio noi e si preferisce sostituigni i' ccongiuntivo:
Loro prendano da bere. (=loro prendono da bere)
MA i fiorentini non usano il verbo 'prendere', bensì 'pigliare', come disse Beppe di' Bardiccio, 'ti pigliasse un corpo'.
Io andiedi
Tu andesti
'gl'andette
S'andiede (o andette)
V'andaste
'gl'andettero, 'gl'andonno (o andiedero)
Il suono -SCHI- è spesso contratto a -STI-, ne derivano maSTIo, STIanta'o, STIoccare, muSTIo, STIaccia'a.

Frasette utili da segnavvele subito:
Bellino i' canino. (=Che bel cane);
La 'o'a'ola 'on la 'annuccia 'orta 'orta e colora'a. (=La coca-cola con la cannuccia corta corta e colorata);
Codesto ragazzo 'ostì. (=Quel Ragazzo Li ma solo all'incirca, infatti 'codesto' indica cosa o persona lontana da chi parla ma vicina alla persona a cui ci si rivolge; diverso da 'quello'.
Gni stiantasse i' core! (=Ma è davvero simpatico)
Tu m'a bell'e rotto la contraccassa de' coglioni (=Mi stai annoiando)
Manca pòo bocco (=Manca poco che casco)
I TU' babbo buhaiolo (=Tuo padre è gaio)
I'passa'o remo'o d'i verbo andare (della quale solo quell'80 e rotti percento di vecchi rincoglioni'i Fiorentini si ri'orda)

Molte parole vengono continuamente tronca'e: 'Del' diventa 'Di'' (Gli era di' Madiai, grullo!) 'Non' diventa ''un' ('Un se ne pote'a* più di codesto rintronaho), 'Al' diventa 'Ai'' (torno ai' tocco = sono di ritorno alle 13).

Dal fiorentino sono bandite parole come 'padre' (pure 'papà' 'un s'usa miha, e ci fa un po' schifo) e 'madre': s'usa 'i' mi' babbo' e 'la mi' mamma'.

E molto comune poi usare il complemento di vocazione: -O' bischero -O' beppe -O' ...

Inortre esistono de' vo'aboli presenti solo ni' dialetto fiorentino:
(il verbo) 'ire' che sta per andare e per stiantare, al participio passato fa ito (viene dal latino, eh!)
'Pole', il verbo potere, soprattutto indefini'o: 'un se ne pole più'
'Garbare' sostituisce correntemente 'piacere': a me mi garba...
'Desinare' è sinonimo di mangiare, in ispecial modo per pranzare: 'ai' tocco si desina!'
'Rammentare' (ricordare): 'ti rammenti di quella testa a pera di' Ramalli?'
'Badare' (tenere d'occhio, osservare) -Bada bene te che se ti sputo t'affoghi!
'Pigliare' (prendere)-Pigliarlo nel bahogigi
EtcEtc

Al lettore interessato, che volesse apprendere a fondo la lingua toscana, è consigliabile la lettura del Signore degli Agnelli e de Il Silmarillion, nonché Lo Stiacciasassi.
A chi volesse effettuare una proficua vacanza studio per imparare il vero Fiorentino, si sconsiglia il centro città, ormai mondializzato e dove si parla una lingua stardardizzata e elegante modello firme (fiorentino per film) di Leonardo Pieraccioni, ma si suggerisce vivamente di optare per i quartieri di Brozzi, Peretola, Quaracchi (Oh chillè i grullo che dice questo ??? in questi quartieri si parla solo cinese !!!) o per i comuni di Calenzano, Campi Bisenzio, Signa, Sesto Fiorentino, Scandicci, luoghi dalla gentile e cortese parlata (da ricordare anche la perdita della V, oltre che della T...andao, mangiao, beeo e l'uso smodato di 'gni, gnene, ...', dimorati da popolazione educata, gentile e cortese.
venerdì 23 gennaio 2009

PostHeaderIcon Convertire macchine Virtuali

Da tempo abbiamo diversi server virtuali con server web, di posta, ecc. Ultimamente girano su Virtual Iron versione freeware, ma che non supporta i dischi iSCSI. Da qui la necessità di cambiare ambiente di virtualizzazione e passare alla VmWare ESXi free, che supporta i dischi iSCSI. Ma come fare per convertire le macchine virtuali? Dopo aver provato diverse utility, sembrerebbe funzionare meglio qemu-img sotto linux. La versione per windows ha una limitazione nella creazione delle immagini dei dischi virtuali. Per i dischi VMDK non supera i 2GB!
Qui il Forum di QEmu;
qui dove prenderlo...

Archivio blog