eTO_POINTER, cast value to a PVOID pointer
Quando si lavora con tipi di dati diversi tra loro può essere necessario convertire valori da un tipo ad un altro. LogicLab mette a disposizione in modo nativo una serie di operatori di casting, ma se necessita forzare a tipo PVOID un qualsiasi valore a 32 bits occorre utilizzare questa funzione. La funzione ritorna in uscita il valore dato in ingresso su In.
Approfondimenti
- In questo topic un esempio di utilizzo.
Descrizione
| Parametro | Tipo | Descrizione |
|---|---|---|
| In | PVOID | Valore che verrà ritornato in uscita come pointer. |
| Out | PVOID | La funzione ritorna un PVOID. |
Esempi
Come utilizzare gli esempi.
Viene sostituito il carattere "!" con il carattere ".", per poter accedere a byte alla stringa occorre cambiare il tipo di puntatore.
LogicLab (Ptp201, ST_`eTO_POINTER`)
PROGRAM ST_eTO_POINTER
VAR
BPtr : @BYTE; (* BYTE pointer *)
AStr : STRING[ 8 ]; (* Auxiliary string *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_eTO_POINTER"
// *****************************************************************************
// This program shows the use of "eTO_POINTER" function.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// CHANGE CHARACTER ON STRING
// -------------------------------------------------------------------------
// The "!" character is changed to ".".
AStr:='Hello!'; //Str:"Hello!"
BPtr:=eTO_POINTER(ADR(AStr)+5);
@BPtr:=16#2E; //Str:"Hello."
// [End of file]