![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
В личке
Grazie.
E ci sono voluti 60 minuti per scrivere 60 funzioni. Ci sono un paio di righe in ogni funzione.
//| FUNZIONI GENERALI.
//| 1. La funzione crea o apre un file mapping per descrittore di file utente e/o nome del file mapping con la possibilità di |
//| cambiamento preliminare della dimensione della memoria allocata per esso. Se non esiste una mappatura dei file, ne viene creata una.
La funzione //| restituisce il descrittore del sistema di mappatura dei file se ha successo, altrimenti NULL.
//| HANDLE FileMappingCreate(const int hFileUser, // // descrittore del file system dell'utente.
//| const char *szNameFileMapping, //Nome del file proiettato.
//| const const int nBytes); // Quantità di memoria da riservare per la mappatura dei file.
//| 2. La funzione apre il file di mappatura. La funzione restituisce un descrittore di sistema di mappatura dei file se ha successo, altrimenti NULL.
//| HANDLE FileMappingOpen(const char *szNameFileMapping); //Nome del file da proiettare.
//| 3. La funzione cancella la mappatura dei file in base al suo nome.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori; |
//| -1 indirizzo iniziale non ricevuto;
//| -2 memoria non cancellata;
//| -3 errore di mappatura dei file.
//| int FileMappingClear(const char *szNameFileMapping); // nome della mappatura dei file.
//| 4. La funzione chiude la mappatura del file in base al suo nome. La funzione restituisce TRUE se ha successo, altrimenti FALSE.
//| bool FileMappingClose(const char *szNameFileMapping); //Nome del file mapping.
UNA //| FUNZIONE GENERICA PER ACCEDERE ALLA RAPPRESENTAZIONE DI MAPPATURA DEL FILE PROIETTATA NELLO SPAZIO DEGLI INDIRIZZI DEL PROCESSO CHIAMANTE.
//| 5. La funzione crea un file mapping dal descrittore di file dell'utente e/o dal nome del file mapping con la possibilità di cambiare in anticipo la
//| dimensione della memoria allocata per esso e mappa la rappresentazione proiettata del file nello spazio degli indirizzi del processo chiamante.
La funzione //| restituisce un puntatore al primo byte dell'area di memoria di mappatura se ha successo, altrimenti NULL.
//| char *FileMappingCreateViewOfFile(const int hFileUser, ///The system descriptor of the user file.
//| const char *szNameFileMapping, //Nome del file proiettato.
//| const const int nBytes); // Quantità di memoria da riservare per la mappatura dei file.
//| 6. La funzione apre la mappatura del file in base al suo nome e mappa la rappresentazione del file proiettata nello spazio degli indirizzi del processo chiamante.
//| La funzione restituisce un puntatore al primo byte dell'area di memoria di mappatura della rappresentazione del file proiettato se ha successo, altrimenti NULL.
//| char *FileMappingOpenViewOfFile(const char *szNameFileMapping); // Nome del file proiettato.
//| 7. La funzione mappa la rappresentazione del file proiettato nello spazio degli indirizzi del processo chiamante.
La funzione //| restituisce TRUE in caso di successo o FALSE in caso di errore.
//| bool FileMappingViewOfFile(const char *pcAddress); // Puntatore al primo byte dell'area di memoria della rappresentazione proiettata del file restituita da
//| // funzioni FileMappingCreateViewOfFile(), FileMappingOpenViewOfFile().
//| 8. La funzione annulla la presentazione del file proiettato nello spazio di indirizzi del processo chiamante.
//| La funzione restituisce TRUE in caso di successo o FALSE in caso di errore.
//| bool FileMappingUnViewOfFile(const char *pcAddress); // Puntatore al primo byte dell'area di memoria della rappresentazione proiettata del file,
//| // restituito da FileMappingCreateViewOfFile(), FileMappingOpenViewOfFile().
//| FUNZIONI PER SCRIVERE NUMERI E STRINGHE NEL FILE MAPPING.
//| 9. La funzione apre un file di mappatura e vi scrive un valore logico BOOL dal byte specificato in memoria.
//| Se non esiste una mappatura dei file, viene creata. La funzione converte un numero di tipo INT in BOOL per scrivere nel file di mappatura.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 indirizzo iniziale non ricevuto;
//| -3 valore non scritto in memoria;
//| -4 errore di mappatura del file.
//| int FileMappingWriteBoolValue(const char *szNameFileMapping, //Nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui il numero sarà scritto.
//| const int nValue); // Valore logico da scrivere nella mappatura del file.
//|10. La funzione apre la mappatura del file e vi scrive il numero del tipo CHAR dal byte specificato in memoria.
//| Se non esiste una mappatura dei file, ne viene creata una. La funzione converte un numero INT in CHAR per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di dati maggiore della memoria allocata;
//| -2 indirizzo iniziale non ricevuto;
//| -3 valore non scritto in memoria;
//| -4 errore di mappatura del file.
//| int FileMappingWriteCharValue(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui il numero sarà scritto.
//| const int nValue); // Un numero intero da scrivere nella mappatura del file.
//|11. La funzione apre il file di mappatura e vi scrive il numero del tipo SHORT dal byte specificato in memoria.
//| Se non c'è una mappatura dei file, ne viene creata una. La funzione converte un numero INT in SHORT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di dati maggiore della memoria allocata;
//| -2 indirizzo iniziale non ricevuto;
//| -3 valore non scritto in memoria;
//| -4 errore di mappatura del file.
//| int FileMappingWriteShortValue(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui il numero sarà scritto.
//| const int nValue); // Numero intero da scrivere nel file mapping.
//|12. La funzione apre il file di mappatura e vi scrive il numero di tipo INT dal byte specificato in memoria.
//| Se non esiste una mappatura dei file, ne viene creata una.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori; |
//| -1 la quantità di dati è maggiore della memoria allocata;
//| -2 indirizzo iniziale non ricevuto;
//| -3 valore non scritto in memoria;
//| -4 errore di mappatura del file.
//| int FileMappingWriteIntValue(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui il numero sarà scritto.
//| const int nValue); // Un numero intero da scrivere nella mappatura del file.
//|13. La funzione apre la mappatura del file e vi scrive un numero di tipo FLOAT dal byte specificato in memoria.
//| Se non c'è una mappatura dei file, ne viene creata una. La funzione converte un numero DOUBLE in FLOAT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di dati maggiore della memoria allocata;
//| -2 indirizzo iniziale non ricevuto;
//| -3 valore non scritto in memoria;
//| -4 errore di mappatura del file.
//| int FileMappingWriteFloatValue(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui il numero sarà scritto.
//| const double dValue); // Numero a doppia precisione da scrivere nella mappatura del file.
//|14. La funzione apre un file di mappatura e vi scrive il numero di tipo DOUBLE dal byte specificato in memoria.
//| Se non esiste una mappatura di file, viene creata una mappatura di file.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di dati maggiore della memoria allocata;
//| -2 indirizzo iniziale non ricevuto;
//| -3 valore non scritto in memoria;
//| -4 errore di mappatura del file.
//| int FileMappingWriteDoubleValue(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui il numero sarà scritto.
//| const double dValue); // Numero di doppia precisione per la scrittura su file mapping.
//|15. La funzione apre un file di mappatura e vi scrive una stringa dal byte specificato in memoria. Se non c'è una mappatura dei file, ne viene creata una.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di caratteri da scrivere più della lunghezza della stringa;
//| -2 lunghezza della stringa più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 valore in memoria non scritto;
//| -5 annullamento del file mapping fallito.
//| int FileMappingWriteString(const char *szNameFileMapping, //| nome del file progettato.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui sarà scritta la stringa.
//| const char *szString); // Stringa per la scrittura della mappatura del file.
//| FUNZIONI PER SCRIVERE NUMERI E STRINGHE NELLA RAPPRESENTAZIONE DI MAPPATURA DEL FILE PROIETTATA NELLO SPAZIO DEGLI INDIRIZZI DEL PROCESSO CHIAMANTE.
//|16. La funzione scrive un valore logico BOOL dal byte specificato in memoria alla mappatura del file nello spazio di indirizzo iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte un numero di tipo INT in BOOL per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 nessun valore è scritto in memoria.
//| int FileMappingWriteSimpleBoolValue(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int nValue); // Valore logico da scrivere nel file di mappatura.
//|17. La funzione scrive il numero del tipo CHAR dal byte specificato in memoria nel file mappato dall'indirizzo iniziale dello spazio di processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte un numero INT in CHAR per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di dati maggiore della memoria allocata;
//| -2 valore non scritto in memoria.
//| int FileMappingWriteSimpleCharValue(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int nValue); // Valore logico da scrivere nel file di mappatura.
//|18. La funzione scrive un numero di tipo SHORT dal byte specificato nella memoria nel file mappato dall'indirizzo iniziale dello spazio di processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte un numero di tipo INT in SHORT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 nessun valore è scritto in memoria.
//| int FileMappingWriteSimpleShortValue(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int nValue); // valore logico per la scrittura nel file mapping.
//|19. La funzione scrive il numero di tipo INT dal byte specificato in memoria al file di mappatura all'indirizzo dello spazio iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 nessun valore viene scritto in memoria.
//| int FileMappingWriteSimpleIntValue(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int nValue); // Un numero intero da scrivere nella mappatura del file.
//| La funzione converte un numero DOUBLE in FLOAT per la scrittura nel file mapping. La funzione è destinata ad essere utilizzata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 nessun valore è scritto in memoria.
//| int FileMappingWriteSimpleFloatValue(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const double dValue); // numero a doppia precisione da scrivere nel file di mappatura.
//|21. La funzione scrive un numero di tipo DOUBLE dal byte specificato in memoria nel file mappato dall'indirizzo dello spazio iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 nessun valore è scritto in memoria.
//| int FileMappingWriteSimpleDoubleValue(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const double dValue); // numero a doppia precisione da scrivere nel file di mappatura.
//|22. La funzione scrive una stringa dal byte specificato in memoria alla mappatura del file all'indirizzo dello spazio iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 nessun valore è scritto in memoria.
//| int FileMappingWriteSimpleString(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const char *szString); // Una stringa da scrivere nel file di mappatura.
//| FUNZIONI PER LEGGERE NUMERI E STRINGHE DAL FILE DI MAPPATURA.
//|23. La funzione apre un file mapping e legge da esso un valore logico BOOL dal byte specificato in memoria.
//| Se il file mapping non esiste, viene creato. La funzione restituisce il valore letto o FALSE in caso di errore.
//| bool FileMappingReadBoolValue(const char *szNameFileMapping, //Nome del file da proiettare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte); // Numero di byte dall'inizio della memoria allocata, da cui verrà letto il numero.
//|24. La funzione apre un file mapping e legge da esso un numero di tipo CHAR dal byte specificato in memoria.
//| Se non c'è una mappatura dei file, ne viene creata una. La funzione restituisce il valore letto o NULL se c'è un errore.
//| char FileMappingReadCharValue(const char *szNameFileMapping, //Nome del file da proiettare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte); // Numero di byte dall'inizio della memoria allocata da cui verrà letto un numero.
//|25. La funzione apre un file mapping e legge da esso un numero di tipo SHORT dal byte specificato in memoria.
//| Se non c'è una mappatura dei file, ne viene creata una. La funzione restituisce il valore letto o NULL se c'è un errore.
//| short FileMappingReadShortValue(const char *szNameFileMapping, //Nome del file da proiettare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte); // Numero di byte dall'inizio della memoria allocata, da cui verrà letto un numero.
//|26. La funzione apre un file di mappatura e legge da esso il numero di tipo INT dal byte specificato nella memoria.
//| Se non c'è una mappatura dei file, ne viene creata una. La funzione restituisce il valore letto o NULL in caso di errore.
//| int FileMappingReadIntValue(const char *szNameFileMapping, //Nome del file da proiettare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte); // Numero di byte dall'inizio della memoria allocata, da cui verrà letto un numero.
//|27. La funzione apre un file mapping e legge il numero del tipo FLOAT dal byte specificato nella memoria. Se non c'è una mappatura dei file, ne viene creata una.
//| La funzione restituisce il valore letto o NULL in caso di errore. La funzione converte un numero di tipo FLOAT dalla mappatura del file a DOUBLE.
//| double FileMappingReadFloatValue(const char *szNameFileMapping, //Nome del file da proiettare.
//| const int nMemorySize, //Numero di memoria riservata per la mappatura dei file.
//| const int nStartByte); // Numero di byte dall'inizio della memoria allocata, da cui verrà letto il numero.
//|28. La funzione apre un file mapping e legge da esso un numero di tipo DOUBLE dal byte specificato in memoria.
//| Se non esiste una mappatura dei file, ne viene creata una. La funzione restituisce il valore letto o NULL in caso di errore.
//| double FileMappingReadDoubleValue(const char *szNameFileMapping, //Nome del file da proiettare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte); // Numero di byte dall'inizio della memoria allocata, da cui verrà letto il numero.
//|29. La funzione apre la mappatura del file e ne legge una riga dal byte specificato in memoria. Se non c'è una mappatura dei file, ne viene creata una.
//| La funzione restituisce un puntatore all'inizio della stringa.
//| In caso di errore, la funzione ritorna: "Error_1" la lunghezza della stringa è più lunga della memoria allocata;
//| "Error_2" indirizzo iniziale non ricevuto;
//| "Error_3" messaggio dalla memoria non letto;
//| "Error_4" errore di mappatura del file.
//| char *FileMappingReadString(const char *szNameFileMapping, //Nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui la stringa sarà letta.
//| const int nLengthString); // Lunghezza della stringa da leggere in caratteri (byte).
//| FUNZIONI PER LEGGERE NUMERI E STRINGHE DALLA RAPPRESENTAZIONE PROIETTATA DEL FILE NELLO SPAZIO DEGLI INDIRIZZI DEL PROCESSO CHIAMANTE.
//|30. La funzione legge dal file di mappatura allo spazio di indirizzo iniziale del processo chiamante un valore logico BOOL dal byte specificato in memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione restituisce un valore letto o FALSE in caso di errore.
//| bool FileMappingReadSimpleBoolValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|31. La funzione apre il file mapping e legge da esso il numero del tipo CHAR dal byte indicato nella memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione restituisce un valore letto o NULL in caso di errore.
//| char FileMappingReadSimpleCharValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|32. La funzione apre il file mapping e legge da esso il numero del tipo SHORT dal byte specificato nella memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione restituisce un valore letto o NULL in caso di errore.
//| short FileMappingReadSimpleShortValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|33. La funzione apre il file mapping e legge da esso il numero di tipo INT dal byte indicato nella memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione restituisce il valore letto o NULL in caso di errore.
//| int FileMappingReadSimpleIntValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|33. La funzione apre il file mapping e legge da esso il numero di tipo INT dal byte indicato nella memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione restituisce il valore letto o NULL in caso di errore.
//| int FileMappingReadSimpleIntValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|34. La funzione apre il file mapping e legge da esso il numero del tipo FLOAT dal byte indicato nella memoria. La funzione è destinata ad essere utilizzata nei cicli.
//| La funzione restituisce il valore letto o NULL in caso di errore. La funzione converte un numero di tipo FLOAT dalla mappatura del file a DOUBLE.
//| double FileMappingReadSimpleFloatValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|35. La funzione apre il file mapping e legge da esso il numero del tipo DOUBLE dal byte indicato nella memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione restituisce un valore letto o NULL in caso di errore.
//| double FileMappingReadSimpleDoubleValue(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//|36. La funzione apre la mappatura del file e ne legge una riga dal byte indicato nella memoria. La funzione è destinata ad essere utilizzata nei cicli.
//| La funzione restituisce un puntatore all'inizio della stringa.
//| In caso di errore, la funzione ritorna: "Error_1" la lunghezza della stringa supera la memoria allocata;
//| "Error_2" il messaggio dalla memoria non viene letto;
//| char *FileMappingReadSimpleString(const char *pcAddress); // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui verrà eseguita la registrazione dei dati.
//| FUNZIONE PER SCRIVERE GLI ARRAY NEL FILE MAPPING.
//|37 La funzione apre un file di mappatura e scrive un array con dati di tipo BOOL in esso dal byte specificato nella memoria.
//| Se non c'è una mappatura dei file, ne viene creata una. La funzione converte i dati dell'array INT in BOOL per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 array non scritto in memoria;
//| -5 errore di mappatura del file.
//| int FileMappingWriteBoolArray(const char *szNameFileMapping, //nome del file che viene proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui sarà scritto l'array.
//| const int *aiArray, // Puntatore all'array con dati logici BOOL da scrivere nel file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|38. La funzione apre un file mapping e scrive in esso una matrice con dati di tipo CHAR dal byte specificato in memoria.
Se //| non c'è una mappatura dei file, ne viene creata una. La funzione converte i dati dell'array INT in CHAR per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 array non scritto in memoria;
//| -5 errore di mappatura del file.
//| int FileMappingWriteCharArray(const char *szNameFileMapping, //Nome del file progettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui sarà scritto l'array.
//| const int *aiArray, // Puntatore all'array con dati di tipo CHAR da scrivere nel file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|39. La funzione apre un file di mappatura e scrive in esso un array con dati di tipo SHORT dal byte specificato in memoria.
Se //| non c'è una mappatura dei file, ne viene creata una. La funzione converte i dati dell'array INT in SHORT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 array non scritto in memoria;
//| -5 errore di mappatura del file.
//| int FileMappingWriteShortArray(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui sarà scritto l'array.
//| const int *aiArray, // Puntatore all'array con dati di tipo SHORT da scrivere nel file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
Se //| non c'è una mappatura dei file, viene creata.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 array non scritto in memoria;
//| -5 annulla mappatura file fallita.
//| int FileMappingWriteIntArray(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, da cui sarà scritto l'array.
//| const int *aiArray, // Puntatore all'array con dati di tipo INT da scrivere nel file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//|41. La funzione apre la mappatura del file e scrive un array con dati di tipo FLOAT in esso dal byte specificato in memoria.
Se //| non c'è una mappatura dei file, ne viene creata una. La funzione converte i dati dell'array DOUBLE in FLOAT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 array non scritto in memoria;
//| -5 errore di mappatura del file.
//| int FileMappingWriteFloatArray(const char *szNameFileMapping, //Nome del file progettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, //Numero di byte dall'inizio della memoria allocata, //dove l'array sarà scritto.
//| const double *adArray, // Puntatore all'array con dati di tipo FLOAT da scrivere nel file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//|42. La funzione apre un file di mappatura e scrive in esso un array con dati di tipo DOUBLE dal byte specificato in memoria.
Se //| non c'è una mappatura dei file, ne viene creata una.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 indirizzo iniziale non ricevuto;
//| -4 array non scritto in memoria;
//| -5 annulla mappatura file fallita.
//| int FileMappingWriteDoubleArray(const char *szNameFileMapping, //Nome del file progettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, //Numero di byte dall'inizio della memoria allocata, //dove l'array sarà scritto.
//| const double *adArray, // Puntatore all'array con dati di tipo DOUBLE da scrivere nel file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//| FUNZIONI PER SCRIVERE ARRAY NELLA RAPPRESENTAZIONE DI MAPPATURA DEL FILE PROIETTATA NELLO SPAZIO DI INDIRIZZI DEL PROCESSO CHIAMANTE.
//|43. La funzione scrive un array con dati di tipo BOOL dal byte specificato nella memoria nel file mappato dallo spazio di indirizzo iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte i dati dell'array INT in BOOL per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 array non scritto in memoria.
//| int FileMappingWriteSimpleBoolArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int *aiArray, // Puntatore all'array con dati logici BOOL da scrivere nel file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|44. La funzione scrive un array con dati di tipo BOOL dal byte specificato nella memoria al file mappato dall'indirizzo dello spazio iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte i dati dell'array INT in CHAR per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 array non scritto in memoria.
//| int FileMappingWriteSimpleCharArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int *aiArray, // puntatore all'array con dati di tipo CHAR da scrivere nel file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|45. La funzione scrive un array con dati di tipo BOOL dal byte specificato nella memoria nel file mappato dall'indirizzo dello spazio iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte i dati dell'array INT in SHORT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere oltre la dimensione dell'array;
//| -2 numero di dati oltre la memoria allocata;
//| -3 array non scritto in memoria.
//| int FileMappingWriteSimpleShortArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int *aiArray, // Puntatore all'array con dati di tipo SHORT da scrivere nel file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//|46. La funzione scrive un array con dati di tipo INT dal byte specificato in memoria nella mappatura del file sull'indirizzo iniziale dello spazio di processo chiamante. |
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 array non scritto in memoria.
//| int FileMappingWriteSimpleIntArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const int *aiArray, // puntatore all'array con dati di tipo INT da scrivere nel file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|47. La funzione scrive un array con dati di tipo FLOAT nel file di mappatura dal byte specificato nella memoria dall'indirizzo iniziale dello spazio di processo chiamante.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte i dati dell'array DOUBLE in FLOAT per la scrittura nel file mapping.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 nessun array viene scritto in memoria.
//| int FileMappingWriteSimpleFloatArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const double *adArray, // Puntatore all'array con dati di tipo FLOAT da scrivere nel file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//|48. La funzione scrive un array con dati di tipo DOUBLE dal byte specificato in memoria al file mappato dall'indirizzo dello spazio iniziale del processo chiamante.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 numero di celle da scrivere più della dimensione dell'array;
//| -2 numero di dati più della memoria allocata;
//| -3 array non scritto in memoria.
//| int FileMappingWriteSimpleDoubleArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| const double *adArray, // Puntatore all'array con dati di tipo DOUBLE da scrivere nel file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//| FUNZIONI PER LEGGERE GLI ARRAY DAL FILE MAPPING.
//|49. La funzione apre un file di mappatura e legge da esso i dati di tipo BOOL in un array dal byte specificato in memoria.
//| Se non esiste una mappatura di file, viene creata una mappatura di file.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 l'indirizzo iniziale non viene ricevuto;
//| -4 il messaggio dalla memoria non viene letto;
//| -5 annulla la mappatura del file fallita.
//| int FileMappingReadBoolArray(const char *szNameFileMapping, //| nome del file da mappare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte, //Numero di byte dall'inizio della memoria allocata da cui sarà scritto l'array.
//| int *aiArray, // Puntatore all'array per leggere i dati logici BOOL dal file di mappatura in esso.
//| const int nSizeBuffer); // Dimensione della matrice.
Se //| non c'è una mappatura dei file, viene creata.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 l'indirizzo iniziale non viene ricevuto;
//| -4 il messaggio dalla memoria non viene letto;
//| -5 annulla la mappatura del file fallita.
//| int FileMappingReadCharArray(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, //Numero di byte dall'inizio della memoria allocata da cui sarà scritto l'array.
//| int *aiArray, // puntatore all'array per leggere dati di tipo CHAR dalla mappa del file.
//| const int nSizeBuffer); // Dimensione della matrice.
//|51. La funzione apre il file map e legge i dati di tipo SHORT da esso nell'array dal byte specificato in memoria.
Se //| non c'è una mappatura dei file, ne viene creata una.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 l'indirizzo iniziale non viene ricevuto;
//| -4 il messaggio dalla memoria non viene letto;
//| -5 annulla il file mapping fallito.
//| int FileMappingReadShortArray(const char *szNameFileMapping, //nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, //Numero di byte dall'inizio della memoria allocata da cui sarà scritto l'array.
//| int *aiArray, // Puntatore all'array per leggere i dati SHORT dal file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|52. La funzione apre il file map e legge i dati di tipo INT da esso nell'array dal byte specificato in memoria.
//| Se non c'è una mappatura dei file, ne viene creata una.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 l'indirizzo iniziale non viene ricevuto;
//| -4 il messaggio dalla memoria non viene letto;
//| -5 annulla la mappatura del file fallita.
//| int FileMappingReadIntArray(const char *szNameFileMapping, //| nome del file da mappare.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte, //Numero di byte dall'inizio della memoria allocata da cui sarà scritto l'array.
//| int *aiArray, // Puntatore all'array per leggere i dati di tipo INT dalla mappatura del file in esso.
//| const int nSizeBuffer); // Dimensione della matrice.
//|53. La funzione apre un file di mappatura e legge i dati di tipo FLOAT da esso nell'array dal byte specificato in memoria.
Se //| non c'è una mappatura dei file, ne viene creata una. La funzione converte i dati di tipo FLOAT dalla mappatura del file in DOUBLE per la lettura nell'array.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 nessun indirizzo iniziale ricevuto;
//| -4 messaggio dalla memoria non letto;
//| -5 annullamento della mappatura del file fallito.
//| int FileMappingReadFloatArray(const char *szNameFileMapping, //Nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria riservata per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, // da cui l'array sarà scritto.
//| double *adArray, // Puntatore all'array per leggere dati di tipo FLOAT dal file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//|54. La funzione apre un file di mappatura e legge i dati di tipo DOUBLE da esso in un array dal byte specificato in memoria.
//| Se non c'è una mappatura dei file, ne viene creata una.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 l'indirizzo iniziale non viene ricevuto;
//| -4 il messaggio dalla memoria non viene letto;
//| -5 annulla la mappatura del file fallita.
//| int FileMappingReadDoubleArray(const char *szNameFileMapping, //| nome del file proiettato.
//| const int nMemorySize, // Quantità di memoria da riservare per la mappatura dei file.
//| const int nStartByte, // Numero di byte dall'inizio della memoria allocata, // da cui l'array sarà scritto.
//| double *adArray, // Puntatore all'array per leggere i dati DOUBLE dal file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//| FUNZIONE PER LEGGERE GLI ARRAY NELLA RAPPRESENTAZIONE DI MAPPATURA DEL FILE PROIETTATA NELLO SPAZIO DEGLI INDIRIZZI DEL PROCESSO CHIAMANTE.
//|55. La funzione legge i dati di tipo BOOL dal file mappato dallo spazio di indirizzo iniziale del processo chiamante in un array dal byte specificato in memoria.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 messaggio dalla memoria non letto.
//| int FileMappingReadSimpleBoolArray(const char *pcAddress, // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| int *aiArray, // puntatore all'array per leggervi dati logici BOOL dal file mapping.
//| const int nSizeBuffer); // Dimensione della matrice.
//|56. La funzione legge i dati di tipo CHAR dal file mappato dall'indirizzo iniziale dello spazio di processo chiamante in un array dal byte specificato nella memoria.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 il messaggio dalla memoria non viene letto.
//| int FileMappingReadSimpleCharArray(const char *pcAddress, // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| int *aiArray, // Puntatore all'array per leggere i dati di tipo CHAR dal file di mappatura.
//| const int nSizeBuffer); // Dimensione della matrice.
//|57. La funzione legge i dati di tipo SHORT dal file mappato dall'indirizzo iniziale dello spazio del processo chiamante nell'array dal byte specificato in memoria.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 il messaggio dalla memoria non viene letto.
//| int FileMappingReadSimpleShortArray(const char *pcAddress, // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| int *aiArray, // Puntatore all'array per leggere i dati di tipo SHORT dalla mappatura del file in esso.
//| const int nSizeBuffer); // Dimensione della matrice.
//|58. La funzione legge i dati di tipo INT dal file mappato dall'indirizzo dello spazio iniziale del processo chiamante nell'array dal byte specificato in memoria.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 il messaggio dalla memoria non viene letto.
//| int FileMappingReadSimpleIntArray(const char *pcAddress, // Puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| int *aiArray, // Puntatore all'array per leggere i dati di tipo INT dalla mappatura del file in esso.
//| const int nSizeBuffer); // Dimensione della matrice.
//|59. La funzione legge i dati di tipo FLOAT dal file di mappatura dall'indirizzo iniziale dello spazio di processo chiamante nell'array dal byte specificato nella memoria.
//| La funzione è destinata ad essere usata nei cicli. La funzione converte i dati di mappatura del file di tipo FLOAT in DOUBLE per la lettura in una matrice.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 messaggio dalla memoria non letto.
//| int FileMappingReadSimpleFloatArray(const char *pcAddress, //| puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| double *adArray, // puntatore all'array per leggere dati di tipo FLOAT dalla mappatura del file in esso.
//| const int nSizeBuffer); // Dimensione della matrice.
//|60. La funzione legge i dati di tipo DOUBLE dal file mappato dall'indirizzo dello spazio iniziale del processo chiamante nell'array dal byte specificato in memoria.
//| La funzione è destinata ad essere usata nei cicli.
//| La funzione ritorna: 1 completamento con successo;
//| 0 altri errori;
//| -1 più dati della memoria allocata;
//| -2 la dimensione del buffer di ricezione non è sufficiente;
//| -3 messaggio dalla memoria non letto.
//| int FileMappingReadSimpleDoubleArray(const char *pcAddress, // puntatore al byte dell'area di memoria della rappresentazione proiettata del file,
//| // da cui i dati saranno scritti.
//| double *adArray, // puntatore all'array per leggere dati di tipo DOUBLE dalla mappatura del file in esso.
//| const int nSizeBuffer); // Dimensione della matrice.
Это не исходник, и не DLL. Это офрмленный заголовок исходника DLL, на который потратил больше недели. Написание класса для маппинга заняло неделю. В основном на продумывание структурированности.
А само писание 60 функций заняло 60 минут. Там в каждой функции по паре строчек.
Очень приятная библиотечка. А файлами готовыми Вы не можете поделиться? Или это подразумевает оплату?
Non ancora finito. Tutto è in corso. Sto correggendo gli errori nella descrizione e modificando i nomi delle funzioni, sono troppo lunghi per MQL4.
I test sono molto lontani. La libreria è destinata a lavorare con il mio Toolbox e quindi è protetta. Non vi darò il codice sorgente.
Se volete, potete affittarlo. :-))
Ma, dopo tutto, le cose più preziose che hai esposto. Questa descrizione è più importante del codice sorgente.
Al momento il file di intestazione si presenta così:
Il file di intestazione è ora come questo:
Файлы придуманы для длительного хранения информации. Зачем терзать диск? Для общения есть ОЗУ.
Se si crea un disco in RAM (RAMdisk), allora il disco rigido non soffrirà e offrire JavaDev ha un certo senso.
E per la biblioteca - grazie mille!!! Proprio un capolavoro!!!