Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Sanesi Stefano - Settembre 25, 2014, 05:42:37 pm

Titolo: Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 25, 2014, 05:42:37 pm
Questa è la form del mio primo progetto.
Attualizzazione del componente TZConnection (fino e ieri a me sconosciuto)

Nella propietà DataBase  devo mettere /DBmiei/Ortodossio.fdb ?
In HostName : 127.0.0.1 (locale) fosse in remoto L'IP del server remoto ?
Password : (niente) ?
User: (niente) ?
Protocol: non lo so.
Connectet : True.
Titolo: Re:Il mio primo progetto
Inserito da: xinyiman - Settembre 25, 2014, 10:09:39 pm
Leggi queste ti saranno d'aiuto

http://www.lazaruspascal.it/index.php?page=141
http://www.lazaruspascal.it/index.php?page=146

Per tua info con nome utente se usi firebird devi usare SYSDBA (maiuscolo) e se non hai cambiato la password quella di default è masterkey.
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 07:30:01 am
OK, però l'esempio di page = 141 riporta protocol : sqllite-3 , con cosa lo sostituisco Firebird ?
Titolo: Re:Il mio primo progetto
Inserito da: Stilgar - Settembre 26, 2014, 09:04:39 am
firebirdd-xxx
Dove xxx sta per la versione.

ZDbcInterbase6.pas contiene questa definizione ;)
Codice: [Seleziona]
  AddSupportedProtocol(AddPlainDriverToCache(TZInterbase6PlainDriver.Create));
  AddSupportedProtocol(AddPlainDriverToCache(TZFirebird10PlainDriver.Create));
  AddSupportedProtocol(AddPlainDriverToCache(TZFirebird15PlainDriver.Create));
  AddSupportedProtocol(AddPlainDriverToCache(TZFirebird20PlainDriver.Create));
  AddSupportedProtocol(AddPlainDriverToCache(TZFirebird21PlainDriver.Create));
  AddSupportedProtocol(AddPlainDriverToCache(TZFirebird25PlainDriver.Create));   
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 11:21:23 am
quindi, avendo installato firebird2.5-superclassic, è giusto dare firebird-2.5 ? o firebird-2.5-superclassic ?.

da dove e come si vede che ho installato Firebird ?.
Titolo: Re:Il mio primo progetto
Inserito da: Stilgar - Settembre 26, 2014, 11:24:10 am
Stefano.
Prova  :D
A sentimento proverei :  firebird-2.5

Per verificare cosa hai installato non ho idea.


Stilgar


EDIT:
Butta l'occhio qui http://www.firebirdsql.org/manual/firebird-commandline-utilities.html
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 11:51:37 am
... non intendevo dire "verificare se ho installato Firebird" , certo che l'ho installato, intendo dire è visibile il demone di Firebird, o comunque poter vederene per esempio un'icona , comunque verificare se c'è e gira. Anche se è un processo in background in qualche modo si vedrà , o no ?
Titolo: Re:Il mio primo progetto
Inserito da: Stilgar - Settembre 26, 2014, 12:14:59 pm
"ps -e|more" o "top" controllo processi attivi.
Sono comandi linux/unix.

Se volevi vedere la versione pensavo che nel banner del client a riga di comando dovesse comparire.

Stilgar
Titolo: Re:Il mio primo progetto
Inserito da: nomorelogic - Settembre 26, 2014, 12:17:45 pm
comando più spicciolo e sintetico nel risultato:
Codice: [Seleziona]
ps -aef|grep fbguard
se gira il demone ti viene mostrato

puoi anche usare telnet come visto qualche post fa
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 02:49:12 pm
grazie era propio questo il comando che mi interessava !
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 04:07:41 pm
dopo che ho impostato a true la proprietà "connected"   , mi sono ricordato di aver creato il database come utente SYSDBA ma password "ste" , jnvece di "masterkey" . Impostando la  propietà  "password" (nell' object inspector) a "masterkey" mi da errore come nell'immagine. Dando invece la password "ste" non mi ha errore e mi sembra che la connessione funzioni. Si possono cambiare i valori "SYSDBA" e/o la password una volta definiti ?.
Ho provato a cambiare la password da "ste" a "masterkey" (tanto per esercitarmi) via "Database registration info", me  la fa
cambiare , facendo Dx su ortodosso -> menù a tendina, ma poi a livello progetto, impostando a True la propietà connected mi da errore !
Titolo: Re:Il mio primo progetto
Inserito da: nomorelogic - Settembre 26, 2014, 06:09:28 pm
qui c'è un po' di confusione, facciamo chiarezza

1) la password viene validata dal server -> se la vuoi cambiare la devi cambiare nel server

2) in "database registration info" ci metti la password che vuoi che venga spedita al server per essere validata (insieme ad username)

3) l'errore che vedi vuol dire: utente e/o password errati

4) per cambiare la password nel server devi accedere con flamerobin con la vecchia password, angare in gestione utenti (del server) e modificare la password
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 06:42:00 pm
Ok ! fatto, ora dovrò riuscire a riempire questa griglia con i dati della tabella indirizzi.
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 26, 2014, 09:21:39 pm
Cercherò di fare il parallelo fra la situazione Form "Delphi" alla quale sono abituato  e quella di "Lazarus":
Tra parentesi metterò l'oggetto "Lazarus" che mi sembrerà attinente.
In Delphi ho un'oggetto TDatabase con la proprietà 'directory' che punta alla cartella fisica contenente le tabelle : C:\Archivi.
Assimilabile a ( TConnection ) ?.
L'oggetto TTable con la proprietà  'databasename ' attualizzata al nome dell'oggetto TDatabase , e la proprietà 'Tablename' attualizzata col nome della tabella fisica realmente  esistente nella cartella C:\Archivi . (TQuery ) ?.
L'oggetto TDataSource con la proprietà 'DataSet' che punta a TTable. (TDataSource come in Lazarus).
La griglia dovrebbe attingere a TDataSource.

Dovrò inserire nella proprietà 'SQL'  di TQuery la stringa "Select * FROM INDIRIZZI" ?, attualizzabile probabilmente anche dal codice magari con TQery.SQL.add ("...comandi SQL..) ?

Tante cose tutte insieme !,  ....lo so !, Ci ho provato ...

Titolo: Re:Il mio primo progetto
Inserito da: nomorelogic - Settembre 28, 2014, 10:04:54 am
si più o meno l'equivalenza e quella ed anche il modo di procedere
non ti resta che iniziare a scrivere codice ;)
Titolo: Re:Il mio primo progetto
Inserito da: Sanesi Stefano - Settembre 29, 2014, 03:36:36 pm
infatti ho iniziato più che a scrivere, a mettere oggetti sulla mia Form, e devo dire che alla fine  la tabella "INDIRIZZI" ,precedemente creata e popolata via FlameRobin  mi è apparsa con tutti i records. Col navigatore ,vedo, posso scorrerle , inserire nuovi record etc. Ho anche messo sulla maschera degli oggetti TDBEdit collegati al DataSource e tutto funziona.

Domande:
Ho notato che l'oggetto TTable non esiste (mentre in Delphi facevo TIndirizzi.open), quindi ho pensato di fare lo stesso con ZQuery , previo inserimento di "SELECT * FROM INDIRIZZI" nella proprietà SQL (TString) e scrivere nell'evento "OnShow" della form ZQuery.Open ..... é giusto far così o ci sono vie migliori ? (lo chiedo da inesperto del linguaggio SQL e di DBMS).

Ho pensato con doppio click sull'oggetto ZQuery di render palesi tutti i nomi-campo appartenenti alla tabella INDIRIZZI (riportato nell'immagine sotto..) in modo do poterli collegare (pendo) ai vari oggetti "dataControl" , va bene ?

In Delphi ho utilizzato molto i componenti  Rx-control , ad esempio DBComboBox con ricerca basata su chiavi secondarie alfabetiche, impostate nell'object inpector di tali oggetti, utilissime per la ricerca di nominativi ordinati afabeticamente, esiste questo in Lazarus ?
Titolo: Re:Il mio primo progetto
Inserito da: nomorelogic - Ottobre 04, 2014, 10:10:46 am
Domande:
Ho notato che l'oggetto TTable non esiste (mentre in Delphi facevo TIndirizzi.open), quindi ho pensato di fare lo stesso con ZQuery , previo inserimento di "SELECT * FROM INDIRIZZI" nella proprietà SQL (TString) e scrivere nell'evento "OnShow" della form ZQuery.Open ..... é giusto far così o ci sono vie migliori ? (lo chiedo da inesperto del linguaggio SQL e di DBMS).

forse, più che nell'OnShow è meglio l'evento Create

Ho pensato con doppio click sull'oggetto ZQuery di render palesi tutti i nomi-campo appartenenti alla tabella INDIRIZZI (riportato nell'immagine sotto..) in modo do poterli collegare (pendo) ai vari oggetti "dataControl" , va bene ?

l'uso dei campi persistenti è una buona pratica, va bene