Newsgroup: it.comp.lang.delphi
Titolo: Delphi 2011

Secondo rumors abbastanza informati, sembra che la futura versione di
Delphi 
(nome in codice "1 Nisan &#350;aka Günü") abbia delle feature da lasciare 
sbalorditi:
1) Compilatore presciente, in grado di correggere gli errori del 
programmatore ancora che prima di essere digitati sulla tastiera;
2) Sistema di help dotato di intelligenza artificiale, capace di spiegare
al 
programmatore che, se non preme F1 e non legge tutto il testo fino alla
fine 
(magari anche comprendendo cosa c'è scritto), non avrà la tanto agognata 
soluzione ai suoi dubbi/problemi;
3)"Code formatting and beautification" evoluto: stanchi delle solite 
variabili Pippo, Pluto e Paperino? Grazie a degli accordi commerciali 
stretti con le mayor del settore, ora sarà possibile utilizzare come nome 
delle variabili non solo i personaggi Disney, ma anche DC Comics e Marvel. 
Un esempio:
for Devil := 1 to 100 do
 If Batman > Superman then inc(WonderWoman); // non e' una volgarità!
4) Possibilità di installare tutto il pacchetto come applicazione iPhone.
Il 
compilato non girerà su tutti i più diffusi sistemi operativi (e nemmeno
su 
quelli più sconosciuti) però volete mettere la soddisfazione di prendere
in 
giro i vostri colleghi che ancora usano Visual Studio su obsoleti PC con 
Win7 installato?
Seguono altre novità: non siate impazienti!
Maggiori info: 
http://tinyurl.com/y9oc7ms
ACSH
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Delphi
leggi un p� invece questo blog ;)
http://delphihaters.blogspot.com/
Sandra 


spremere sangue dalle rape non sempre paga, ciao Buona Pasqua a tutti

 
http://delphihaters.blogspot.com/
Ammetto di non averlo letto tutto (e poi senza le figure io non mi
diverto...)
ma su diverse cose hanno ragione.
Certo, odiare Delphi mi sembra abbastanza stupido ed inutile, quasi quanto 
odiare l'aquila calva, la lince iberica o la Hutia di San Felipe ... ma 
d'altronde, a qualcuno basta davvero poco per divertirsi.
Ciao



Se odi  Delphi e cloni in generale.
Vuol dire che ti trovi in due situazioni:
1) Non sei un programmatore.
2) Non hai bisogno di un compilatore.
Ciao
Mik

..hai dimenticato alcune cose...
1) la nuova classe di eccezioni ERTFMError
2) il "procedural blocker" che impedisce di scrivere procedure o
funzioni che non siano metodi
3) il "linecount limiter" che blocca la aggiunta di righe ad un metodo
se il totale supera le 100 righe...
4) il "with killer" che impedisce l'uso del with nel nuovo codice ma
ti lascia quelli vecchi
...
A

 A
Riesci a postare solo il codice di questa Feature, vorrei implementarlo.
Grazie per l'aiuto
^_Goblin_^

 Riesci a postare solo il codice di questa Feature, vorrei implementarlo.
with tsourcecode.lines.text do begin
  ....
end;
:-D
-- 
Morde

 end;
Ahem...non so se si è capita la finezza: eliminare l'uso del with 
tramite un with... (molti ritengono che io sia un cabarettista fallito, 
ma non riesco ad afferrare il motivo che induce questi sospetti.. :-P)
Ciao
-- 
Morde


with memo1,edit1 do
begin
   .....
   with lines do
   begin
     loadfromfile('.....');
     for x := 0 to count-1 do
     begin
       if Text='....' then
         aNVal[x] := StrToIntDef(strings[x], -1);
     end;
     SaveToFile('....');
   end;
end;
guarda cosa ho tovato che ne dici ??? :|
IO ODIO i WITH
^_Goblin_^


Vedo che non sono l'unico che odia la  WITH.
mik

Morde ha scritto:

whit ney ho
   uston
end;
:)
-- 
-------------------------------
per scrivere in privato
togliere "1975nosp"
to reply remove "1975nosp"

^_Goblin_^ ha scritto:


Quindi sono l'unico che NON DISDEGNA un uso morigerato e consapevole del
WITH?


 WITH?
Qua sotto trovi 2 casi nei quali io uso il with:
1) Questa la uso quando faccio debug per capire, ad esempio, se arriva
o meno a fare delle cose
With TStringList.Create do
begin
    Text := blablabla
    savetofile...
    free;
end;
2) Questa e' comoda in alcuni casi:
With TMyForm.Create(nil) do
begin
  try
     ShowModal();
  finally
     Relese
  end;
end;
Cosa vuol dire "morigerato e consapevole"?
Purtroppo, le parole, a differenza dei numeri, sono relativi e non
assoluti...

 Cosa vuol dire "morigerato e consapevole"?
Mio esempio (uso un record ma il discorso vale anche per un 
oggetto qualsiasi)
Type
TAlunno = record
 Nome, Cognome : String[100];
 DataDiNascita : TDate;
 LuogoDiNascita: Integer;
end;
Var
Giuseppe, Cinzia : TAlunno;
Begin
 With Giuseppe do
 begin
  Nome := 'Giuseppe';
  Cognome := ' Garibaldi';
  Datadinascita := strtodate('01/01/1900');
  LuogoDiNascita:= 'San Marino';
 end // with
 Cinzia := Giuseppe; // Sono fratelli gemelli
 Cinzia.Nome := 'Cinzia';
// dopo aver inizializzato le due variabili,
// passo i dati ad una procedura che si occupa
// di visualizzare i dati
With Giuseppe do
 MostraDatiAnagrafici([Nome, Cognome, DataDiNascita, 
LuogoDiNascita]);
With Cinzia do
 MostraDatiAnagrafici([Nome, Cognome, DataDiNascita, 
LuogoDiNascita]);
ecc...
Tutto più conciso e leggibile (e forse il with è anche un 
poco più
--- news://
freenews.netfront.net/
 - complaints: 
ne...@netfront.net
 ---


Che cinzia diventi ( := , assegnazione) giuseppe nella realtà è un po' 
difficile :)  Cinzia e giuseppe possono essere gemelli ma uno non può essere 
l'altro e viceversa :) 

 Tutto più conciso e leggibile (e forse il with è anche un poco più
Concordo con il tuo post: il with è stato introdotto proprio per 
facilitare la scrittura e la leggibilità del codice, e se usato in quel 
modo aiuta.
Tuttavia, mi spingo un pò più agli estremi e assumo la posizione di 
quello che l'abolirebbe senza indugi dal compilatore, perchè i danni di 
un uso scriteriato sono veramente grossi.
Anzi, andando fino in fondo: toglierei dal linguaggio tutto quanto non 
sia chiaro e cristallino e facile da comprendere e da usare.
Immagina di leggere codice come questo:
with classe1, classe2 do begin
  proprieta1.value.asstring := '';  // di chi è questa proprietà?
  proprieta2.value.asinteger := ''; // di chi è questa proprietà?
    with classe3 do begin
      decine di righe...
      proprieta1.value.asstring := ''; // è del with interno, ma è 
anche del with parent..
    end
  proprieta34 := 123;
end;
riesci a mmaginare quali pericoli comporta l'uso e abuso del with ?
E' chiaro che basta non usarlo, ma se ti trovi a mettere mano su codice 
di altri, magari di 10 anni fa, non puoi aspettarti che il with non 
compaia o che non venga usato.
E non trascurare il fatto che col debugger non riesci a risolvere le 
variabili puntadoci sopra il mouse... devi per forza scrivere tutta 
l'espressione nella finestra di "evalute/modify".
Mi hanno detto che python è stato creato con questa filosofia.. ma non 
ho potuto guardarlo ancora. Qualcuno ne sa qualcosa?
Ciao
-- 
Morde

 riesci a mmaginare quali pericoli comporta l'uso e abuso del with ?
personalmente trovo il with ottimo, anche con istanze multiple una dentro 
l'altra, e ne preferisco l'uso ogni volta che è possibile. La leggibilità ne 
guadagna assolutamente. Meglio che non leggere nomi di classi ripetuti 1000 
volte che rendono il listato enormemente ed inutilmente prolisso. Per chi 
ama la prolissità c'è sempre il Cobol :)
Sandra 


MORDE vs WITH 1 - 0
Il With è stato abolito a furor di popolo
:)
Concordo con Morde nel fatto che chi mette le mani su codice "antico" e 
vuole fare un pochino di refactoring impazzisce, confermo e riporto il 
codice di qualche post addietro
with memo1,edit1 do
begin
   .....
   with lines do
   begin
     loadfromfile('.....');
     for x := 0 to count-1 do
     begin
       if Text='....' then
         aNVal[x] := StrToIntDef(strings[x], -1);
     end;
     SaveToFile('....');
   end;
end;
Poi......
^_Goblin_^
-- 
Ibis et redibis non morieris in bello
http://goblinland.myminicity.com/

 poco più
La parte più interessante del post (nel quale svelavo anche i misteri dei
due 
gemelli) arrivava da qui in poi, ma è andata perduta: così imparo a
postare a 
quell'ora invece di fare cose più interessanti.
Va be' ... sarà per la prossima occasione (tanto il senso di quello che
volevo 
dire l'avete capito),


          aNVal[x] := StrToIntDef(strings[x], -1);
Fantastico... quel Text è della edit1 o del memo.lines? vedi che 
confusione crea il with?
ciao
-- 
Morde