Tuo IP: 50.16.132.180  
Cerca nel sito:
Home Ansi C ASP HTML Java JavaScript Visual Basic C++ JSP VB.Net
Altri linguaggi
* AppleScript
* Assembler MIPS
* Fortran
* Lisp
* Pascal
* Perl
* Python
* SQL
* VBScript
* VBA

Servizi
* Tips
* Tools
* Webmasters
* Domini e Posta

Articoli tecnici
* Oracle Sequence
* Java Servlet
* Compressione File
* Le Socket di Berkeley
* Immagini x PC
* Errori di Email
* Flash del BIOS
* No Banner
* Codici a barre
* Codici Colori
* Estensione domini
* Connessione ODBC
* Tabella Codici ASCII
* Tabella ISO-8859-1
Altro su Tips
API di Windows. API FillMemory per copia di byte
Versione Stampabile
Stampa
Torna Indietro
Linguaggio: Visual Basic Autore: Mauro Puddinu Data Archiviazione: 14/07/1999


Possiamo usare la funzione API FillMemory per copiare un valore (byte)
su un blocco di memoria, che potrebbe essere un array o parte di esso.
Il tipo Boolean è formato in realtà da due valori Integer: True (- 1)
e False (0). Siccome ogni elemento di un array Boolean occupa 2 byte,
esso è facilmente riempibile con coppie di zeri (False) o coppie di
&HFF (che diventano &HFFFF, cioè -1 = True). Ecco una funzione che esegue
il riempimento dell'intero array Boolean, modificabile per consentire
anche il riempimento di una parte dell'array. Da questa funzione se ne
può ricavare facilmente un'altra per gestire array di Byte. Questa
funzione è circa il doppio più veloce di un ciclo For/Next con assegnazione.

Declare Sub FillMemory Lib "kernel32" Alias "RtlFillMemory" ( _
BlockToFill As Any, ByVal dwSize As Long, ByVal chValue As Byte)

'Riempie un array di Boolean col valore specificato usando la
'funzione API FillMemory
Public Sub FillArrayBool(bArray() As Boolean, ByVal bValue As Boolean)

Dim lPrimo As Long, lUltimo As Long, lElementi As Long
Dim iSize As Integer, chValue As Byte
lPrimo = LBound(bArray)
lUltimo = UBound(bArray)
lElementi = lUltimo - lPrimo + 1
iSize = Len(bArray(lPrimo))
If bValue Then
chValue = 255 '&HFF: se bValue = False chValue = 0
End If
FillMemory bArray(lPrimo), lElementi * iSize, chValue

End Sub





Note: (Nessuna)
Codice testato con: Visual Basic Versione: 6.0 (Service Pack 5)
Sito Produttore: http://www.microsoft.com/
--------
Guide
PDF
* Hardware
* Guida all'MS DOS
* Storia di Internet
* Usabilità siti Web
* Programmazione Linux (6.852 KB)
* PHP
* Scripting Shell Bash
* HTML
* MySQL
* Ansi C
* Java 2

Ordinamenti
* Bubble Sort
* Insertion Sort
* Merge Sort
* Quick Sort
* Selection Sort
* Shell Sort
(La visualizzazione degli esempi richiede Virtual Java Machine)



Miscellanea
* Download
* Conversioni misure
* Glossario
* Siti lavoro

Chi c'è online
In questo momento ci sono 14 Visitatori