Newsgroup: it.comp.lang.visual-basic
Titolo: [VB] Black Jack! ;-)

Finalmente dopo un anno di pausa, ovvero di lavoro standard, nei ritagli di
tempo in giorni d'estate sono riuscito a riprendere e finire un gioco che
avevo cominciato l'estate scorsa! Ed ecco quì un nuovo gioco di carte: Black
Jack in "pure VB code" senza aggiunta di librerie! ;)
Potete scaricarlo dall'apposita sezione del sito:
http://www.inversewave.com
Ora posso tornare ai gestionali per altri 365 giorni! ;)
Un saluto a tutti quanti,
Donatello

 avevo cominciato l'estate scorsa! Ed ecco quě un nuovo gioco di carte:


Ciao Paolo,
io programmo per una grossa software house italiana che da poco si sta
espandendo anche in Europa.
Programmo quasi esclusivamente gestionali, molti dei quali girano in rete.
Utilizzo prevalentemente VB come linguaggio e gli MDB come database e
nessuno si è lamentato. Quindi VB + MDB, non serve altro! ;)
Salutoni,


 wrote in message
9mkqjb$2pj2k$1...@ID-52601.news.dfncis.de...


Ciao Paolo,
per i miei programmi che girano in rete faccio così:
1) MDB su un computer (chiaramente ^_^);
2) Finestra di selezione del percorso dell'MDB;
3) Finestra di abilitazione degli utenti alle operazioni (lettura,
scrittura, ecc...);
4) Finestra di login utente;
5) Stessa applicazione per tutti i computer in rete;
6) Ogni aggiunta, modifica, eliminazione, viene eseguita tramite un'apposita
funzione, e non direttamente dalla form, che controlla se il record è in
uso. Se il record è libero esegue il comando (Edit, Delete, c'ho messo
dentro anche AddNew), se invece è occupato su un altro computer visualizza
una bella finestra che esegue una serie di tentativi finchè il record non si
libera lasciando comunque all'utente la possibilità di annullare
l'operazione in corso.
Tutto quì! ;)
Saluti,


 Tutto quě! ;)
Grazie ancora e scusa se ti sto rompendo di domande!!
Ciao.
Paolo   :-))


 Grazie ancora e scusa se ti sto rompendo di domande!!
De nada! ;)
CIAO

 EditMode e simili
Ho guardato su MSDN e l'editMode c'è solo per RDO che non ho la più pallida
idea di come si usi (ho iniziato cond DAO e sono passato subito ad ADO).
Arigrazie, anzi obligado! ;-)
Ciao.
Paolo.


 idea di come si usi (ho iniziato cond DAO e sono passato subito ad ADO).
Si usa con DAO, io uso quello, ADO l'ho lasciato perdere dopo l'unico
programma in cui l'ho utilizzato.
saluti

 Babbo in che senso!! Non sono poi cosě pivello in VB!!  >-((
Ovviamente nel senso di Babbo Natale! ;)
Saluti,

 l'operazione in corso.
Scusate se mi intrometto, ma zero, mi sembra che tu proponga un approccio un
po' discutibile...
Mi spiego: evidentemente la swhouse per cui lavori sarà specializzata in sw
gestionali per piccole e piccolissime aziende, perchè puoi permetterti di
usare Access in rete, e dei metodi, se mi consenti, un po' artigianali.
Ad esempio, chi vieta agli utenti di andare nel db e di modificarsi i propri
permessi e fare quello che vogliono? E chi vieta agli utenti di andare nel
database degli utenti e rimuovere tutti i colleghi, impedendogli di
lavorare?
E se l'azienda avesse, poniamo, una trentina di posti di lavoro, e magari
generasse 3/400mila movimenti di magazzino all'anno, come faresti?
Le tecnologie che utilizzi, e cioè Dao, ed il lock del record, ti
impediscono anche solo di prendere in considerazione un upsizing ad un dbms
che possa gestire un numero di utenti maggiore, moli significative di dati,
ed un minimo di sicurezza e riservatezza dei dati.
Oltretutto non capisco perchè tu abbia messo il controllo su Addnew. Come
potresti trovare il db bloccato per l'inserimento?
Non discuto le scelte tue e della tua azienda, sicuramente nel vostro
mercato saranno ottime, però se dai dei suggerimenti a qualcuno che è
inesperto, e che potrebbe trovarsi in un contesto molto diverso dal tuo,
dovresti fornirgli un quadro completo.
Se mi permetti, lo faccio io.
Allora Paolo, prima di tutto sappi che Dao è una tecnologia obsoleta, che la
Microsoft sta dismettendo, e a ragione. Dao infatti usa per ogni accesso ai
db, quali che essi siano (access, Oracle, Sql server) il motore Jet, cioè
quello di access. questo inserisce uno strato di elaborazione in più che
rallenta le operazioni e che nel caso si usi un db più potente, ne maschera
le effettive capacità.
Per ovviare a questi problemi la Microsoft ha creato Ado, che in soldoni è
un framework che permette di accedere ai dati in modo uniforme, qualunque
sia il database che utilizzi. Passare da Access ad Sql server, se hai
programmato con attenzione, richiede soltanto il cambio della stringa di
connessione. Naturalmente in Ado è del tutto assente il concetto di record
locking, che appartiene ai db non relazionali tipo db3, clipper, e quindi
non troverai un comando per bloccare il record. Il concetto corrispondente è
quello di isolation level, che è troppo complesso affrontare qui, e che
comunque è rimappato in Ado secondo una visione di lock.
Per quanto riguarda la sicurezza e l'accesso degli utenti, anche qui tranne
che in realtà molto piccole, ha molto poco senso affidarsi ad un meccanismo
proprio di autenticazione degli utenti, e conviene appoggiarsi a quello del
sistema operativo. E' più sicuro e non fa impazzire gli amministratori del
sisteme, che devono replicare decine di volte i permessi.
In generale, quindi, sebbene in alcuni casi, come quello di zerodefex, possa
non essere così, ti sconsiglio VIVAMENTE di investire il tuo tempo imparando
Dao. Studia piuttosto Ado, e soprattutto la teoria relazionale dei dati e
l'sql. Farai sicuramente un investimento più redditizio...:)
Se pensi che perfino dei dinosauri come Pal (voglio solo sollecitare il suo
amor proprio...:)) ), che la mattina mangiano a colazione pane, burro e
seek, inzuppato nell'index, stanno considerando il passaggio ad Ado, ti puoi
immaginare quanto sia obsoleto. :)
Hth
Alfonso

In generale, quindi, sebbene in alcuni casi, come quello di zerodefex,
possa non essere così, ti sconsiglio VIVAMENTE di investire il tuo tempo
imparando Dao. Studia piuttosto Ado, e soprattutto la teoria relazionale dei
dati e l'sql. Farai sicuramente un investimento più redditizio...:)
In ultimo, direi invece di imparare a gestire un MDB in rete, magari con DAO
e all'occorrenza, o pian piano, passare a qualcosa di più impegnativo.
Saluti ad Alfonso e Paolo,
Donatello

 Che, stranamente, io trovo più veloce e affidabile di ADO.
Mi intrometto solo per darti man forte. Anche io lavoro da consulente per
grandi aziende, che per scelta ponderata e non per mancanza di voglia, hanno
scelto di utilizzare DAO.
Oltre al grosso problema della velocità, c'è anche quello
dell'installazione. Al momento creare un setup per prodotto a larga
distribuzione con ADO che funzioni da Win95A a Win 2000 è un incubo. Con DAO
ormai l'esperienza è fatta e problemi non ce ne sono più.
Inoltre M$ pensa a utenti con macchine comprate negli ultimi 2 anni. Noi
dobbiamo girare su qualunque piattaforma comprata negli ultimi 5 o 6.
Le aziende hanno tempi di ammortamento dell'hardware che vanno fiscalmente
dai 3 ai 5 anni, quindi almeno per quel lasso di tempo normalmente non
cambiano computer. Gli utenti casalinghi, se non si tratta della minoranza
di power-user, cambiano PC più spesso ma prendono macchine a configurazione
minima, risparmiando sulla RAM e sull'HD.
Se vuoi vendere pacchettizzati a larga diffusione, questi sono dati che devi
tenere in considerazione.
Al momento mi occupo di Cd multimediali. Ad esempio, quanto occupa il
framework di base della piattaforma .NET? Mi posso permettere di sacrificare
contenuti dal CD per installarlo?
Ciao
*Roby*

 sacrificare contenuti dal CD per installarlo?
Utilizzare 2 CD?
Ciao.

 Utilizzare 2 CD?
Ci crederesti che per il prodotto di cui mi occupo attualmente, usare 2 CD
al posto di 1 costerebbe al mio cliente più di un miliardo? Non credo che
VB.NET
 sia "così" più conveniente. ;-)
Ciao
*Roby*

 tenere in considerazione.
Concordo pienamente su tutto quanto! ;)
CIAO!

 
VB.NET
 sia "così" più conveniente. ;-)
Quante storie per un miliardo :-P
Ciao.

 ha scritto nel messaggio
news:9mpnj5$3j0pt$1...@ID-94194.news.dfncis.de...

Scusa, Roberto, ma credo che la questione sia malposta. come dicevo nel mio
post originale a Zerodefex, non ho alcun dubbio che in certe situazioni per
diversi motivi (costo, parco hardware, impossibilità di aggiornare il
personale, ecc.) scegliere Dao sia corretto, ma a qualcuno che comincia e
che vuole sapre come orientarsi, credo che IL MINIMO sia di citare anche
ADO. Oppure gli suggeriresti di partire con il Dos? :)
Peraltro la questione delle prestazioni secondo me è tutta da discutere:
certo se usi seek e indici vai più veloce, ma pagando un prezzo in termini
semplicità, leggibilità, e portabilità del codice non indifferente.
Inoltre spesso la differenza di prestazioni è dovuta al fatto che si vuole
portare in un ambiente client/server un applicativo pensato per access e per
un accesso ai dati sequenziale. Il più delle volte se si lavora bene
sull'sql, riprogettando l'accesso ai dati, la differenza di prestazioni
diventa impercettibile, con il vantaggio che poi con un dbms serio,
all'aumentare del numero di record i tempi di esecuzione delle query variano
di molto poco. Invece in Access, che pure apprezzo ed uso moltissimo, anche
per applicazioni complesse, quello che con 50.000 record funziona alla
grande, con 400.000 magari ci mette 20 minuti per eseguire una query.
Infine, per quello che riguarda l'installazione, la situazione peggiore che
ti può capitare cioè win 95 prima versione, richiede circa 7 mega per
l'installazione completa di Dcom e Mdac. Non mi sembra tragico.
Per .Net è evidente che sarà diverso, ma questo succede sempre quando ci
sono grandi cambiamenti di tecnologia. Su .Net suggerisco di ascoltare
questo video:
http://msdn.microsoft.com/theshow/
Dura 1h 20', è in inglese, e necessita di una buona connessione ad Internet,
ma secondo me è un'ottima panoramica sull'uso e sui vantaggi _pratici_ di
.Net. Non sarà l'unica soluzione, ma certo è molto convincente. Per me poi
basterebbe solo il fatto che PUOI COPIARE I FILES IN UNA DIRECTORY ED IL
PROGRAMMA FUNZIONA per convincermi:).
Just my five cents
Ciao
Alfonso

 imparare, pero' la cosa continua a farmi paura.
Niente paura. C'è in giro una base di installato di programmi Access
veramente enorme. Ci fossero problemi eclatanti lo si saprebbe.
Il prodotto che ho appena terminato è rigorosamente monoutente ed ha una
base dati di 150Mb. 30 tabelle, di cui 25 in relazione tra di loro con tanto
di integrità referenziale.
Circa un anno di lavoro intenso, e non si è perso neppure un byte (e
comunque si fanno backup su base giornaliera).
Ciao
*Roby*

 
http://msdn.microsoft.com/theshow/
Lasciamo stare Ho già un amico che lavora in M$ Italia che cerca di
convincermi tutte le volte che ci si vede. ;-)
Grazie comunque
Ciao
*Roby*

 neppure un byte
Vorrei sperare che neppure il db piu' scalcinato perda dati ;-)
Non so, sbagliero' sicuramente, pero' l'utilizzo di Access, con
tutte le sue limitazioni, in aziende con un po' di giro di affari,
mi fa un'impressione decisamente negativa. Indubbiamente e' una mia
fissazione (una fra le tante).
Ciao.