F.A.Q.

 

Egregi lettori

Le vostre domande sono meritevoli della nostra attenzione. Altresì mi delizio per i complimenti ricevuti. In fin dei conti, chi scrive articoli, su internet o altre piattaforme orientate ai godimenti di un pubblico eterogeneo, trastulla l'ispirata verve sulle accondiscendenze dei propri lettori. Il successo dei miei articoli è così dimostrato dall'interesse di un vasto pubblico e dal continuo flusso di domande che mi vengono poste in merito ai database. Chiaramente non sempre è possibile rispondere, o rientrare in tempi accettabili: chiedo scusa ai lettori, ma, come ebbi già modo di partecipare in altre occasioni, il tempo, per chi accudisce il nostro mestiere, e un despota inflessibile. Mi compiaccio comunque e sempre della vostra cortese attenzione, che onora il mio lavoro e spinge il nostro staff ad essere sempre a disposizione del pubblico. Come ricambiare le vostre attenzioni? Rispondendo alle domande, che sono un diritto di chi legge ed impongono dovere a rispondere per chi scrive! Al vostro servizio dunque, umile servitore del mio vasto ed appassionato pubblico. Premesso ciò passiamo alle risposte.

Salvatore

D

Esiste un sistema per rendere un'applicazione utilizzabile solo per un determinato periodo di tempo, scaduto il quale l'applicazione non sarà più utilizzabile, se non con l'uso di un codice seriale che serva da sblocco?

Di sistemi ne esistono diversi, più o meno efficaci. Potrebbe impostare il suo Applicativo con un contatore che tenga conto del lancio del programma. In pratica vengono contate le volte in cui viene esploso l'eseguibile, quindi, giunti al numero desiderato, il programma viene bloccato. Ancora potrebbe impostare una data precisa entro la quale, tramite un'apposita routine di comparazione, il programma smetta di funzionare. Altresì, se l'applicativo si interfaccia con motori database, può impostare, ad esempio, per una determinata tabella, un certo numero di record, raggiunto il quale, il programma giunga ad un blocco. Se poi ha dimestichezza con il codice, potrebbe far si che il numero seriale di sblocco venga generato dal programma stesso in base ad un algoritmo che contempla, nella sua risoluzione, la data di scadenza, il numero dei dati impostati (ad esempio l'eseguibile, i record ed altro). Vi sono altri sistemi molto più complicati, che vanno a leggere la dotazione Hardware del sistema in cui vengono installati e si bloccano in base a degli algoritmi matematici piuttosto complessi.
Per fare un buon lavoro in questo senso, è necessario avere un'ottima conoscenza del linguaggio, degli algoritmi orientati alla sicurezza del software, ed una smisurata dimestichezza del registro di Windows, oltre, naturalmente, ad una grande fantasia. Infine tenga presente che, un lavoro del genere, deve tenere conto di tanti fattori contingenti al software medesimo, tra cui sicurezza, bacino d'utenza ed altro.

Mi permetto di suggerire che se volete creare un programma a scopo valutativo (una DEMO) la soluzione più sicura è quella di creare un software con funzioni limitate non inserendo nel sorgente che andrete a compilare le parti di codice delle routine disabilitate. Credo che ormai chiavi software non eludibili siano solo un ricordo dei tempi passati  Delphiruby (Mauro).

 

17/07/2005

 

R

 

Salvatore

D

Esiste una procedura che funzioni da backup per le tabelle PARADOX che serve anche da per ripristinare gli stessi valori/dati dopo per esempio una formattazione del pc?

Sotto questo punto di vista, il PARADOX è piuttosto carente. E' necessario che lei utilizzi gli strumenti messi a disposizione da Delphi e che le consentono di dialogare con programmi tipo WINRAR, WINZIP o altro. Esistono comunque dei componenti progettati appositamente per Delphi, alcuni scritti anche dal nostro staff, che sono in grado di gestire egregiamente qualsiasi operazione di backup. E' possibile che, alcuni di questi, in seguito, vengano resi disponibili nel nostro sito. Ad ogni modo, ogni qualvolta consegna degli applicativi ai suoi clienti, rammenti loro che le operazioni di backup sono di vitale importanza, indipendentemente dal fatto che il suo applicativo sia dotato di uno strumento in grado di eseguire tale operazione oppure che per far ciò utilizzino un qualsivoglia software reperibile oggi in commercio. Se possibile, apponga per iscritto queste cose in fase di committenza.

 

17/07/2005

 

R

  

Salvatore

D

Mi piacerebbe avere le idee chiare in merito alle cosiddette conversioni, del tipo StrToInt  oppure TimeToStr  ecc ecc. Comunque mi riferisco ai diversi casi in cui si anno determinati valori che si devono convertire in diversi formati sia tramite i Database che all'uso del componente Edit.

Le conversioni di valori debbono appartenere al bagaglio tecnico e culturale di un programmatore come il breviario ad un sacerdote. Quando mi apprestai a realizzare il "mio sistema" osservai quanto fosse importante, per la struttura operativa dello stesso, la conoscenza approfondita delle variabili e delle relative conversioni. Questa la si ottiene studiando a fondo le guide corredate con Delphi oppure i libri dedicati. In merito, per facilitarle il lavoro le suggerisco questo schema mentale, in base alle funzioni da lei citate:
StrToInt = Str(valore stringa) To (a) Int (Valore intero). Questa è dunque una Funzione in grado di trasformare un valore stringa (Testo) in un valore intero. Ad esempio, se il contenuto di una casella di testo, quindi una Edit, è di 78, la funzione in oggetto è in grado di attribuire questo valore al numero intero corrispondente. Per convertire quindi un valore intero ad un valore stringa occorre fare il ragionamento inverso, e cioè IntToStr. E' importante che lei realizzi il contenuto della funzione prima e dopo il parametro di attribuzione To. Il concetto di fondo esige quindi la capacità a discernere i valori di conversione dal parametro di attribuzione. Sembra banale, eppure questo è il metodo più efficace per apprendere rapidamente il concetto di conversione tramite funzione. E posso garantirle che funziona, poichè ho avuto modo di sperimentarlo con tanti giovani virgulti orientati ad accogliere la dottrina che porta al paradiso dei programmatori!

 

17/07/2005

 

R

  

Salvatore

D

Come posso fare nella determinazione dell'ora, se si tratta di am o pm. Io faccio così: Edit1.Text:= TimeToStr , inserisco ciò nell'onclick del componente time e mi restituisce l'ora di sistema, ma non visualizzo se am o pm.

Il metodo più efficace per ottenere la data del proprio sistema è sicuramente la funzione FormatDateTime. Flessibile, versatile, molto potente. Anche se non l'unica! Per quanto riguarda il suo problema, provi questo codice, le verrà restituita data ed ora in base alle sue richieste. Naturalmente puù omettere i parametri concernenti la data e chiedere alla funzione di restituirle esclusivamente l'ora come lei desidera:
Label1.Caption:= FormatDateTime('dd, mmmm, yyyy, hh:mm AM/PM', Now );
Nella speranza di essere stato sufficientemente esaustivo, le porgo i migliori saluti.

17/07/2005

R

Roberto

D

Dopo esser passato a WIN 10 quando faccio partire un progetto Delphi (.DPR o .DPROJ) mi viene il seguente errore : c:\Windows\Microsft.NET...\Borland.Delphi.Targets" was not found e mi chiede se il PATH è corretto, cosa posso fare?

Bisogna copiare in C:\Windows\Microsoft.NET\Framework\v2.0.50727 i seguenti files:
Borland.Common.Targets
Borland.Cpp.Targets
Borland.Delphi.Targets
Borland.Group.Targets
II files dovrebbero trovarsi nella cartella "old windows" ma se non c'è la cartella volendo si possono scaricare da " QUI "
 saluti.

10/09/2015

R

NEXT PAGE

Indice