Austausch von Daten zwischen zwei EAs, die auf verschiedenen Terminals laufen - Seite 8

 
zhuki >>:

В личке

Ich danke Ihnen.

 
Es handelt sich weder um den Quellcode noch um eine DLL. Dies ist ein gerahmter Header einer Quell-DLL, deren Erstellung über eine Woche gedauert hat. Es dauerte eine Woche, um die Klasse für das Mapping zu schreiben. Vor allem, um über die Strukturierung nachzudenken.
Und es dauerte 60 Minuten, um 60 Funktionen zu schreiben. Jede Funktion besteht aus mehreren Zeilen.

//| ALLGEMEINE FUNKTIONEN.

//| (1) Die Funktion erstellt oder öffnet eine Dateiabbildung mit dem Benutzer-Dateideskriptor und/oder dem Namen der Dateiabbildung mit der Möglichkeit, |
//| die Größe des dafür zugewiesenen Speichers vorläufig zu ändern. Wenn keine Dateizuordnung existiert, wird eine erstellt.
Die Funktion //| gibt im Erfolgsfall den Deskriptor des Dateizuordnungssystems zurück, ansonsten NULL.
//| HANDLE FileMappingCreate(const int hFileUser, // // Benutzer-Dateisystem-Deskriptor.
//| const char *szNameFileMapping, //Name für die projizierte Datei.
//| const const int nBytes); // Speichermenge, die für die Dateizuordnung reserviert werden soll.

//| 2. Die Funktion öffnet die Dateizuordnung. Die Funktion gibt bei Erfolg einen Systemdeskriptor für die Dateizuordnung zurück, ansonsten NULL.
//| HANDLE FileMappingOpen(const char *szNameFileMapping); //Name für die zu projizierende Datei.

//| 3. Die Funktion löscht die Dateizuordnung anhand ihres Namens.
//| Funktionsrückgaben: 1 erfolgreicher Abschluss;
//| 0 andere Fehler; |
//| -1 Anfangsadresse nicht erhalten;
//| -2 Speicher nicht gelöscht;
//| -3 Dateizuordnungsfehler.
//| int FileMappingClear(const char *szNameFileMapping); // Name der Dateizuordnung.

//| 4. Die Funktion schließt die Dateizuordnung anhand ihres Namens. Die Funktion gibt TRUE zurück, wenn sie erfolgreich war, andernfalls FALSE.
//| bool FileMappingClose(const char *szNameFileMapping); //Name der Dateizuordnung.

EINE //| GENERISCHE FUNKTION ZUM ZUGRIFF AUF DIE DATEIMAPPING-DARSTELLUNG DER PROJIZIERTEN DATEI IM ADRESSRAUM DES AUFRUFENDEN PROZESSES.

//| 5. Die Funktion erstellt eine Dateizuordnung durch den Dateideskriptor des Benutzers und/oder den Namen der Dateizuordnung mit der Möglichkeit, die
//| Größe des dafür zugewiesenen Speichers im Voraus zu ändern und ordnet die projizierte Dateirepräsentation in den Adressraum des aufrufenden Prozesses ein.
Die Funktion //| gibt bei Erfolg einen Zeiger auf das erste Byte des Mapping-Speicherbereichs zurück, ansonsten NULL.
//| char *FileMappingCreateViewOfFile(const int hFileUser, // //Der Systemdeskriptor der Benutzerdatei.
//| const char *szNameFileMapping, //Name für die projizierte Datei.
//| const const int nBytes); // Speichermenge, die für die Dateizuordnung reserviert werden soll.

//| 6. Die Funktion öffnet die Datei, die durch ihren Namen abgebildet wird, und bildet die Repräsentation der projizierten Datei in den Adressraum des aufrufenden Prozesses ab.
//| Die Funktion gibt im Erfolgsfall einen Zeiger auf das erste Byte des Mapping-Speicherbereichs der projizierten Dateirepräsentation zurück, ansonsten NULL.
//| char *FileMappingOpenViewOfFile(const char *szNameFileMapping); // Name für die projizierte Datei.

//| 7. Die Funktion bildet die Darstellung der projizierten Datei auf den Adressraum des aufrufenden Prozesses ab.
Die Funktion //| gibt im Erfolgsfall TRUE und im Fehlerfall FALSE zurück.
//| bool FileMappingViewOfFile(const char *pcAddress); // Zeiger auf das erste Byte des Speicherbereichs der projizierten Dateidarstellung, zurückgegeben von
//| // Funktionen FileMappingCreateViewOfFile(), FileMappingOpenViewOfFile().

//| 8. Die Funktion hebt die Präsentation der projizierten Datei im Adressraum des aufrufenden Prozesses auf.
//| Die Funktion liefert TRUE bei Erfolg oder FALSE bei Fehler.
//| bool FileMappingUnViewOfFile(const char *pcAddress); // Zeiger auf das erste Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // zurückgegeben von FileMappingCreateViewOfFile(), FileMappingOpenViewOfFile().

//| FUNKTIONEN ZUM SCHREIBEN VON ZAHLEN UND ZEICHENKETTEN IN DIE DATEIABBILDUNG.

//| 9. Die Funktion öffnet eine Dateizuordnung und schreibt einen logischen BOOL-Wert ab dem angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung existiert, wird sie erstellt. Die Funktion konvertiert eine Zahl vom Typ INT in BOOL, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 Anfangsadresse nicht erhalten;
//| -3 Wert nicht in den Speicher geschrieben;
//| -4 Dateizuordnungsfehler.
//| int FileMappingWriteBoolValue(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes ab dem Anfang des zugewiesenen Speichers, ab dem die Zahl geschrieben wird.
//| const int nValue); // Logischer Wert, der in die Dateiabbildung geschrieben werden soll.

//|10. Die Funktion öffnet die Dateiabbildung und schreibt die Nummer des Typs CHAR aus dem angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung existiert, wird eine erstellt. Die Funktion konvertiert eine INT-Zahl in CHAR, um sie in die Dateiabbildung zu schreiben.
//| Funktionsrückgaben: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der Daten größer als der zugewiesene Speicher;
//| -2 Anfangsadresse nicht erhalten;
//| -3 Wert nicht in den Speicher geschrieben;
//| -4 Dateizuordnungsfehler.
//| int FileMappingWriteCharValue(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes ab dem Anfang des zugewiesenen Speichers, ab dem die Zahl geschrieben wird.
//| const int nValue); // Eine ganzzahlige Zahl, die in die Dateiabbildung geschrieben werden soll.

//|11. Die Funktion öffnet die Dateizuordnung und schreibt die Nummer vom Typ SHORT aus dem angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert eine INT-Zahl in SHORT, um sie in die Dateiabbildung zu schreiben.
//| Funktionsrückgaben: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der Daten größer als der zugewiesene Speicher;
//| -2 Anfangsadresse nicht erhalten;
//| -3 Wert nicht in den Speicher geschrieben;
//| -4 Dateizuordnungsfehler.
//| int FileMappingWriteShortValue(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes ab dem Anfang des zugewiesenen Speichers, ab dem die Zahl geschrieben wird.
//| const int nValue); // Ganzzahlige Zahl, die in die Dateiabbildung geschrieben werden soll.

//|12. Die Funktion öffnet die Dateizuordnung und schreibt die Nummer des Typs INT aus dem angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung existiert, wird eine erstellt.
//| Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler; |
//| -1 Datenmenge ist größer als der zugewiesene Speicher;
//| -2 Anfangsadresse nicht erhalten;
//| -3 Wert nicht in den Speicher geschrieben;
//| -4 Dateizuordnungsfehler.
//| int FileMappingWriteIntValue(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes ab dem Anfang des zugewiesenen Speichers, ab dem die Zahl geschrieben wird.
//| const int nValue); // Eine ganzzahlige Zahl, die in die Dateiabbildung geschrieben werden soll.

//|13. Die Funktion öffnet die Dateizuordnung und schreibt eine Zahl vom Typ FLOAT aus dem angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert eine DOUBLE-Zahl in FLOAT, um sie in die Dateiabbildung zu schreiben.
//| Funktionsrückgaben: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der Daten größer als der zugewiesene Speicher;
//| -2 Anfangsadresse nicht erhalten;
//| -3 Wert nicht in den Speicher geschrieben;
//| -4 Dateizuordnungsfehler.
//| int FileMappingWriteFloatValue(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes ab dem Anfang des zugewiesenen Speichers, ab dem die Zahl geschrieben wird.
//| const double dValue); // Doppelt genaue Zahl, die in die Dateiabbildung geschrieben werden soll.

//|14. Die Funktion öffnet eine Dateiabbildung und schreibt die Zahl vom Typ DOUBLE aus dem angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung existiert, wird eine Dateizuordnung erstellt.
//| Funktionsrückgaben: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der Daten größer als der zugewiesene Speicher;
//| -2 Anfangsadresse nicht erhalten;
//| -3 Wert nicht in den Speicher geschrieben;
//| -4 Dateizuordnungsfehler.
//| int FileMappingWriteDoubleValue(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes ab dem Anfang des zugewiesenen Speichers, ab dem die Zahl geschrieben wird.
//| const double dValue); // Anzahl der doppelten Genauigkeit für das Schreiben in die Datei Mapping.

//|15. Die Funktion öffnet eine Dateizuordnung und schreibt eine Zeichenkette vom angegebenen Byte im Speicher in diese. Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zeichen mehr als die Stringlänge;
//| -2 Stringlänge mehr als der zugewiesene Speicher;
//| -3 Startadresse nicht erhalten;
//| -4 Wert im Speicher nicht geschrieben;
//| -5 Abbrechen der Dateizuordnung fehlgeschlagen.
//| int FileMappingWriteString(const char *szNameFileMapping, //| Name für projizierte Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, ab dem die Zeichenkette geschrieben wird.
//| const char *szString); // Zeichenkette zum Schreiben in die Dateizuordnung.

//| FUNKTIONEN ZUM SCHREIBEN VON ZAHLEN UND ZEICHENKETTEN IN DIE DATEIABBILDUNGSDARSTELLUNG DER PROJIZIERTEN DATEI IM ADRESSRAUM DES AUFRUFENDEN PROZESSES.

//|16. Die Funktion schreibt einen logischen BOOL-Wert aus dem angegebenen Byte im Speicher in die Dateiabbildung am Startadressraum des aufrufenden Prozesses.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert eine Zahl vom Typ INT in BOOL, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 kein Wert wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleBoolValue(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int nValue); // Logischer Wert zum Schreiben in die Dateiabbildung.

//|17. Die Funktion schreibt die Nummer des Typs CHAR aus dem angegebenen Byte im Speicher in die Datei, die durch die Anfangsadresse des aufrufenden Prozeßraums abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert eine INT-Zahl in CHAR, um sie in die Dateiabbildung zu schreiben.
//| Funktionsrückgaben: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der Daten größer als der zugewiesene Speicher;
//| -2 Wert nicht in den Speicher geschrieben.
//| int FileMappingWriteSimpleCharValue(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int nValue); // Logischer Wert zum Schreiben in die Dateiabbildung.

//|18. Die Funktion schreibt eine Zahl vom Typ SHORT aus dem angegebenen Byte im Speicher in die Datei, die durch die Anfangsadresse des aufrufenden Prozessraums abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert eine Zahl vom Typ INT in SHORT, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 kein Wert wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleShortValue(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int nValue); // logischer Wert zum Schreiben in die Dateiabbildung.

//|19. Die Funktion schreibt die Nummer des Typs INT aus dem angegebenen Byte im Speicher in die Dateizuordnung an der Anfangsraumadresse des aufrufenden Prozesses.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 kein Wert wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleIntValue(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int nValue); // Eine ganzzahlige Zahl, die in die Dateiabbildung geschrieben wird.
 
//|20. Die Funktion schreibt eine Zahl vom Typ FLOAT ab dem angegebenen Byte im Speicher in die Dateiabbildung an der initialen Speicheradresse des aufrufenden Prozesses.
//| Die Funktion konvertiert eine DOUBLE-Zahl in FLOAT, um sie in die Dateiabbildung zu schreiben. Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 kein Wert wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleFloatValue(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden sollen.
//| const double dValue); // Zahl mit doppelter Genauigkeit, die in die Dateiabbildung geschrieben wird.

//|21. Die Funktion schreibt eine Zahl vom Typ DOUBLE aus dem angegebenen Byte im Speicher in die Datei, die durch die anfängliche Speicheradresse des aufrufenden Prozesses abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 kein Wert wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleDoubleValue(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const double dValue); // Zahl mit doppelter Genauigkeit, die in die Dateiabbildung geschrieben wird.

//|22. Die Funktion schreibt eine Zeichenkette vom angegebenen Byte im Speicher in die Dateiabbildung an der anfänglichen Speicheradresse des aufrufenden Prozesses.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 kein Wert wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleString(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const char *szString); // Eine Zeichenkette, die in die Dateiabbildung geschrieben wird.

//| FUNKTIONEN ZUM LESEN VON ZAHLEN UND ZEICHENKETTEN AUS DER DATEIZUORDNUNG.

//|23. Die Funktion öffnet eine Dateiabbildung und liest daraus einen logischen BOOL-Wert aus dem angegebenen Byte im Speicher.
//| Wenn die Dateizuordnung nicht existiert, wird sie erstellt. Die Funktion liefert den gelesenen Wert oder FALSE im Fehlerfall.
//| bool FileMappingReadBoolValue(const char *szNameFileMapping, //Name für die zu projizierende Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte); // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem die Zahl gelesen wird.

//|24. Die Funktion öffnet eine Dateiabbildung und liest daraus eine Zahl vom Typ CHAR ab dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion gibt den gelesenen Wert zurück, oder NULL, wenn ein Fehler vorliegt.
//| char FileMappingReadCharValue(const char *szNameFileMapping, //Name für die zu projizierende Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte); // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem eine Zahl gelesen werden soll.

//|25. Die Funktion öffnet eine Dateiabbildung und liest daraus eine Zahl vom Typ SHORT aus dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion gibt den gelesenen Wert zurück, oder NULL, wenn ein Fehler vorliegt.
//| short FileMappingReadShortValue(const char *szNameFileMapping, //Name für die zu projizierende Datei.
//| const int nMemorySize, // Menge des Speichers, der für die Dateizuordnung reserviert werden soll.
//| const int nStartByte); // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem eine Zahl gelesen wird.

//|26. Die Funktion öffnet eine Dateiabbildung und liest daraus die Nummer des Typs INT aus dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion gibt den gelesenen Wert oder NULL im Fehlerfall zurück.
//| int FileMappingReadIntValue(const char *szNameFileMapping, //Name für die zu projizierende Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte); // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem eine Zahl gelesen wird.

//|27. Die Funktion öffnet eine Dateiabbildung und liest die Zahl vom Typ FLOAT aus dem angegebenen Byte im Speicher. Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion liefert den gelesenen Wert oder NULL im Fehlerfall. Die Funktion konvertiert eine Zahl vom Typ FLOAT aus der Dateiabbildung in DOUBLE.
//| double FileMappingReadFloatValue(const char *szNameFileMapping, //Name für die zu projizierende Datei.
//| const int nMemorySize, //Anzahl der reservierten Speicherplätze für die Dateizuordnung.
//| const int nStartByte); // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem die Zahl gelesen wird.

//|28. Die Funktion öffnet eine Dateiabbildung und liest daraus eine Zahl vom Typ DOUBLE ab dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung existiert, wird eine erstellt. Die Funktion gibt den gelesenen Wert oder NULL im Fehlerfall zurück.
//| double FileMappingReadDoubleValue(const char *szNameFileMapping, //Name für die zu projizierende Datei.
//| const int nMemorySize, // Menge des Speichers, der für die Dateizuordnung reserviert werden soll.
//| const int nStartByte); // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem die Zahl gelesen wird.

//|29. Die Funktion öffnet die Dateiabbildung und liest eine Zeile daraus ab dem angegebenen Byte im Speicher. Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion gibt einen Zeiger auf den Anfang der Zeichenkette zurück.
//| Im Falle eines Fehlers kehrt die Funktion zurück: "Error_1" Stringlänge ist länger als der zugewiesene Speicher;
//| "Error_2" Anfangsadresse nicht erhalten;
//| "Error_3" Nachricht aus dem Speicher nicht gelesen;
//| "Error_4" Dateizuordnungsfehler.
//| char *FileMappingReadString(const char *szNameFileMapping, //Name für die projektierte Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem die Zeichenkette gelesen werden soll.
//| const int nLengthString); // Länge der zu lesenden Zeichenkette in Zeichen (Bytes).

//| FUNKTIONEN ZUM LESEN VON ZAHLEN UND ZEICHENKETTEN AUS DER PROJIZIERTEN DATEIDARSTELLUNG IM ADRESSRAUM DES AUFRUFENDEN PROZESSES.

//|30. Die Funktion liest aus der Dateizuordnung zum Anfangsadressraum des aufrufenden Prozesses einen logischen BOOL-Wert aus dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion liefert einen gelesenen Wert oder FALSE im Falle eines Fehlers.
//| bool FileMappingReadSimpleBoolValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden.

//|31. Die Funktion öffnet die Dateiabbildung und liest daraus die Nummer des Typs CHAR aus dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion liefert einen gelesenen Wert oder NULL im Falle eines Fehlers.
//| char FileMappingReadSimpleCharValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden.

//|32. Die Funktion öffnet die Dateizuordnung und liest aus ihr die Nummer vom Typ SHORT aus dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion liefert einen gelesenen Wert oder NULL im Falle eines Fehlers.
//| short FileMappingReadSimpleShortValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden sollen.

//|33. Die Funktion öffnet die Dateizuordnung und liest aus ihr die Nummer des Typs INT aus dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion gibt den gelesenen Wert oder NULL im Fehlerfall zurück.
//| int FileMappingReadSimpleIntValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden.

//|33. Die Funktion öffnet die Dateizuordnung und liest aus ihr die Nummer des Typs INT aus dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion gibt den gelesenen Wert oder NULL im Fehlerfall zurück.
//| int FileMappingReadSimpleIntValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden.

//|34. Die Funktion öffnet die Dateizuordnung und liest aus ihr die Zahl vom Typ FLOAT aus dem angegebenen Byte im Speicher. Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt den gelesenen Wert zurück oder NULL im Falle eines Fehlers. Die Funktion konvertiert eine Zahl vom Typ FLOAT aus der Dateiabbildung in DOUBLE.
//| double FileMappingReadSimpleFloatValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden sollen.

//|35. Die Funktion öffnet die Dateizuordnung und liest aus ihr die Nummer vom Typ DOUBLE aus dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion liefert einen gelesenen Wert oder NULL im Falle eines Fehlers.
//| double FileMappingReadSimpleDoubleValue(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
// // aus dem die Daten geschrieben werden.

//|36. Die Funktion öffnet die Dateizuordnung und liest eine Zeile aus ihr ab dem angegebenen Byte im Speicher. Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt einen Zeiger auf den Anfang der Zeichenkette zurück.
//| Im Falle eines Fehlers kehrt die Funktion zurück: "Error_1" die Länge des Strings übersteigt den zugewiesenen Speicher;
//| "Error_2" die Nachricht aus dem Speicher wird nicht gelesen;
//| char *FileMappingReadSimpleString(const char *pcAddress); // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // von dem aus die Datenaufzeichnung durchgeführt wird.

//| FUNKTION ZUM SCHREIBEN VON ARRAYS IN DIE DATEIABBILDUNG.

//|37 Die Funktion öffnet eine Dateizuordnung und schreibt ein Array mit Daten vom Typ BOOL vom angegebenen Byte in den Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert die INT-Array-Daten in BOOL, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Array-Größe;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 Anfangsadresse nicht erhalten;
//| -4 Array nicht in den Speicher geschrieben;
//| -5 Dateizuordnungsfehler.
//| int FileMappingWriteBoolArray(const char *szNameFileMapping, //Name für die Dateizuordnung.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, von dem aus das Array geschrieben werden soll.
//| const int *aiArray, // Zeiger auf Array mit logischen BOOL-Daten, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|38. Die Funktion öffnet eine Dateiabbildung und schreibt in diese ein Array mit Daten vom Typ CHAR aus dem angegebenen Byte in den Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert die INT-Array-Daten in CHAR, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Array-Größe;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 Anfangsadresse nicht erhalten;
//| -4 Array nicht in den Speicher geschrieben;
//| -5 Dateizuordnungsfehler.
//| int FileMappingWriteCharArray(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, von dem aus das Array geschrieben werden soll.
//| const int *aiArray, // Zeiger auf Array mit CHAR-artigen Daten, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|39. Die Funktion öffnet eine Dateizuordnung und schreibt ein Array mit Daten vom Typ SHORT aus dem angegebenen Byte in den Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert die INT-Array-Daten in SHORT, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Array-Größe;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 Anfangsadresse nicht erhalten;
//| -4 Array nicht in den Speicher geschrieben;
//| -5 Dateizuordnungsfehler.
//| int FileMappingWriteShortArray(const char *szNameFileMapping, //Name für die projektierte Datei.
//| const int nMemorySize, //Anzahl der reservierten Speicherplätze für die Dateiabbildung.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, von dem aus das Array geschrieben werden soll.
//| const int *aiArray, // Zeiger auf Array mit Daten vom Typ SHORT, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.
 
//|40. Die Funktion öffnet eine Dateizuordnung und schreibt in diese ein Array mit Daten vom Typ INT aus dem angegebenen Byte in den Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird sie erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Array-Größe;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 Anfangsadresse nicht erhalten;
//| -4 Array nicht in den Speicher geschrieben;
//| -5 Abbrechen der Dateizuordnung fehlgeschlagen.
//| int FileMappingWriteIntArray(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, von dem aus das Array geschrieben werden soll.
//| const int *aiArray, // Zeiger auf Array mit Daten vom Typ INT, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|41. Die Funktion öffnet die Dateizuordnung und schreibt ein Array mit Daten vom Typ FLOAT ab dem angegebenen Byte in den Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert die Array-Daten DOUBLE in FLOAT, um sie in die Datei Mapping zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Array-Größe;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 Anfangsadresse nicht erhalten;
//| -4 Array nicht in den Speicher geschrieben;
//| -5 Dateizuordnungsfehler.
//| int FileMappingWriteFloatArray(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, //Anzahl der Bytes vom Anfang des zugewiesenen Speichers, //wo das Array geschrieben wird.
//| const double *adArray, // Zeiger auf Array mit Daten vom Typ FLOAT, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|42. Die Funktion öffnet eine Dateizuordnung und schreibt ein Array mit Daten vom Typ DOUBLE aus dem angegebenen Byte in den Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Array-Größe;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 Anfangsadresse nicht erhalten;
//| -4 Array nicht in den Speicher geschrieben;
//| -5 Abbrechen der Dateizuordnung fehlgeschlagen.
//| int FileMappingWriteDoubleArray(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, //Anzahl der Bytes vom Anfang des zugewiesenen Speichers, //wo das Array geschrieben wird.
//| const double *adArray, // Zeiger auf Array mit Daten vom Typ DOUBLE, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//| FUNKTIONEN ZUM SCHREIBEN VON ARRAYS IN DIE DATEIABBILDUNGSDARSTELLUNG DER PROJIZIERTEN DATEI IM ADRESSRAUM DES AUFRUFENDEN PROZESSES.

//|43. Die Funktion schreibt ein Array mit Daten vom Typ BOOL aus dem angegebenen Byte im Speicher in die Datei, die durch den Anfangsadressraum des aufrufenden Prozesses abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert die INT-Array-Daten in BOOL, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreiche Beendigung;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als Array-Größe;
//| -2 Anzahl der Daten mehr als zugewiesener Speicher;
//| -3 Array nicht in den Speicher geschrieben.
//| int FileMappingWriteSimpleBoolArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int *aiArray, // Zeiger auf das Array mit logischen BOOL-Daten, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|44. Die Funktion schreibt ein Array mit Daten vom Typ BOOL von dem angegebenen Byte im Speicher in die Datei, die durch die anfängliche Speicheradresse des aufrufenden Prozesses abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert die INT-Array-Daten in CHAR, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreiche Beendigung;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als Array-Größe;
//| -2 Anzahl der Daten mehr als zugewiesener Speicher;
//| -3 Array nicht in den Speicher geschrieben.
//| int FileMappingWriteSimpleCharArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int *aiArray, // Zeiger auf das Array mit Daten vom Typ CHAR, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|45. Die Funktion schreibt ein Array mit Daten vom Typ BOOL aus dem angegebenen Byte im Speicher in die Datei, die durch die anfängliche Speicheradresse des aufrufenden Prozesses abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert die INT-Array-Daten in SHORT, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreiche Beendigung;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen über der Array-Größe;
//| -2 Anzahl der Daten über dem zugewiesenen Speicher;
//| -3 Array nicht in den Speicher geschrieben.
//| int FileMappingWriteSimpleShortArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int *aiArray, // Zeiger auf Array mit Daten vom Typ SHORT, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|46. Die Funktion schreibt ein Array mit Daten vom Typ INT vom angegebenen Byte im Speicher in die Dateiabbildung auf der Anfangsadresse des aufrufenden Prozessraums. |
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Funktionsrückgaben: 1 erfolgreiche Beendigung;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als Array-Größe;
//| -2 Anzahl der Daten mehr als zugewiesener Speicher;
//| -3 Array nicht in den Speicher geschrieben.
//| int FileMappingWriteSimpleIntArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const int *aiArray, // Zeiger auf das Array mit INT-artigen Daten, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|47. Die Funktion schreibt ein Array mit Daten vom Typ FLOAT in die Dateizuordnung ab dem angegebenen Byte im Speicher durch die Anfangsadresse des aufrufenden Prozessraums.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert die Daten des DOUBLE-Arrays in FLOAT, um sie in die Dateiabbildung zu schreiben.
//| Die Funktion gibt zurück: 1 erfolgreiche Beendigung;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als die Arraygröße;
//| -2 Anzahl der Daten mehr als der zugewiesene Speicher;
//| -3 kein Array wird in den Speicher geschrieben.
//| int FileMappingWriteSimpleFloatArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const double *adArray, // Zeiger auf Array mit Daten vom Typ FLOAT, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//|48. Die Funktion schreibt ein Array mit Daten vom Typ DOUBLE vom angegebenen Byte im Speicher in die Datei, die durch die initiale Speicheradresse des aufrufenden Prozesses abgebildet wird.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Funktionsrückgaben: 1 erfolgreiche Beendigung;
//| 0 andere Fehler;
//| -1 Anzahl der zu schreibenden Zellen mehr als Array-Größe;
//| -2 Anzahl der Daten mehr als zugewiesener Speicher;
//| -3 Array nicht in den Speicher geschrieben.
//| int FileMappingWriteSimpleDoubleArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| const double *adArray, // Zeiger auf Array mit Daten vom Typ DOUBLE, die in die Dateiabbildung geschrieben werden sollen.
//| const int nSizeBuffer); // Größe des Arrays.

//| FUNKTIONEN ZUM LESEN VON ARRAYS AUS DER DATEIABBILDUNG.

//|49. Die Funktion öffnet eine Dateiabbildung und liest daraus Daten vom Typ BOOL in ein Array ab dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung existiert, wird eine Dateizuordnung erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 keine Startadresse erhalten;
//| -4 Nachricht aus dem Speicher nicht gelesen;
//| -5 Dateizuordnung rückgängig machen fehlgeschlagen.
//| int FileMappingReadBoolArray(const char *szNameFileMapping, //| Name für die zuzuordnende Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte, //Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem das Array geschrieben werden soll.
//| int *aiArray, // Zeiger auf Array zum Lesen von logischen BOOL-Daten aus der Dateizuordnung in dieses Array.
//| const int nSizeBuffer); // Größe des Arrays.
 
//|50. Die Funktion öffnet eine Dateiabbildung und liest Daten vom Typ CHAR aus dieser Datei in ein Array ab dem angegebenen Byte im Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird sie erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers reicht nicht aus;
//| -3 die Startadresse wird nicht empfangen;
//| -4 die Nachricht aus dem Speicher wird nicht gelesen;
//| -5 Abbrechen der Dateizuordnung ist fehlgeschlagen.
//| int FileMappingReadCharArray(const char *szNameFileMapping, //Name für projizierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, //Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem das Array geschrieben wird.
//| int *aiArray, // Zeiger auf Array zum Lesen von CHAR-artigen Daten aus Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//|51. Die Funktion öffnet die Dateimap und liest Daten vom Typ SHORT aus ihr in das Array ab dem angegebenen Byte im Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers reicht nicht aus;
//| -3 die Startadresse wird nicht empfangen;
//| -4 die Nachricht aus dem Speicher wird nicht gelesen;
//| -5 Abbrechen der Dateizuordnung fehlgeschlagen.
//| int FileMappingReadShortArray(const char *szNameFileMapping, //Name für die projektierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, //Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem das Array geschrieben wird.
//| int *aiArray, // Zeiger auf Array zum Lesen von SHORT-Daten aus Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//|52. Die Funktion öffnet die Dateimap und liest Daten des Typs INT aus ihr in das Array ab dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 die Startadresse wird nicht empfangen;
//| -4 die Nachricht aus dem Speicher wird nicht gelesen;
//| -5 Abbrechen des File Mappings ist fehlgeschlagen.
//| int FileMappingReadIntArray(const char *szNameFileMapping, //| Name für die zu mappende Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte, //Anzahl der Bytes vom Anfang des zugewiesenen Speichers, aus dem das Array geschrieben werden soll.
//| int *aiArray, // Zeiger auf Array zum Lesen von INT-artigen Daten aus der Dateizuordnung in dieses Array.
//| const int nSizeBuffer); // Größe des Arrays.

//|53. Die Funktion öffnet eine Dateiabbildung und liest Daten vom Typ FLOAT aus dieser Datei in das Array ab dem angegebenen Byte im Speicher.
Wenn //| keine Dateizuordnung vorhanden ist, wird eine erstellt. Die Funktion konvertiert die Daten vom Typ FLOAT aus der Dateiabbildung in DOUBLE zum Einlesen in das Array.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 keine Startadresse erhalten;
//| -4 Nachricht aus dem Speicher nicht gelesen;
//| -5 Dateizuordnung rückgängig machen fehlgeschlagen.
//| int FileMappingReadFloatArray(const char *szNameFileMapping, //Name für die projektierte Datei.
//| const int nMemorySize, // Menge des reservierten Speichers für die Dateizuordnung.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, // von dem aus das Array geschrieben werden soll.
//| double *adArray, // Zeiger auf Array zum Lesen von Daten des Typs FLOAT aus Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//|54. Die Funktion öffnet eine Dateiabbildung und liest Daten vom Typ DOUBLE aus dieser Datei in ein Array ab dem angegebenen Byte im Speicher.
//| Wenn keine Dateizuordnung vorhanden ist, wird eine erstellt.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers reicht nicht aus;
//| -3 die Startadresse wird nicht empfangen;
//| -4 die Nachricht aus dem Speicher wird nicht gelesen;
//| -5 Abbrechen der Dateizuordnung fehlgeschlagen.
//| int FileMappingReadDoubleArray(const char *szNameFileMapping, //| Name für die projizierte Datei.
//| const int nMemorySize, // Menge an Speicher, die für die Dateizuordnung reserviert werden soll.
//| const int nStartByte, // Anzahl der Bytes vom Anfang des zugewiesenen Speichers, // von dem aus das Array geschrieben werden soll.
//| double *adArray, // Zeiger auf Array zum Lesen von DOUBLE-Daten aus Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//| FUNKTION ZUM LESEN VON ARRAYS IN DER DATEIMAPPING-DARSTELLUNG DER PROJIZIERTEN DATEI IM ADRESSRAUM DES AUFRUFENDEN PROZESSES.

//|55. Die Funktion liest Daten vom Typ BOOL aus der Datei, die durch den Anfangsadressraum des aufrufenden Prozesses abgebildet wird, in ein Array ab dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 Nachricht aus dem Speicher nicht gelesen.
//| int FileMappingReadSimpleBoolArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| int *aiArray, // Zeiger auf das Array zum Einlesen von logischen BOOL-Daten aus der Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//|56. Die Funktion liest Daten vom Typ CHAR aus der Datei, die durch die Anfangsadresse des aufrufenden Prozeßraums abgebildet wird, in ein Array ab dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 die Nachricht aus dem Speicher wird nicht gelesen.
//| int FileMappingReadSimpleCharArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| int *aiArray, // Zeiger auf das Array zum Lesen von CHAR-artigen Daten aus der Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//|57. Die Funktion liest Daten vom Typ SHORT aus der Datei, die durch die Anfangsadresse des aufrufenden Prozessraums abgebildet wird, in das Array ab dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 die Nachricht aus dem Speicher wird nicht gelesen.
//| int FileMappingReadSimpleShortArray(const char *pcAddress, // Zeiger auf Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden.
//| int *aiArray, // Zeiger auf Array zum Lesen von Daten des Typs SHORT aus der Dateizuordnung in dieses Array.
//| const int nSizeBuffer); // Größe des Arrays.

//|58. Die Funktion liest Daten vom Typ INT aus der Datei, die durch die anfängliche Speicheradresse des aufrufenden Prozesses abgebildet wird, in das Array ab dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 Nachricht aus dem Speicher nicht gelesen.
//| int FileMappingReadSimpleIntArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| int *aiArray, // Zeiger auf das Array zum Lesen von Daten des Typs INT aus der Dateizuordnung in dieses Array.
//| const int nSizeBuffer); // Größe des Arrays.

//|59. Die Funktion liest Daten vom Typ FLOAT aus der Datei, die durch die Anfangsadresse des aufrufenden Prozessraums abgebildet wird, in das Array ab dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen. Die Funktion konvertiert die Daten vom Dateimapping-Typ FLOAT in DOUBLE zum Einlesen in ein Array.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 Nachricht aus dem Speicher nicht gelesen.
//| int FileMappingReadSimpleFloatArray(const char *pcAddress, //| Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| double *adArray, // Zeiger auf das Array zum Einlesen von FLOAT-artigen Daten aus der Dateiabbildung.
//| const int nSizeBuffer); // Größe des Arrays.

//|60. Die Funktion liest Daten vom Typ DOUBLE aus der Datei, die durch die initiale Speicheradresse des aufrufenden Prozesses abgebildet wird, in das Array ab dem angegebenen Byte im Speicher.
//| Die Funktion ist für die Verwendung in Schleifen vorgesehen.
//| Die Funktion gibt zurück: 1 erfolgreicher Abschluss;
//| 0 andere Fehler;
//| -1 mehr Daten als zugewiesener Speicher;
//| -2 die Größe des Empfangspuffers ist nicht ausreichend;
//| -3 Nachricht aus dem Speicher nicht gelesen.
//| int FileMappingReadSimpleDoubleArray(const char *pcAddress, // Zeiger auf das Byte des Speicherbereichs der projizierten Dateirepräsentation,
//| // aus dem die Daten geschrieben werden sollen.
//| double *adArray, // Zeiger auf das Array zum Einlesen von Daten vom Typ DOUBLE aus der Dateiabbildung in dieses Array.
//| const int nSizeBuffer); // Größe des Arrays.
 
Zhunko >>:
Это не исходник, и не DLL. Это офрмленный заголовок исходника DLL, на который потратил больше недели. Написание класса для маппинга заняло неделю. В основном на продумывание структурированности.
А само писание 60 функций заняло 60 минут. Там в каждой функции по паре строчек.
Es ist eine sehr schöne Bibliothek. Können Sie die fertigen Dateien nicht freigeben? Oder ist sie mit einer Zahlung verbunden?
 
Andrei01 >>:
Очень приятная библиотечка. А файлами готовыми Вы не можете поделиться? Или это подразумевает оплату?

Noch nicht fertig. Alles ist in Arbeit. Ich korrigiere Fehler in der Beschreibung und bearbeite Funktionsnamen, sie sind zu lang für MQL4.
Die Erprobung liegt noch in weiter Ferne. Die Bibliothek ist für die Arbeit mit meiner Toolbox bestimmt und daher geschützt. Ich werde Ihnen den Quellcode nicht geben.
Wenn Sie wollen, können Sie es mieten. :-))
Aber das Wertvollste haben Sie ja dargelegt. Diese Beschreibung ist wichtiger als der Quellcode.

 
3/4 getestet. Ich habe herausgefunden, dass wir 16 weitere Funktionen für ganze Zahlen ohne Vorzeichen hinzufügen müssen, außer INT.
Im Moment sieht die Header-Datei wie folgt aus:
Dateien:
 
Erledigt. 80 Funktionen jetzt. Legen Sie es in das Sparschwein. Wahrscheinlich wird sie bald erscheinen.
Die Header-Datei sieht nun wie folgt aus:
Dateien:
 
Zhunko: Всё-таки, общение через файлы это не тот инструмент. Не по назначению.
Файлы придуманы для длительного хранения информации. Зачем терзать диск? Для общения есть ОЗУ.

Wenn Sie eine Diskette im RAM (RAMdisk) erstellen, dann wird die Festplatte nicht leiden und bieten JavaDev macht einen gewissen Sinn.

Und für die Bibliothek - vielen Dank!!! Einfach ein Meisterwerk!!!