Autore Topic: Database e componentistica....  (Letto 1481 volte)

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Database e componentistica....
« il: 07 Giugno 2009, 17:42:32 »
Ciao a tutti, lo so il titolo in oggetto non è molto chiaro, ma al momento non mi viene nulla di meglio in mente.
avrei alcune domande, allora mettiamo che volessi lavorare con un database di access o comunque con estensione .mdb (se non ricordo male è questa l'estenzione) come potreio farlo con gambas? L'applicazione dovrebbe girare sotto ubuntu installato con wubi su windows 2000.....
Poi avrei una curiosità: dove lavoro io utilizziamo un programma che prende dati da una strumentazione elettronica e la invia ad un programma che li mostra e che li archivia in un database (quello di cui parlavo prima). Ora la mia domanda (forse stupida e banale) è questa: secondo voi come potrebbe fare a trasmettere dati al software che utilizziamo?
Il software che utilizziamo ovviamente è closed quindi non posso vedere come è fatto......
ciao a tutti!

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Database e componentistica....
« Risposta #1 il: 08 Giugno 2009, 11:09:36 »
1) al momento Gambas support l'accesso ai DB postgresql, sqlite2/3, mysql, odbc, firebird. Non è supportato un accesso diretto a quelli mbd.

2) Essendo una periferica, questa invierà i dati attraverso un cavo (porta seriale, in genere) oppure tramite wireless (ci sarà un router di questo tipo). Il problema non è però tanto attraverso cosa comunica col PC ma "come" lo fa. Nel senso che se non sai il protocollo di comunicazione, sapere che i dati arrivano dalla COM1 servirà a poco. Potrebbe essere interrogata dal software e rispondere solo dietro questa interrogazione, ed allora dovresti sapere i dati di interrogazione inviati dal programma. Ma anche se la periferica inviasse i dati ogni tot, come arrivano questi dati? In che formato? Hanno una stringa di inizio trasmissione? Quale stringa? Sono compressi o in chiaro? Qual'è la sequenza di invio? ecc...
Insomma, come hai potuto capire non è così facile.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Database e componentistica....
« Risposta #2 il: 09 Giugno 2009, 05:38:29 »
Ciao leo! Grazie per la risposta! Certo, lo so la cosa è molto complicata, ma la mia è solo curiosità!
ho spulciato un po' in rete ed ho trovato il software che utiliziamo noi con una specie di manualino.
Dice che si connette utilizzando i protocolli OBDC e OLE.
è composto da due unità di interfacce dedicate chiamate CIU e i dati arrivano aggiornati ogni minuto tramite un modem(almeno così mi sembra)
Il programma poi salva in dei database access (.mdb) mediante una operazione detta logging.
l'interfaccia principale è composta da una specie di database, ma non usa un dataview, ma qualcosa detto spreadsheet, e credo che sia composto da label e textbox inseriti credo mediante un ciclo....
ecco questo è tutto.
ciao!

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Database e componentistica....
« Risposta #3 il: 09 Giugno 2009, 11:25:04 »
"Logging" è semplicemente un'operazione di salvataggio di log, cioè di file di registrazione di ciò che succede (ad esempio i log del kernel, ecc...).
Uno spreadsheet è un foglio di calcolo elettronico :-)

Poi, però ci sono delle sequenze che si scambiano il programma e la periferica per impostare la trasmissione dei dati? In che formato arrivano? Insomma, non è così semplice sapere il protocollo e basta, va visto anche il formato.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Database e componentistica....
« Risposta #4 il: 09 Giugno 2009, 13:12:19 »
Ci sono i driver odbc per database mdb. Li trovi nel pacchetto libmdbodbc. Gli ho provati con il prog. isql su una macchina linux che interroga una macchina windows collegata in rete e funzionano.

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Database e componentistica....
« Risposta #5 il: 09 Giugno 2009, 15:28:05 »
Quindi uno spreadsheet non può essere creato con dei semplici label e textbox?
libmdbodbc: non saprei manco come usarlo....in realtà non so manco cosa sia.... :ehm:
lo so, sono troppo ignorante in materia per capire tutte queste cose...uffa!

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Database e componentistica....
« Risposta #6 il: 09 Giugno 2009, 22:58:01 »
Se per spreadsheet indicano proprio un foglio di calcolo, ci sarà senz'altro a livello di codice un filtro che trasforma i dati forniti dall'utente in qualcosa di "commestibile" per Excel (visto che sei in ambiente Win). Magari poi si tratta solo di un comune file testo con i dati separati da classiche "|" o ",".

libxxxxxx in ambiente Linux indica una libreria.

P.S.:
l'ignorante è colui che pensa di saper tutto perché tanto per cominciare non sa cosa sia la modestia ;-)
Visita il mio sito personale: http://www.leonardomiliani.com

g.paolo

  • Visitatore
Re: Database e componentistica....
« Risposta #7 il: 10 Giugno 2009, 11:16:54 »
Se ti può essere di aiuto, ti allego un esempio in excel contenente il codice VBA che trasferisce i dati di un file di testo nelle caselle di excel.
Hai a disposizione due pulsanti, uno per caricare i dati sul foglio ed uno per cancellarli.
Puoi vedere il codice che ho scritto nelle due subroutine richiamate dai pulsanti cliccando col pulsante destro sulla X a sinistra del menu file di excel, scegliendo l'opzione "visualizza codice"
I files sono 2, il file .txt sorgente e quello .xls destinazione che contiene un modulo di codice VBA, e vanno entrambi posizionati nella root di C:\
Se apri il codice e ti posizioni all'interno della routine di caricamento, premendo F8 eseguirai il codice passo-passo e vedrai riempirsi una cella ad ogni ciclo.
Tempo fa ho provato a fare la stessa cosa con "calc" di OpenOffice, ma la cosa è di una complessità incredibile visto che non hai a disposizione una guida in linea efficiente come in Excel.
Il codice prodotto creando una macro è di una prolissità pazzesca, e non assomiglia certo al codice VBA di MSO.
Peccato, OO è partito bene, ma è lontano anni-luce da MSO in fatto di programmmazione!

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Database e componentistica....
« Risposta #8 il: 12 Giugno 2009, 11:34:37 »
grazie mille Leo! ho trovato uno screen del programma che usiamo noi, anche se è la versione nuova, noi abbiamo la vecchia che è simile:
http://hpsweb.honeywell.com/NR/rdonlyres/A727BE16-6F16-4E9B-899E-519414E79A64/0/entrisXS.jpgsi vede male ma è giusto cosi per curiosità!

in effetti ho realizzato qualcosa simile all'entis usando proprio il vba di excel importando i dati dai database di access.....

ma un foglio di calcolo quindi è una combinazione di tanti textbox uno accanto all'altro?
Ciao a tutti!

PS: Allora non sono ignorante! Mannaggia, lo sono appena diventato!! :lol:

g.paolo

  • Visitatore
Re: Database e componentistica....
« Risposta #9 il: 12 Giugno 2009, 11:40:01 »
.....ma un foglio di calcolo quindi è una combinazione di tanti textbox uno accanto all'altro?

Visivamente è così, ma nella realtà ad ogni cella può essere associato un codice che calcola un valore in funzione di altre celle, e questo lo fa dinamicamente aggiornando il valore ad ogni variazione delle caselle di riferimento.
Nell'esempio che ho allegato invece, si riempie ogni cella con un valore eseguendo una subroutine, ed in tal caso la cella funge solo da semplice contenitore o textbox.