Come si presume dal titolo ho necessità di programmare in pascal con Delphi, in C con Dev-c++ e con VBA in office 2003. Per i primi due esistono soluzioni valide, anche con programmi alternativi? Invece per office 2003 devo usare per forza wine o una macchina virtuale? Se ci sono alternative a quelle da me postate scrivetele pure che le prenderò in considerazione, tranne che utilizzano terminali: voglio un programma con menu non necessariamente in italiani. Uso Fedora 17 64 bit con KDE
Andiamo in ordine:
- Programmare in Pascal: Fpc e Lazarus. Fpc è il compilatore, è Object Pascal ed è compatibile con eccezioni a quello fu Borland, ora Embarcadero. Lazarus è un IDE che sfrutta il compilatore Fpc. Possiede una libreria, la Lcl, compatibile con quella Vcl. La libreria Lcl è agnostica, sempre nei suoi limiti. Infatti usa Gtk, Qt, Windows API ed altre. Lazarus è multi-piattaforma. Questo è il suo sito ( http://www.lazarus.freepascal.org/ ).
- Programmare in C/C++: il compilatore di default è il Gcc. Esiste anche il Mingw, il suo porting sotto M$ Windows, che puoi installare per eseguire cross-compilazioni. Quello Intel è a pagamento. IDE per C/C++. Qui uno si perde: KDevelop, Qt Creator, MonkeyStudio, QDevelop, Anjiuta, Code::Block, Eclipse. Aggiungiamoci pure KDevelop, questa volta però trinity-tkdevelop, che è la vecchia versione 3.5.5 fatta funzionare sotto Trinity Desktop, alias KDE 3.5 aggiornato. Questo è un fork.
- BASIC: in ordine abbiamo Gambas che è un IDE completo, con un linguaggio simil-VisualBasic non .Net però ad oggetti. Aggiungiamo poi MonoDevelop, che permette di programmare in VisualBasic.Net. VBA: abbiamo l’ambiente installato in LibreOffice, ex OpenOffice, ex StarOffice.
Credo di aver detto tutto…
Necessito di chiarimenti
- prima dovrei installare fpc per poter utilizzare Lazarus giusto? Programma che non è influenzato da KDE, quali sono le differenza con Delphi?
- Il compilatore è già preinstallato giusto? Come IDE a me servirebbe il più simile a Dev-c++ (devo programmare solo in c non in c++). Un mio amico ha detto che con wine funziona molto bene, è una valida alternativa?
- Non ho capito molto. Per, a mio parere stupide, necessità dovrei creare documenti xls, quelli di excell, con dentro i programmi scritti con VBA. Con libre office si può? Non ho appunto capito come posso fare
In risposta:
- Se tu usi Apper per installare i programmi le dipendenze vengono automaticamente risolte. Dovresti solo selezionare il pacchetto contenente Lazarus e automanticamente il compilatore Fpc verrà installato. Credo che le FAQ nel sito di Lazarus ti possano aiutare ( http://wiki.lazarus.freepascal.org/Lazarus_Faq ). In pratica le differenze consistono nel diverso nome di alcune units, nel fatto che alcune proprietà non esistono nella libreria Lcl, in un diverso formato delle form ed ad alcune differenze nella sintassi, cose comunque facilmente risolvibili.
- Il compilatore non è installato di default, anche se è presente nel supporto ( vado a memoria). Un IDE per programmare solo in C? Tutti gli IDE che ti ho elencato permettono di programmare in C/C++ indifferentemente. Per quanto riguarda usare Dev-C++ e Wine ricordati che Wine emula le chiamate di M$ Windows sotto Linux ed il codice prodotto funzionerebbe solo sotto Windows o Wine. Tanto vale installare Mingw sotto Linux per produrre codice da usare sotto M$. Se vuoi usare un IDE per programmare sotto Linux, che sia entry-level come Dev-C++ ti consiglierei Qt Creator, QDevelop e MonkeyStudio. Anche Anjiuta è da considerare, ma sono gusti personali.
- Con LibreOffice si può fare. Su LibreOffice Calc le macro le trovi su Strumenti|Macro|Organizza Macro|LibreOffice Basic… Per l’esecuzione devi andare su Strumenti|Macro|Esegui Macro…
- Risolto userò lazarus
- Ancora qualche dubbio: se utilizzo Mingw il codice varrebbe solo per linux? Quello che a me servirebbe è un codice eseguibile su windows e che possa anche fare il debugger da Linux
- Quindi LibreOffice ha le stesse caratteristiche di vba di office?
Mingw ti permetterebbe sotto Linux di produrre eseguibili M$ Windows. Tieni conto che il codice sorgente che tu dovrai scrivere è " vecchio stile", ossia niente MFC od altro. Siamo al WinMain ed al GetMessage, per intenderci. I libri di Charles Petzold spero che tu li abbia letti. Visto che il tuo codice, da quello che leggo, dovrebbe essere multi-piattaforma, forse ha bisogno di qualcos’altro. Mai pensato di usare un framework come Qt? Tieni conto che: il codice sorgente può essere compilato su Linux, M$ Windows e Mac OS X ( ed altre piattaforme); possiede un IDE, Qt Creator, col debugger integrato ( gdb) e l’integrazione col designer d’interfaccie grafiche, Qt Designer; è veloce; è espandibile per mezzo dei plugins; puoi scrivere programmi in QtQuick, QML, C, C++ ( anche solo testo). Nel tuo caso si tratterebbe di compilare il sorgente per esempio su Linux, poi copiare tutti i files su una penna USB e ricompilarlo su Windows usando il medesimo IDE. Riguardo LibreOffice le macro di M$ Office dovrebbero essere convertite, esisteva questa possibilità sull’OpenOffice di OpenSUSE, se non ricordo male. Dovrebbero averlo integrato da tempo.