Differenze tra le versioni di "Ottenere un valore numerico dalla rappresentazione in memoria come stringa"

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
 
(ossia le medesime funzioni specifiche per dereferenziare una variabile di tipo ''Puntatore''.)
 
(ossia le medesime funzioni specifiche per dereferenziare una variabile di tipo ''Puntatore''.)
  
Il risultato che si ottiene in tal caso è il contrario di quello prodotto dalle funzioni che restituiscono la [[Ottenere_la_rappresentazione_come_stringa_in_memoria_di_un_valore_numerico|rappresentazione in memoria di un valore come una stringa]] "MkByte()", "MkShort()", "MkInt()", etc. .
+
Il risultato che si ottiene è insomma il contrario di quello prodotto dalle funzioni che restituiscono la [[Ottenere_la_rappresentazione_come_stringa_in_memoria_di_un_valore_numerico|rappresentazione in memoria di un valore come una stringa]] "MkByte()", "MkShort()", "MkInt()", etc. .
  
Va rilevato che in caso vengano passate alle suddette funzioni rappresentazioni in memoria stringa di valori, questi saranno ritornati come fossero stati passati in little-endian.
+
===Esempi pratici===
<BR>Vedasi questo esempio:
+
Un esempio con la funzione "Short@()":
 
  Public Sub Main()
 
  Public Sub Main()
 
+
 +
  Dim s As String
 +
 +
<FONT Color=gray>' ''Crea la rappresentazione in memoria di un valore di tipo "Short" come una stringa:''</font>
 +
  s = MkShort(256)
 +
 +
<FONT Color=gray>' '''''Restituisce il valore numerico effettivo "dalla" precedente rappresentazione in memoria come stringa:'''''</font>
 +
  Print <FONT Color=red>Short@</font>(s)
 +
 +
End
 +
altro esempio con la funzione "Int@()":
 +
Public Sub Main()
 +
 
   Dim s As String
 
   Dim s As String
 
   
 
   
   s = "\x00\x01"
+
<FONT Color=gray>' ''Crea la rappresentazione in memoria di un valore di tipo "Integer" come una stringa:''</font>
 +
   s = MkInt(1234567890)
 
   
 
   
   Print Short@(s)
+
<FONT Color=gray>' '''''Restituisce il valore numerico effettivo "dalla" precedente rappresentazione in memoria come stringa:'''''</font>
 +
   Print <FONT Color=red>Int@</font>(s)
 
   
 
   
 
  End
 
  End

Versione attuale delle 18:50, 27 giu 2024

Per ottenere il corrispondente valore numerico dalla rappresentazione in memoria come stringa, si utilizzeranno - a seconda del tipo di dato - le variabili:

Byte@(), Shot@(), Int@(), etc.

(ossia le medesime funzioni specifiche per dereferenziare una variabile di tipo Puntatore.)

Il risultato che si ottiene è insomma il contrario di quello prodotto dalle funzioni che restituiscono la rappresentazione in memoria di un valore come una stringa "MkByte()", "MkShort()", "MkInt()", etc. .

Esempi pratici

Un esempio con la funzione "Short@()":

Public Sub Main()

 Dim s As String

' Crea la rappresentazione in memoria di un valore di tipo "Short" come una stringa:
 s = MkShort(256)

' Restituisce il valore numerico effettivo "dalla" precedente rappresentazione in memoria come stringa:
 Print Short@(s)

End

altro esempio con la funzione "Int@()":

Public Sub Main()

 Dim s As String

' Crea la rappresentazione in memoria di un valore di tipo "Integer" come una stringa:
 s = MkInt(1234567890)

' Restituisce il valore numerico effettivo "dalla" precedente rappresentazione in memoria come stringa:
 Print Int@(s)

End