Delphi w32s

nice C++ tutorial for beginners, from embarcadero

Thursday 13 December 2012, 16:27
ivan.revelli@synaptica.info

Those sections of C++ tutorials are very simple. Otherwise they explain the differences between Delphi (pascal) language and C++.

Good job:


Session 1:

Session 2:


Delphi XE2 & Firemonkey some answers….

Sunday 7 August 2011, 18:01
ivan.revelli@synaptica.info

In questi giorni c’è un’eccezionale attività relativa a quest’argomento sulla rete, la mia curiosità di provare questo prodotto non posso negarlo è molta. Parte del mistero relativo a FireMonkey si è risolto da voci ufficiali si tratterebbe dell’acquisto di VGScene/DXScene da parte di Embarcadero.
Per quanto mi riguarda rimaneva comuque il desiderio di capire come questa tecnologia potesse essere integrata in Delphi XE2 ed ho trovato in rete i seguenti video che ne dimostrano potenzialità e semplicità d’uso che davvero non mi aspettavo. Credo che questa versione di Delphi sia adirittura più rivoluzionaria di Delphi 2.
Inoltre non mi aspettavo l’integrazione con iOS e X-Code cosa di cui non si era minimamente accennato in passato.

Questo primo video mostra come creare da zero un app. Nativa per Mac con Delphi e FireMonkey e come sia semplice compilarla per i due ambienti :



Mentre questo secondo video (ufficiale dal blog di Embarcadero) mostra come sia possibile creare la stessa applicazione per Win32, Win64, OSX e tramite l’esportazione da Delphi a XCode agli ambienti iOS (iPhone , iPAD) :



Leggendo qua e la ho letto anche che stanno lavorando per aggiungere le piattaforme Linux e Android a questa fantastica tecnologia. Qui ovviamente in merito ad Android mi sorgono altre perplessità (tipo che in Android in teoria si può esclusivamente sviluppare in Java e soprattutto non con linguaggi nativi… ma stiamo a vedere)

In queto articolo pubblicato sul sito di Embarcadero , David Intersimone ed altri dello staff rispondono a molti questi proposti dai lettori e se ne traggono infomrazioni preziose in merito al prodotto e a eventuali limiti dello stesso, il link all’articolo : http://blogs.embarcadero.com/davidi/2011/08/01/41062#comment-26065

a presto
ivan

http://www.delphiformac.com

FireMonkey Mistery & Rad Studio XE2

Wednesday 3 August 2011, 16:28
ivan.revelli@synaptica.info

Ieri consultando il mitico blog di Embarcadero ho scoperto che a breve uscirà la nuova versione di Rad Studio che come al solito conterrà la nuova versione dei prodotti Delphi, C++ Builder , Delphi Prism e RadPhp.
Le novità questa volta sono tantissime, come si evince dal post di DavidI http://blogs.embarcadero.com/davidi/2011/08/01/41062/ , ovviamente c’era da aspettarselo visto che da tempo è disponibile il nuovo compilatore a 64bit per Delphi e C++ Builder allora non ancora preso dall’entusiasmo mi guardo le nuove caratteristiche dell’ambiente pubblicate su tale post :

 

On the RAD Studio XE2 World Tour you will learn how to:

* Create GPU-powered FireMonkey applications that will keep your customers engaged
* Build 64-bit Delphi applications to take advantage of the latest hardware
* Create a single application and target both Windows and OS X
* Extend your multi-tier DataSnap applications with new mobile and cloud connectivity in RAD Cloud
* Connect any visual element to any type of data using LiveBindings™
* Modernize the look and feel of your Windows applications with VCL styles
* Create mobile-optimized web applications and standalone apps for iOS and Android devices using RadPHP

With Delphi and C++Builder in RAD Studio, you can write an app once and compile it for Windows and Mac. C++Builder apps can be compiled for Windows and Mac. Need apps for the web? RadPHP has you covered with a full visual web and PHP development solution. And it’s all done with the power and speed of component-based visual development that saves you time while still giving you full access to source code and hardware when you need it.

 

 

Incredile, in tutto silenzio sembre che con Delphi XE2 e C++ Builder XE2 sia arriavata anche la novità della piattaforma Mac, la cosa incredibile che Embarcadero ha registrato a tal proposito un nuovo marchio “FireMonkey” che dovrebbe essere un layer grafico cross-platform che consente alle applicazioni VCL di essere portate su più piattaforme anche trattandosi di codice nativo.
Un piccolo documento che ho trovato in merito a firemonkey http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/ , questo progetto sembra contenere tantissima tecnologia , ma non ho trovato nulla di ufficiale o dei demo in proposito, dalle vodi di corridoio sembra che permetta di :

  1. Gestire gli stili nelle VCL applications
  2. Permettere un facile porting verso la piattaforma Mac (avrà qualcosa in comune con le QT ??!! boh)
  3. Implementare la gestione della GPU cosa che credo sia gestita tramite la nuova tecnologia OpenCL

la curiosità è moltissima , il giorno 21 Settembre è prevista a milano una presentazione di Xe2 a cui ci si può iscrivere gratuitamente e ci sarò.

Aggiornamento del 40/08/2011 : ho trovato un articolo in merito a FireMonkey e XE2 all’indirizzo http://www.deltics.co.nz/blog/?p=735

a presto
ivan

Google Maps API demo

Monday 21 February 2011, 17:39
ivan.revelli@synaptica.info

Ciao,
con un ns collaboratore era sorta l’esigenza di utilizzare le mappe di google da un applicazione nativa scritta in Delphi , sorgeva l’esigenza di usare un browser il classi TWebBrowser di Delphi per richiamare le mappe, ma questo implicava pilotare dall’applicazione le mappe tramite l’automation del browser e l’esecuzione di Javascripts.
A questo punto mi son documentato sul sito ufficiale di google dove vengono documentate le API (http://code.google.com/intl/it/apis/maps/index.html) per i programmatori e mi son accorto che ci sono vie anche più pratiche e funzionali e mi son orientato a gestire direttamente le immagini dalla mia applicazione Delphi, le API di Maps per gestire direttamente le immagini statiche (http://code.google.com/intl/it/apis/maps/documentation/staticmaps/).
Questa soluzione è a mio avviso la migliore dato che è replicabile con qualsiasi ambiente di sviluppo che abbia una classe socket di connessione tcp/ip.

Alla fine il clientino di demo l’ho realizzato utilizzando Delphi 7 , per scaricare le immagini ho utilizzato le classi di Indy e per gestire l’immagine in png ho usato il componente pngObject dei Jedi.

Qui pronto da scaricare con Sorgenti ed eseguibile : [download id=”14″]

In merito alle nuove tecnologia c’è un demo relativo alle tecnologie REST applicabili con le nuove versioni di Delphi sul sito di Embarcadero http://edn.embarcadero.com/article/40450 e un ottimo video creato da Cantu dove è presente un demo di queste cose : http://www.youtube.com/watch?v=VoANe6ZwMjI&feature=player_embedded#at=232

a presto
ivan

[download id=”14″]

Embarcadero Rad Studio XE

Tuesday 10 August 2010, 15:36
ivan.revelli@synaptica.info

delphi

Some good news from Embarcadero, some products like Delphi4Php (now radPhp) and Delphi Prism and the new XE IDE for Delphi (now Delphi XE) and C++ Builder.

An exception to the name, more news on RadStudio seems to be:

1) integration with Subversion SVN
2) The ability to generate sequence diagrams directly from the IDE to increase the degree of readability of the Pascal code

On Delphi4Php the name has changed completely in RadPhp, watching the demo can be seen substantial improvements on IDE. In this upgrade Embarcadero is focused on improve quality and performance to the existing products.

About Delphi Prism there is an integration with SVN too like the same in Rad Studio (Delphi and C++Builder).

The work done seems really good but : what about cross-platform mentioned in the roadmap ? What about the mac osx compiler?

Click here to view the sneak video about rad studio XE

rgds
ivan

Backup di Virtual Web Server

Wednesday 17 March 2010, 15:01
marco.brendolini@makeallweb.it

Di questi tempi si parla tanto di virtualizzazione, in particolar modo applicata ai server, così che anche io ho deciso di utilizzare tale tecnologia per l’installazione di un web server.
La configurazione scelta è la seguente:

* Installazione di UBUNTU Server 9.10 minimale come HOST con installazione di VMWARE Server
* Installazione di una macchina virtuale UBUNTU Server 9.10 che chiameremo (IN) in quanto non esposta sul WEB la cui funzione è quella di ospitare i vari database che rimangono per così dire protetti
* Installazione di una macchina virtuale UBUNTU Server 9.10 che chiameremo (OUT) in quanto esposta sul WEB e che ospiterà  i vari servizi WEB

Di seguito cercherò descrivere la procedura da me scelta, per effettuare un backup completo del server; sicuramente esistono metodologie
molto più complesse, efficaci e costose, il merito della procedura da me scelta è il bassissimo costo.

Le operazioni principale sono:

1) Shutdown delle VM
2) Tar delle VM
3) Copia dei TAR su HD esterno con rotazione delle copie di una settimana
4) Allineamento delle VM su di un secondo Web Server
5) Restart delle VM

Provo a descrivere nel dettaglio ogni punto:

Tutte le operazioni sono eseguite da un paio di shell script schedulati per essere eseguiti ogni notte.
Cominciamo con il punto 1, di seguito riporto le istruzioni per lo shutdown delle VM:

vmrun -T server -h https://localhost:8333/sdk -u root -p “password” stop “[standard] serverwebin/Ubuntu.vmx”
vmrun -T server -h https://localhost:8333/sdk -u root -p “password” stop “[standard] serverwebout/Ubuntu.vmx”

Nel punto 2 vengono creati i TAR compressi delle VM impostando la data nel nome del file:

tar czvf /root/backup/vmbackup_date +%d%m%Y.tgz /var/lib/vmware/Virtual\ Machines/

Nel punto 3 viene effettuata la copia del TAR su HD esterno, in particolare le istruzioni che seguono descrivono:

1) inizializzazione dell’hd esterno da parte del sistema operativo
2) copia del TAR compresso sul disco esterno
3) cancellazione del TAR copiato dal disco locale
4) cancellazione dal disco esterno del TAR compresso più vecchio di una settimana
5) disattivazione del disco esterno da parte del sistema operativo

mount /dev/sdc1 /media/hdext
cp /root/backup/vmbackup_date +%d%m%Y.tgz /media/hdext
rm -f /root/backup/vmbackup_date +%d%m%Y.tgz
rm /media/hdext/vmbackup_date -d '7 day ago' +%d%m%Y.tgz
umount /media/hdext

A questo punto la copia delle macchine virtuali è completata occorre quindi riattivarle. L’operazione potrebbe essere eseguita dallo stesso script descritto
precedentemente, tuttavia per il fatto che la mia procedura prevede che le macchine virtuali vengano copiate anche su un secondo server di backup, lo startup dovrà  essere effettuato in un secondo momento.

Nella quarta fase della procedura un secondo server di backup effettua una copia delle macchine virtuali prelevandole dal server principale tramire RSYNC.
Di seguito riporto le istruzioni per la copia RSYNC:

DEST=”/var/lib/vmware/”
rsync -avz –exclude-from=/root/scripts/rsync-exclude –delete xxx.xxx.xxx.xxx::var/var/lib/vmware/Virtual\ Machines $DEST

Al termine della sincronizzazione delle macchine virtuali tramite RSYNC il server secondario effettua lo startup delle stesse sul server principale. Di seguito riporto le istruzioni necessarie:

vmrun -T server -h https://xxx.xxx.xxx.xxx:8333/sdk -u root -p “password” start “[standard] serverwebin/Ubuntu.vmx”
vmrun -T server -h https://xxx.xxx.xxx.xxx:8333/sdk -u root -p “password” start “[standard] serverwebout/Ubuntu.vmx”

L’indirizzo IP è ovviamente quello del server principale.

E’ possibile che il server secondario abbia un qualsiasi problema durante la sincronizzazione delle VM, questo potrebbe impedire lo startup delle stesse sul server principale, per evitare
di avere il server web inattivo, ho deciso di replicare e schedulare lo startup delle VM anche sul server principale in un orario in cui sicuramente la sincronizzazione è già  terminata, se le macchine
sono già  attive, l’istruzione, semplicemente non viene eseguita.

Rimane solo da schedulare i vari scripts tramite crontab.

Alla prossima

Scoprite cosa possiamo fare per il vostro business
I nostri linguaggi