It is currently 6 June 2020, 1:18 Advanced search

Ritornare NULL in un metodo

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Ritornare NULL in un metodo

Postby f.faleschini » 15 January 2020, 14:38

In un metodo di una classe che mi torna un valore time ho il problema che il valore potrebbe non esserci e non so bene come gestirlo.

mi spiego con un esempio:


Code: Select all
function time Impiegato.calcolaOraDiInizio()

è un metodo che ritorna l'ora in cui l'impiegato inizia a lavorare

Ora l'impiegato potrebbe essere anche in ferie, in quel caso il valore di ritorno vorrei che fosse null, perché se ritorno 00:00, potrebbe significare "Inizia a mezzanotte".

Mi pare che non ci sia null in Inde (come in Delphi, che conosco, dove c'è nil ad esempio).

Ora se non posso restituire Null (o nil) posso fare qualcosa del tipo

Code: Select all
function boolean Impiegato.calcolaOraDiInizio(
inout time Result
)


se la funzione torna True posso dire che il parametro inout Result è buono.

Come fate voi in questi casi?

Grazie.
f.faleschini
 
Posts: 631
Joined: 12 April 2017, 9:09

Re: Ritornare NULL in un metodo

Postby r.bianco » 15 January 2020, 15:38

MI pare si possa tornare NULL.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4137
Joined: 8 November 2010, 16:46

Re: Ritornare NULL in un metodo

Postby Dipa » 16 January 2020, 8:09

Sì, il NULL funziona ed è la strada che preferisco.
In altre tipologie di funzioni e/o casistiche si utilizza anche valori convenzionali, tipo -1 quando la funzione ritorna degli interi.
Maurizio
Dipa
 
Posts: 263
Joined: 1 July 2014, 14:01
Location: Torino

Re: Ritornare NULL in un metodo

Postby f.faleschini » 16 January 2020, 10:05

Sì grazie.

E' lo stesso che usa inde quando fai una nuova variabile oggetto
var cliente = null

mi cofondeva il fatto che non proponga null come una cosa a sè quando si scrive null, ma dice "inserisci costante null", che sembrerebbe la stringa "null", ma non è così,avrei preferito che null fosse evdenziato in modo più evidente.

Faccio una proposta di modifica in tal senso, la PRP000569 in cui c'è questo screenshot:
Image

spero sia condivisible.

Ciao.
f.faleschini
 
Posts: 631
Joined: 12 April 2017, 9:09

Re: Ritornare NULL in un metodo

Postby theguru » 22 January 2020, 17:01

eh, questa fa parte di una delle centinaia di migliorie che vorrei vedere sul lato IDE/VCE.
faccio notare che scrivere "null"... è lungo e scomodo, esattamente come è scomodo scrivere "true" o "false"
Però, una possibilità che mi è data, ed utilizzo, è quella di modificare il nome delle due costanti nella lista "binary value", che diventano sempre "tt" e "ff", velocizzando il loro inserimento.
Avrei voluto fare lo stesso rinominando le costanti "null" che trovi per l'appunto nella lista "general constant", ma non funziona: anche se queste diventano "nn", l'inserimento avviene SOLO scrivendo per intero "null"
PS: uso il plurale perché progamma ha utilizzato un curioso sistema per queste costanti, ovvero ne esiste una per ogni tipo di dato (null char, null data, null int, null blob... etc), ed il nome di queste costanti differisce per una serie di spazi vuoti inseriti in trail...
User avatar
theguru
 
Posts: 782
Joined: 29 January 2014, 13:01

Re: Ritornare NULL in un metodo

Postby f.faleschini » 23 January 2020, 8:04

Questa non la sapevo, ho visto che per
int "null" (0 traliing spaces)
character "null " (1 traliing spaces)
DateTime "null " (2 traliing spaces)
Object "null " (3 traliing spaces)
BLOB "null " (4 traliing spaces)

comunque sarebbe una miglioria anche se da quando ho scoperto come funziona già mi trovo molto meglio.
f.faleschini
 
Posts: 631
Joined: 12 April 2017, 9:09


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 7 guests

cron