Programmierung » ClassPad 300 » AddIn » MCS-Dateien schreiben
MCS-Dateien schreiben
Für das Schreiben in MCS-Dateien gibt es die Klasse CPWriteMCSFile. Doch der Gebrauch
dieser Klasse ist etwas umständlich. Damit die Daten richtig geschrieben werden, muß die
Größe beim öffnen angegeben werden. Dann ist da noch die eigenartige Handhabung:
Es wird (logisch) gesehen zweimal geschrieben. Beim ersten Mal wird der benötigte Platz erhöht
und danach erst geschrieben.
char *daten;
//...
CPWriteMCSFile *f = new CPWriteMCSFile("name", "ordner");
f->Open(1, 100); // zum schrieben öffnen (1), es werden 100 bytes geschrieben
//...
f->WriteBytes(NULL, 100); // den Platz berechnen
f->Realize(); // umschalten
f->WriteBytes(daten, 100); // eigentlicher Schreibvorgang
//...
Da das echt Umständlich ist, habe ich mir einen Puffer geschrieben, der die Daten zwischenspeichert:
char *daten;
//...
ZWriteBuffer *buffer = new ZWriteBuffer();
//...
buffer->WriteBytes(daten, 100); // es wird in den Puffer geschrieben
//...
CPWriteMCSFile *f = new CPWriteMCSFile("name", "ordner");
f->Open(1, (int)buffer->getCount()); // es wird der gesamte Puffer mit einmal geschrieben
f->WriteBytes(NULL, (int)buffer->getCount()); // den Platz berechnen
f->Realize(); // umschalten
f->WriteBytes((int)buffer->getBuffer(), (int)buffer->getCount()); // eigentlicher Schreibvorgang
//...
Die Funktionen im Puffer heißen wie in der Klasse CPWriteMCSFile. Der Puffer
vergrö&zslig;ert sich automatisch beim schreiben. Es wird bis jetzt
jedoch nur WriteByte und WriteBytes unterstüzt.