Newsgroup: it.comp.lang.delphi
Titolo: Perchè programmare in Delphi ?

Salve a tutti.
Sviluppo da circa un anno e mezzo applicazioni in visual c++ per ambienti
windows.
Premetto che  non mi intendo di Visual Basic ma trovo molta difficoltà a
realizzare
interfacce particolarmente accattivanti ed intuitive con VC++. Devo pero'
ammettere
che le potenzialità (in termini di velocità ed affidabilità del codice) di
VC++ sono
notevoli e quindi questa mancanza di facilità nella creazione
dell'interfaccia passa
in secondo piano.
Negli ultimi tempi mi hanno parlato molto bene di Delphi che per quel che ne
so
dovrebbe essere la versione ad oggetti del vecchio linguaggio Pascal.
Vorrei sapere se delphi è + o - facile di Visual Basic, per la creazione di
interfacce.
Inoltre mi chiedo se sia adatto per la scrittura di applicazioni che scenono
fino ad
un livello abbastanza vicino alla macchina (operazioni bit a bit,
preparazione ed invio di buffer
su linee seriali, ottimizzazione dell'uso della cache e della ram, ecc ).
Insomma sono alla ricerca di un linguaggio stabile e robusto come il C++ ma
che mi
aiuti a divertirmi nella realizzazione di interfacce grafiche. Mi piacerebbe
inoltre capire
se Delphi è un buon strumento per lo sviluppo di applicazioni DataBase.
So' di aver avanzato diverse pretese ma spero che qualcuno mi aiuti a capire
se è il caso
di passare da VC++ a Delphi.
Grazie anticipatamente a tutti.

ciao,
io sono un programmatore visual basic da molti anni, e questo mi ha dato
parecchie soddisfazioni,
nella velocità di scrivere e debuggare codice, ma manca la potenza e la
stabilità del codice compilato,
Borland Delphi unisce le due cose non per niente è uno dei migliori ambienti
di sviluppo grafico anche
in linux.
Credo  che se cerchi il giusto equilibrio tra potenza e facilità ti conviene
imparare anche e non solo delphi.
Vanni.

1) l' ide di delphi ti permette di risparmiare parecchio tempo per la
progettazione di quanto serve per una interfaccia utente funzionale ed
esteticamente curata.
2) vari metodi di accesso di database che ti permettono di creare
applicazioni distribuite senza troppo lavoro.
Delphi supporta ADO e la sua tecnologia nativa, il dbexpress, deve crescere
un po in quanto il primo rilascio lo si č avuto con la versione 6.0 di
delphi (anno 2001).
3) Premesso che i c non lo conosco, posso dirti che delphi ha naturalmente
il supporto per i puntatori. Gli stessi eventi dei componeti altro non sono
che puntatori a metodi/funzioni.
4) Esiste una mirirade di classi per gli scopi + strani: una unit apposita,
CLASSES, fornita con i sorgenti, ne contiene la maggior parte
5) Data module, ovvero, "contenitori di componenti non visuali".
In questi puoi mettere oggetti di accesso ai dati e quant'altro non č legato
alla interfaccia utente della applicazione.
Questo permette una notevole separazione tra la logica e i form, chi si
occupano solo di mostrare all'utente cio che gli serve.
6) Il progetto Jedi, tra le altre cose, si occupa della traduzione in pascal
degli header delle api di Winsozz
7) Pieno supporto per COM
8) Socket su protocollo TCP/IP
9) Documentazione in formato hlp e pdf
10) delphi funziona
Bye
A.

 se è il caso di passare da VC++ a Delphi.
Non e' strettamente necessario che tu passi dall'uno all'altro.
Avere una buona conoscenza di entrambi puo' essere una bella risorsa, ben
spendibile in campo professionale.
--------------------------------
Inviato via 
http://usenet.libero.it

 di passare da VC++ a Delphi.
Conservateli entrambi, un programmatore formato così non ha più problemi per
qualsiasi tipo di esperienza futura. Cmq entrambi necessitano di grande
passione e capacità nel saper programmare, non si può senza.
Ciao,
  Fabio

 sempre quelle sono.
Pero', in questo caso, la difficolta' si programma con MFC/ATL, che in
Delphi non ha equivalente.


 
Se non ti serve Overload di Operatori, Template, Ereditarietà multipla e 
altre Cose "HOT" del C++... Delphi fa per te.
Se consideri il tempo che risparmi nel 98% dei progetti che fai puoi anche 
spendere un 20% del tempo in più per quel 2% di progetti che sarebbe più 
agevole scrivere in C++, poi se conosci entrambre il problema non si pone!
Ciao

di passare da VC++ a Delphi.
Mollare il VC++ te lo consiglio di certo, ma se conosci bene il C++,
non ti consiglio di sostituirlo con il Delphi, bensì con l'ambiente di
sviluppo perfetto, fatto su misura per te, che è il Borland Builder.
Praticamente identico a Delphi, cambia solo il linguaggio usato che
non è l'Object Pascal, ma il C++.
-- 
Sostenete la lega per la soppressione dello sceriffo nano.


Delphi merita.
Ma l'IDE è al 95% di come me lo ero immaginato (cioè perfetto).
- Il comando "allinea/distribuisci" funziona male e non funziona del 
tutto quando gli oggetti da allineare sono su "panel" diversi.
- Non esiste il comando"undo" sulle operazioni grafiche. Da non credere.
Disegnare una maschera, per chi è abituato come me a disporre gli 
oggetti come si fa con un VERO programma di disegno (che so? come 
FreeHand) è un tantino frustrante.
Sulla sette potevano mettercele queste cose...
A parte questo, a Delphi ti affezioni. A VB ti abitui.

Spiacente!
Ho sbagliato l'innesto nel thread.
Michele Giordano

Chiedo scusa anche a nome di Netscape 7 che sbaglia il rinfresco dei thread!
L'innesto è giusto.
:-)
Michele

ma il rinfresco dei thread è organizzato a buffet oppure vi sono delle
hostess che servono?
;-))
A.

 oggetti come si fa con un VERO programma di disegno
Sara' perche' Delphi NON e' un VERO programma di disegno ? :)


Lo so anche io che Delphi non č un programma di disegno, ma il tanto 
decantato IDE non č cosě potente come me l'ero immaginato.
Se metti nella form oggetti di dimensioni uguali e cerchi di 
distribuirli uniformemente tutto funziona bene, ma se gli oggetti hanno 
dimensioni diverse il comando fa casino.
Non capisco poi perché non dovrei allineare oggetti su panel diversi; 
l'appartenenza a diversi panel č un fatto di pulizia ed efficienza 
dell'implementazione, l'allineamento č un fatto estetico.
Quanto all'undo grafico, prova a mettere dodici controlli di testo piů o 
meno allineati, e poi prova ad allinearli confondendo per sbaglio 
"align" con "alignment", e dopo vedrai che sarai costretto a spendere 
tutti i soldi che guadagnerai con quel lavoro accendendo candele per 
scusarti con i santi che hai offeso dopo che hai visto che cosa fa l'IDE 
di Delphi.
Ciao.
Michele


puoi scegliere, ma:
 - il buffet č quello di un matrimonio della settimana prima andato a monte;
 - le hostess sono le sorelle dei fratelli Wright.
:-)
M.

 "align" con "alignment"
Si potrebbe fare, ma temo sarebbe troppo oneroso per l'ambiente tenere
traccia di tutte le modifiche grafiche del form. In sostanza si tratterebbe
di avere un buffer di dfm, ma questo significa che verrebbe tenuta traccia
di ogni singola modifica (immagina quando trascini pixel per pixel un
componente TEdit!).



Ma non credo. Non stiamo mica parlando dell'UNDO programmabile di 
FreeHand profondo mille passi. Il buon vecchio undo, oppore l'Ooops, se 
preferisci. L'ultima sciocchezza è gratis, la penultima la paghi.
Dov'è che si firma?
Ciao.
Michele Giordano

 FreeHand profondo mille passi.
No, ma e' qualcosa che gli somiglia molto e d'altronde, se vuoi creare un
UNDO veramente utile, con Delphi, devi farlo proprio di mille passi, visto
che ad *ogni* modifica che fai sul form, devi salvare lo stato precedente
(immagina il trascinamento di un bottone o di un TEdit per allinearlo al
micrometro con gli altri controlli). Esiste poi il problema degli eventi, se
io compio l'undo su un form al quale ho gia' agganciato e definito un
evento, come devo comportarmi ? cancello il codice all'insaputa del
programmatore nel riportare lo stato precedente della maschera (magari
cancellandogli un algoritmo studiato per ore) o gli lascio del codice
"fantasma" che non viene piu' utilizzato ?


Beh, mi sembra che questa discussione stia diventando sterile, 
soprattutto perché si trova in un thred dove si chiede se valga la pena 
o no programmare in Delphi, e a questa domanda tutti e due rispondiamo 
con convinzione: SI'.
Probabilmente ho sbagliato io a fare certi appunti all'IDE in questa 
sede. Oltretutto le questioni in gioco sono diverse (undo, align, 
disegno vettoriale) e questo affastella troppo problemi.
Se ti sembra il caso apri un nuovo thread e ricominciamo a parlare lì di 
uno di questi argomenti a tua scelta.
Per quanto mi riguarda, mi accontento del fatto che il responsabile 
tecnico del distributore Borland in Italia ha ammesso, di fronte alla 
mia precisa richiesta, che purtroppo Delphi deve fare ancora un po' di 
strada in questa direzione.
Se lo dice lui...
Ciao.
Michele Giordano

 Dov'è che si firma?
Per quanto riguarda l'UNDO è una mancanza che molti denunciano. Non perchè
alla fine sia così utile, ma l'abitudine ad utilizzare altre applicazioni
specialmente Microsoft ci induce a volerlo anche in Delphi. Cmq considera
che un pò di rigore mentre sviluppi ti serve per tenere più alta la
concentrazione, quindi se sbagli ne paghi anche le conseguenze (la prossima
volta sicuramente stai più allerta!). Purtroppo i programmatori di oggi sono
anche fin troppo cullati da questi nuovi strumenti, ma questo si sa va solo
a discapito del "buon codice".
Ciao,
  Fabio

 strada in questa direzione.
Il responsabile tecnico del distributore Borland Italia non credo sia la
persona migliore con cui discutere di questi argomenti, piuttosto hai
inviato una mail a David Intersimone ? ;)
E comunque, fossi stato al suo posto, ti avrei detto la stessa cosa, anche
se non l'avessi pensata realmente :)
1^ regola: accontentare il cliente ;)
Il fatto, poi, che l'IDE di delphi debba fare ancora un po' di strada
nessuno lo nega, ma non e' una risposta, sarebbe come dire che la medicina
ha ancora molta strada da fare ;)
Frase vera, quanto superflua ;)


 secondo pannello con i controlli Edit del primo pannello ?
Secondo me dovrebbe comportarsi esattamente come si comporta quando si
allinea "manualmente"... cioè, probabilmente lo sapete già, ma dirlo non
fa male: è possibile allineare "manualmente" i controlli su due panel
diversi (allineare nel senso di dargli le stesse proprietà, ma sempre
relative al panel in cui sono, non assolute), selezionandoli e,
nell'object inspector, andare sulla proprietà che interessa e premere
invio: i controlli prenderanno il valore della proprietà del primo
selezionato.
Per inciso, vale per quasi tutte le proprietà.
--
Jax

 a discapito del "buon codice".
Non sono d'accordo, perché anche Delphi stesso, se vogliamo, è una culla
(tanto più che se non fosse così "facile" da usare non sarebbe neanche
un concorrente di VB)... ma non ho mai sentito dire che chi programmava
in turbo pascal e scriveva "buon codice", in delphi scrive "cattivo
codice".
Riguardo all'undo, io programmo in delphi da parecchio tempo, e solo un
paio di volte ho sentito la reale necessità dell'undo... però quelle due
volte mi sono mangiato le mani e ho dovuto chiudere tutto e riprendere
dall'ultimo backup, diversamente non riuscivo a fare (l'align è
bestiale).
Ok, ho sbagliato io, ma un bell'undo ci starebbe bene, nei casi
disperati... risparmierebbe un po' di incazzature, magari non tante, ma
qualcuna sicuramente.
E cmq, a parte tutto questo, non credo che un undo vada a discapito del
"buon codice"... se fatto con coscienza come le altre cose dell'IDE,
IMHO.
--
Jax

 allinea "manualmente"...
Non sono d'accordo neanche su questo, non ha senso dare a un edit contenuto
in un panel
un Left di 1000 se il Panel e' lungo 500. Se il primo Panel e' lungo 2500,
invece, il Left di 1000 ad un suo edit puo' andare bene. E' invece logico
che l'allineamento valga solo tra quei controlli che sono nell'area di
disegno del controllo padre.


 invece, il Left di 1000 ad un suo edit puo' andare bene.
Cose che per te sono logiche non è detto che siano logiche per qualcun
altro, no?
Io dico invece che, in casi come questo, è logico che un programmatore
sa che non ha senso fare l'allineamento, e quindi non lo fa.
Ma togliere addirittura la possibilità di farlo... beh, non sono
d'accordo, tanto più che, visto che non posso utilizzare il pulsante,
devo farmelo col metodo che ti dicevo.
In fondo fare l'interfaccia di una applicazione è una cosa abbastanza
"artistica" rispetto allo scrivere codice, e IMHO sotto questo aspetto
delphi dovrebbe dare un po' più di possibilità, visto che sempre di cose
visuali stiamo parlando. Poi, se tu non vuoi utilizzarle, ok, ma non
trovo giusto il tuo ragionamento "è così perché è giusto così, e basta".
Le cose cambiano anche e soprattutto in funzione della loro comodità...
e non sempre questo si riflette negativamente sul risultato, anzi.
Per esempio, non è forse comoda la proprietà anchor? Io prima facevo
tutto tramite align, bordi, panels, spaziatori e, anche se diventavo
mezzo scemo, quello che volevo fare lo facevo... ma ho benedetto colui
che ha introdotto gli anchors!!!!!!
--
Jax

 che ha introdotto gli anchors!!!!!!
Ma è del Windows, non l'hanno inventata i tizi della borland, cerca di
focalizzare che il Delphi è solo un'interfaccia tra te e l'OS, che non fa
nient'altro che evitarti di scrivere migliaia di righe di API e che te le
richiama per te in un linguaggio più umano come è il Pascal, rimanendo
sempre strutturato come il Windows per permettere al programmatore di farne
un uso professionale.
Ciao,
  Fabio

 IMHO.
Spero che lo implementino, ma cmq vada si riesce a campare tranquillamente
anche senza l'undo sulla form, l'importante è che ci sia sul codice che è
fondamentale.
Ciao,
  Fabio

Ti sarei grato se mi indicassi qualcosa di concreto su cui basi questa tua
opinione.
Io vengo da vb.
Bye
A.

 Ma č del Windows, non l'hanno inventata i tizi della borland
Ok, ma allora perché non esiste dalla versione 1, visto che una cosa di
Win? Vuol dire che fino alla ver. 5 la Borland non ha sfruttato (o non
ha voluto sfruttare) a pieno le potenzialitŕ del s.o.?
Anyway, Delphi č un interfaccia tra me e l'OS, ma č *anche*
un'interfaccia che rende piů semplice il dialogo tra me e l'OS, e per
questo dev'essere comoda da usare (e lo č), ma non per questo deve
fermarsi ai limiti dell'OS; meno che mai non sfruttare a pieno le
potenzialitŕ dell'OS, come per l'anchor che, seppur supportata da win98,
se programmavi in D3 non potevi usare.
Quanta fuffa perň che stiamo dicendo :)))))
Fortuna che č lunedě..... ARGH! LUNEDI'!!!!! sbonk!
--
Jax

 Io vengo da vb.
Perchè prima ti sentivi padrone di tutto quello che facevi in VB? Ti è tutto
nascosto, cominciando dalle librerie dei componenti. L'unico contatto che
hai con l'ambiente è l'help, non puoi in nessun modo indagare per vedere
ulteriori funzionalità di un componente.
Solo se sbagli a scrivere una variabile il compilatore va avanti senza dirti
niente e magari ci perdi quei 20 minuti buoni per capire cos'è che no
andava!
Non finisci di scrivere una riga di codice, magari perchè devi andare a
controllare che avevi fatto qualche riga più su e ti compare una dialog che
ti dice che c'è un'errore di sintassi! Ma non bastava evidenziarlo in rosso?
Che cazzo di automatismi sono questi?
Alla fine vai a vedere il codice di una form via esplora risorse(perchè
altro modo non c'è) e ti accorgi che dentro ci sono i Begin e l'End del
pascal.
Guarda solo perchè ci sono costretto sto usando l'EVB, altrimenti mandavo
tutto a fanculo come quando 4 anni fa mi misi a vedere il grande ambiente di
sviluppo Microsoft, pubblicizzato da far schifo!
Tanto ormai si capisce subito, un'azienda che produce in VB per la maggior
parte delle volte fa prodotti scandenti, e non è la stessa reputazione che
hanno quelle che producono in Delphi o in altri ambienti.
C'era il VFox che poteva essere potenziato e l'hanno fatto morire, per
tirare avanti quella ciofeca di VB, tutto rattoppato nel tempo, che quando
un programmatore poi deve cambiare linguaggio, per ovvie necessità, è
totalmente rincoglionito!
Scusa lo sfogo, ma amo molto la programmazione e il VB è per me quasi
un'offesa.
Ciao,
  Fabio

qualità a dir poco pietosa
Bye
A.

 così com'è mi va da dio :)
Mi fa piacere. Anche a me piace per esempio dare una bella estetica alle mie
procedure, devono risultare sempre molto accattivanti oltre che ovviamente
funzionali ed il Delphi mi aiuta non poco.
Se hai curiosità di vedere qualcosa puoi visitare il sito
www.futuraservice.it
, sotto soluzioni sia DataMark che Shiva sono miei
"figlioli" e sono tutte e due scritti soltanto in Delphi. Nelle prime viste
ci sono le animazioni in flash che mostrano qualche videata (più evidenti
nello Shiva).
Ciao,
  Fabio

 >qualità a dir poco pietosa
Non è facile programmare in Delphi se non si hanno delle solide basi di
programmazione.
La programmazione pascal, anche se sembra molto semplice, è molto
strutturata, se non scrivi codice con un'organizzazione meticolosa, produci
più bug che buon codice.
Chi ritiene di voler programmare senza una dura gavetta, strutturare i dati
che si usano, costruire a dovere le procedure elaborative, suddividere i
compiti in tanti mini compiti dislocati in diverse procedure, non potrà di
conseguenza produrre codice ed applicazioni come si deve.
Tu sai bene che venire da un free-style come il VB, è una sensazione
traumatica, sottoporti alle rigide regole del pascal. Solo il fatto che devi
convertire ogni volta l'intero in stringa, il tanto odiato IntToStr, per
metterlo a video sembra una banalità che il Delphi poteva evitare, ma chi è
nell'ambiente da qualche anno sa che quello vuol dire rispettare il tipo di
dati che si sta manipolando e non si può assolutamente mischiare ed
automatizzare.
Programmare è un'arte non facile, il Delphi non dista più di tanto da un C o
una programmazione assembler, alla fine dipende da ciò che si deve
realizzare. Più il progetto è grande e più si deve saper mettere ordine ed
essere preciso, un listato in linguaggio macchina alla fine è questo,
cambiano il numero di istruzioni che puoi fare.
Anche il VB è difficile, lo è ancora più difficile per un bravo
programmatore, perchè tanto l'ambiente va stretto subito e devi per forza
comiciare ad utilizzare le API. A questo punto ti butti sul C e fai prima.
Almeno il Delphi ti da l'oppurtunità di organizzarti in componenti personali
che si integrano perfettamente con l'ambiente e il tuo modo di sviluppare
negli anni cresce di qualità come i componenti che ti autocostruisci.
Ho stimato il tempo di apprendimento produttivo del Delphi in almeno due
anni se si è portati per la programmazione, per meno o si è veramente dei
geni oppure si viene già da un'ambiente di sviluppo che ti abbia tartassato
abbastanza.
Se non si è portati proprio per la programmazione o ci si impiega meno tempo
del dovuto per apprendere l'ambiente, la qualità del prodotto uscente, le
applicazioni all'utente finale sono semplicemente scadenti.
Credo sia tutto, un saluto
  Fabio

 Quanto all'undo grafico, prova a mettere dodici controlli di testo più o
