Newsgroup: it.comp.lang.pascal
Titolo: Dare a una variabile un valore prestabilito.

E' in qualche modo possibile fare un tipo in modo che una variabile di
quel tipo abbia un valore prestabilito? In particoare ho fatto un
oggetto (seguendo le indicazioni di Mauro) di questo tipo:
type
 pippo=object
  Aperto: Boolean;
  ...
  function Apri(...): Boolean;
  procedure Chiudi;
  function ...
  ...
 end;
e vorrei che Aperto contenesse FALSE finche' non si usa Apri in modo
che sia impossibile usare le altre funzioni e procedure prima di usare
Apri. E' possibile fare im modo che quando si fa New(gino) (gino:
^pippo), gino^.Aperto contenga da subito FALSE?
Grazie,
Luigi
--
|\/\/\/|              |\/\/\/|  Luigi Balduzzi
 \    /    |\/\/\/|    \    /   studente, 4 liceo scientifico
 | II |\/\/| .__. |\/\/| II |   Genova, Italy
 | II | II | |++| | II | II |
 |____|____|_|++|_|____|____|   e-mail: 
jy...@usa.net
==============================  powwow: 
gi...@genova.it

^pippo), gino^.Aperto contenga da subito FALSE?
Non me intendo tanto,però dovresti usare il costruttore Init che fa gli 
assegnamenti iniziali. Leggi qualcosa su questo.
                                                        Luca.

jy...@usa.net
 (Luigi Balduzzi), il giorno Tue, 29 Jul 1997 11:22:47 GMT
hai scritto:
#E' in qualche modo possibile fare un tipo in modo che una variabile
di
#quel tipo abbia un valore prestabilito? In particoare ho fatto un
#oggetto (seguendo le indicazioni di Mauro) di questo tipo:
#
#type
# pippo=object
#  Aperto: Boolean;
#  ...
#  function Apri(...): Boolean;
#  procedure Chiudi;
#  function ...
#  ...
# end;
#
#e vorrei che Aperto contenesse FALSE finche' non si usa Apri in modo
#che sia impossibile usare le altre funzioni e procedure prima di
usare
#Apri. E' possibile fare im modo che quando si fa New(gino) (gino:
#^pippo), gino^.Aperto contenga da subito FALSE?
#Grazie,
#Luigi
Ciao Luigi, hai provato a mettere nel costruttore:
constructor pippo.Init;
begin
  ...
  aperto:= false;
end;
Bye
REMO FRANCESCHELLI - ITIAV 4a Info.
http://www.geocities.com/SiliconValley/Lakes/7668
(Programmazione in Pascal)
** Concentrazione = Forza **

                                                        Luca.
Innanzitutto grazie.
Pero' chi ti obbliga a usare Init? Cioe', non e' che quello che volevo
fare fosse essenziale in quanto comunque basta ricordarsi di usare
Apri (o Init) subito.
Grazie ancora e ciao


 ^pippo), gino^.Aperto contenga da subito FALSE?
Puoi definire Aperto come una typed constant (che, attenzione, non è una
costante, anche se si definisce in quel modo):
  const
    Aperto : Boolean = False;
Questo vale, però, solo se Aperto è una variabile globale. Insomma, non
credo sia possibile definire una typed constant all'interno di un oggetto
(smentitemi se sbaglio).
Saluti,
-- 
Mauro Molinari
Internet e-mail: 
maur...@mbox.vol.it
 / 
maur...@tin.it

Apri (o Init) subito.
Hai ragione, ma la filosofia di programmare ad oggetti prevede che le cose 
funzionino in una certa maniera, altrimenti la cosa sarebbe una via di mezzo , 
sporca, fra la prog OOP e procedurale. Sono discorsi complessi, però è il 
modo, da quello che mi hanno insegnato, corretto per procedere.
                                                Luca.

 Apri (o Init) subito.
