Domande frequenti su Proteus (FAQ) |
Di seguito potete trovare alcune domande che ci vengono spesso poste su Proteus; se volete sottoporci questioni che non sono contemplate in questa lista, potete scrivere a: szp@zanella-hifi.com.
Risposte |
D: Quali sono i
vantaggi nell'usare Proteus rispetto ad altri linguaggi esistenti?
R: Un programma Proteus è compatto: le centinaia di
funzioni predefinite ad alto livello consentono di ottenere grandi risultati con
pochissimo codice. Essendo un linguaggio interpretato, è possibile apportare modifiche al
volo direttamente dal cliente. Volendo proteggere il proprio lavoro, si possono
crittografare e firmare i propri programmi, portandosi dietro un sistema di sviluppo che
sta su un floppy disk. Un qualsiasi programma può girare anche come servizio, senza
alcuna modifica. La potenza di Proteus nella gestione di file testo e nell'elaborazione di
stringhe è semplicemente ineguagliata: nessun altro linguaggio offre la sua versatilità.
Le funzioni per emulazione di tastiera permettono di collegare centinaia di apparecchi
personalizzando completamente il flusso dei dati in ingresso. Programmi con interfaccia a
carattere, da far girare attraverso un telnet server, si possono scrivere in pochi minuti
e senza sforzo; gli applicativi così realizzati sono a 32 bit, quindi veloci ed
efficienti, e permettono l'accesso a tutte le risorse della macchina, incluse sorgenti
dati ODBC, porte seriali, socket, risorse di rete, pipe, ecc.
D: Quanto tempo
richiede l'apprendimento di Proteus?
R: Il sistema di sviluppo comprende decine di esempi, che
permettono di apprendere molto rapidamente quali sono le soluzioni ai più comuni problemi
che si incontrano nella scrittura di programmi in Proteus. Molti linguaggi di
programmazione sono forniti con pochi frammenti di codice, che mostrano sostanzialmente
solo la sintassi delle loro funzioni: Proteus Center va oltre, integrando un deposito per
i propri applicativi, una base dati di esempi ed un manuale ricchissimo di informazioni
consultabile istantaneamente. Tipicamente, avendo esperienza di programmazione, in un paio
d'ore si possono realizzare i primi applicativi in Proteus.
D: Perchè
creare un servizio invece di un normale programma?
R: I sistemi operativi Windows NT, 2000, XP e 2003 offrono
la possibilità di installare dei servizi. Un servizio è un applicativo che viene avviato
non appena il sistema operativo si carica; esso prescinde, quindi, dal fatto che un
operatore acceda al sistema mediante nome utente e password. Installando uno script
Proteus come servizio si ha pertanto la possibilità di acquisire e memorizzare dati,
gestire print server ed altro senza il bisogno di dare l'accesso al PC ad un operatore. In
ambito industriale ciò si traduce in una maggiore sicurezza, in quanto gli operatori non
possono (anche solo inavvertitamente) manomettere il sistema operativo, installare
applicativi non autorizzati o creare problemi al normale svolgimento delle operazioni.
Anche se un PC viene utilizzato interattivamente, avere le funzioni fondamentali spostate
in un servizio rende impossibile ad un utente privo di diritti amministrativi la
possibilità di fermare il programma. NOTA: sistemi operativi recenti (Windows Vista, 7, 8)
non permettono di fare emulazione di tastiera da un servizio; in questo caso, utilizzare
Proteus come applicazione.
D: Che vantaggi
offre l'impiego di Proteus al posto di un apparecchio hardware per l'emulazione di
tastiera?
R: Gli emulatori di tastiera hardware sono, generalmente,
complessi da configurare e richiedono l'utilizzo di cavi ad Y per collegare
contemporaneamente una tastiera tradizionale; sui PC portatili talvolta è necessario
aggiungere un apparecchio che simuli la presenza di una tastiera esterna per permetterne
il corretto funzionamento, andando ad aumentare l'ingombro dell'apparecchio. I dati che
l'emulatore riceve di solito non possono essere elaborati e quindi sono ritrasmessi così
come sono; talvolta, alcuni caratteri terminatori particolari (come combinazioni di tasti
speciali) non possono essere emulate. Proteus, invece, permette di simulare qualsiasi
carattere; non solo, è in grado di spezzare ed elaborare le informazioni, aggiungere data
e ora, inserire preamboli, postamboli e ritardi come necessario, affiancare ai dati
ricevuti ulteriori informazioni statiche oppure dinamiche (cercate, ad esempio, in un
database); le informazioni ricevute possono essere ordinate prima dell'invio, le quantità
accorpate, i dati non rilevanti eliminati, ecc. Proteus può inviare i dati dopo aver
ricevuto completamente la trasmissione, in quanto non ha limitazioni sul buffer in
ingresso: in questo modo si evitano trasmissioni di dati parziali dovuti all'accidentale
prelievo prematuro del terminale. Ancora: Proteus può selezionare la finestra alla quale
inviare i dati, evitando che i tasti emulati vadano a finire in un'applicazione
inavvertitamente portata in primo piano. Proteus può anche salvare contemporaneamente i
dati ricevuti in un file di testo oppure in un database, per controllo o per sicurezza. In
Proteus è facile costruire nuovi protocolli e quindi sostituire gli apparecchi collegati
con quelli di altri produttori, oppure adattare il flusso dei dati ad un preciso formato
previsto. Anche apparecchi che normalmente non hanno la possibilità di essere messi in
emulazione di tastiera (es. dispositivi in rete, seriali, USB, Bluetooth...) possono
essere facilmente integrati con Proteus. Infine, si tenga presente che qualsiasi
componente hardware aggiunto è un componente in più che si può rompere; l'utilizzo di
Proteus permette quindi di avere una preoccupazione in meno.
D: Che cos'è un
programma con interfaccia a carattere? Perchè potrei averne bisogno?
R: La maggior parte dei programmi che girano oggi sui
sistemi operativi Windows sono software grafici, con pulsanti, caselle di testo e menu. Su
altri sistemi operativi, come Unix e AS/400, è invece ancora comune vedere applicativi a
carattere, simili a quelli che è possibile far girare in un prompt di Ms-Dos. Gli
applicativi a carattere non permettono, di norma, l'uso del mouse e non mostrano simboli
grafici a video, ma solo caratteri alfanumerici e, talvolta, qualche carattere semigrafico
per disegnare delle cornici. Questo tipo di applicativi è molto leggero, in quanto
impegna meno risorse di calcolo per gestire l'interfaccia. Uno dei motivi per i quali si
potrebbe voler realizzare un applicativo di questo genere è per far avviare il programma
attraverso un Telnet Server. Telnet è un protocollo della famiglia TCP/IP attraverso il
quale si possono far girare diverse emulazioni di terminale: es. VT100, VT220, ANSI, 5250,
3270, ecc. Collegando un client Telnet ad un Telnet Server, si possono lanciare
applicazioni ed interagire con esse, come se l'applicativo girasse sul client. Ciò è
molto utile, ad esempio, se si vuole dotare gli operatori di un'azienda di terminali
portatili: quasi tutti i terminali in radiofrequenza posseggono, infatti, un client
Telnet; installando un Telnet Server in ambiente Windows e scrivendo programmi con Proteus
è possibile realizzare un sistema multi-utente con poco sforzo, accedendo nel contempo a
tutta la potenza delle risorse rese disponibili da Windows.
D: Come è
protetto Proteus?
R: Proteus può essere protetto in diversi modi: chiave hardware da collegare ad una
porta USB; chiave software. Normalmente la protezione software viene offerta ai
clienti esteri; questa chiave viene generata a partire dal hardware ID del
computer sul quale dovrà essere installato il software. La chiave hardware permette, inoltre, di
proteggere e firmare i propri programmi.
D: I programmi
che realizzo in Proteus sono liberamente leggibili e modificabili. Come posso tutelare la
mia proprietà intellettuale? Come posso impedire ad un mio cliente di utilizzare lo
stesso programma su altri PC, oppure di distribuirlo a terzi?
R: Proteus integra un efficace e flessibile sistema di
protezione, con il quale tutti questi problemi sono superati. Nel pacchetto viene fornita
un'utility che cifra con chiavi casuali il sorgente ed aggiunge una firma digitale basata
sul codice della chiave di protezione di Proteus (che è diverso per ogni chiave),
permettendo quindi di distribuire un programma firmato e protetto. Con sole tre linee di
programma si può impedire la redistribuzione del proprio software, legandolo alla chiave
hardware di Proteus utilizzata dal cliente per far girare l'applicativo.
D: E' possibile
realizzare applicativi in Proteus che non richiedano la chiave di protezione?
R: No, non è possibile: quando si vende un proprio
programma sviluppato in Proteus è necessario far acquistare al cliente una licenza di
Proteus. Sono previsti, comunque, sconti sul listino se uno sviluppatore acquista un
numero significativo di licenze per la rivendita.
D: Esiste una
versione "runtime" di Proteus, che costi meno, per eseguire solo applicativi
compilati? E una versione "developer" o "educational" a prezzo
agevolato?
R: No, Proteus è disponibile in un'unica versione; sono
previsti sconti solo per l'acquisto contestuale di un numero significativo di licenze. Uno
sviluppatore, restando entro i tre minuti di tempo di esecuzione, può comunque scrivere e
testare i propri programmi con la versione demo di Proteus.
D: In quali
lingue è disponibile Proteus?
R: Attualmente, solo inglese ed italiano. Manuale, esempi e
messaggi di Proteus sono completamente tradotti in queste due lingue.
D: Proteus è
molto potente, ma come faccio se avessi bisogno di aggiungere nuove funzioni?
R: Uno sviluppatore può scrivere nuove funzioni in Proteus,
ma può anche collegare funzioni esterne, scritte in Visual C++ e realizzate in forma di
DLL. Nel pacchetto è fornito un esempio di DLL che può essere espanso ad integrare nuove
funzioni personalizzate.
D:
Che problemi posso avere nell'installazione di Proteus come servizio?
R: Qualora all'avvio di Proteus come servizio si
verifichi l'errore 1067 o altri errori, verificare le seguenti circostanze e le
corrispondenti azioni correttive:
C:\Documents and Settings\All Users\Dati applicationi\SZP\PCenter\Service
sarà presente un file Protsvc1.reg con un contenuto simile al seguente:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\SZP\Proteus]
"Script1"="C:\\Documents and Settings\\All Users\\Dati applicationi\\SZP\\PCenter\\Repository\\script.prt"
Importare semplicemente questo file REG e avviare il servizio
Start -> Pannello di Controllo -> Strumenti di Amministrazione -> Servizi -> Proteus Service 1
(doppio click o selezionare Proprietà); nella scheda Connessione inserire un Account con privilegi amministrativi, che abbia accesso alla cartella dove si trova lo script PRT ed il servizio Proteus1.exe (normalmente in C:\Programmi\ProteusCenter\Service\)
D:
Alcuni caratteri sono introdotti in modo inesatto in emulazione di tastiera;
come posso correggerli?
R: nel caso di utilizzo dell'emulazione di tastiera
attraverso client Citrix, si potrebbe rendere necessaria la traduzione di
determinati caratteri utilizzando la modalità estesa (Alt + 3 cifre), in quanto
Citrix mappa incorrettamente alcuni tasti. Se si segue lo schema utilizzato
negli esempi di emulazione di tastiera forniti con il pacchetto, è sufficiente
modificare opportunamente la funzione KTRANS aggiungendo opportune eccezioni per
i caratteri mappati in modo errato:
FUNCTION KTrans(s)
l = STRLEN(s)
r = ""
FOR x = 1 TO l
c = SUBSTR(s, x, 1)
SWITCH c STREQ
ON " "
r = r "{ALT DOWN}{NUMPAD0}{NUMPAD3}{NUMPAD2}{ALT UP}"
ON "-"
r = r "{ALT DOWN}{NUMPAD0}{NUMPAD4}{NUMPAD5}{ALT UP}"
ON "~"
r = r "{ALT DOWN}{NUMPAD1}{NUMPAD2}{NUMPAD6}{ALT UP}"
ON "{"
r = r "{ALT DOWN}{NUMPAD1}{NUMPAD2}{NUMPAD3}{ALT UP}"
ON "}"
r = r "{ALT DOWN}{NUMPAD1}{NUMPAD2}{NUMPAD5}{ALT UP}"
ON "+", "^", "%", "(", ")", "[", "]"
r = r "{" c "}"
OTHER
r = r c
OFF
NEXT
RETURN r
Inizio pagina |