Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Werte in Dateien schreiben

(Anonym) / 11 Antworten / Baumansicht Nickles

Hi
ich möchte in meine App ein paar Einstellungen einbauen, dazu müsste ich die Werte von variablen in dateien schreiben und die dann auch wieder lesen.
Da ich mit MFC progge, könnte es auch eine MFC-Klasse/Funktion erledigen.
CU

bei Antwort benachrichtigen
Anonym (Anonym) „Werte in Dateien schreiben“
Optionen

Dann schreib eine MFC Methode die genau das macht!
"Serialisierung, CArchiv", sind deine Stichworte für die Onlinehilfe!

CU
Frank

bei Antwort benachrichtigen
JamesBomb Anonym „Dann schreib eine MFC Methode die genau das macht! Serialisierung, CArchiv ,...“
Optionen

Wenn es nicht zu viele Variablen sind(zB. Programmeinstellungen) kannst du auch die Registry benutzen. Ausserdem gibt es Filestreams mit denen du, zumindest in Delphi, einigermaßen komfortabel File I/O machen kannst.

bei Antwort benachrichtigen
Heiner Laab (Anonym) JamesBomb „Wenn es nicht zu viele Variablen sind zB. Programmeinstellungen kannst du auch...“
Optionen

Registry ist der richtige Ort für so etwas, wenn es nicht um die Übertragung der Properties auf ein anderes System geht! Da spielt auch
die Anzahl der Variablen keine so große Rolle, die Registry wird schon von so vielen Anwendungen mißbraucht, da kommt es auf 20 oder 30 Einträge mehr auch nicht an!

Aber ich vermute mal, diese Antworten hat der Frager nicht erwartet, sondern er dachte wohl das er hier den Sourecode für sein Problem hingestellt bekommt, so das dieser nur mit Copy/Paste übernommen werden braucht!

bei Antwort benachrichtigen
(Anonym) Heiner Laab (Anonym) „Registry ist der richtige Ort für so etwas, wenn es nicht um die Übertragung...“
Optionen

Gut geraten ;)

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „Gut geraten “
Optionen

Ich hab grad nichts besseres zu tun.
Hier ein kleines Beispiel für 2 Werte.
Lesereihenfolge und Schreibreihenfolge sollen gleich sein.
Ordentliche Fehlerbehandlung musst Du selber nach Bedarf schreiben.
Wenn Du mehr Hilfe brauchst schau in der Hilfe unter "CreateFile" nach.
Ich habs nicht im Compiler gemacht, kann also sein das´n Schreibfehler drin ist.




void LoadOptions() // Liest Daten in Option1 und Otion2 ein
{
long Option1; // 4 Byte
BYTE Option2; // 1 Byte

HANDLE OptionFile=NULL;

DWORD written=0; // Pos des Filepointers
DWORD *p_written;
p_written=&written;


OptionFile=CreateFile
( "option.dat" ,GENERIC_READ,FILE_SHARE_READ,NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL);

if (OptionFile!=INVALID_HANDLE_VALUE)
{

// Beachte die jeweils passende groesse 4 oder 1 oder was auch immer
ReadFile(OptionFile,&Option1,4,p_written,NULL);
ReadFile(OptionFile,&Option2,1,p_written,NULL);
}

CloseHandle(OptionFile);

}
//*********************************

BOOL SaveOptions() // Speichert Daten aus Option1 und Option2
{
long Option1=95000; // 4 Byte
BYTE Option2=7; // 1 Byte

HANDLE OptionFile=NULL;

DWORD written=0; // Pos des Filepointers
DWORD *p_written;
p_written=&written;

OptionFile=CreateFile("option.dat",GENERIC_WRITE,FILE_SHARE_WRITE,NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,NULL);


if (OptionFile!=INVALID_HANDLE_VALUE)
{
WriteFile(OptionFile,&Option1,4,p_written,NULL);
WriteFile(OptionFile,&Option2,1,p_written,NULL);
}

CloseHandle(OptionFile);
}

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „Ich hab grad nichts besseres zu tun. Hier ein kleines Beispiel für 2 Werte....“
Optionen

Thnx
gut das es noch leute gibt die helfen, denn sonst würde es Nickles nicht mehr geben.

bei Antwort benachrichtigen
ShipHank (Anonym) „Thnx gut das es noch leute gibt die helfen, denn sonst würde es Nickles nicht...“
Optionen

Gut für dich, das es noch Leute gibt, die Dir das Denken abnehmen!
Wie sagte mal ein C++ Guru treffend: "Das schwierige ist Programmieren zu lernen, die Sprache hat man in 3 Wochen schnell drauf"

bei Antwort benachrichtigen
(Anonym) ShipHank „Gut für dich, das es noch Leute gibt, die Dir das Denken abnehmen! Wie sagte...“
Optionen

das hat nu nix mit denken zu tun, sondern nur mit wissen oder nichtwissen, im übrigen bist du auch nicht perfekt, und wegen solcher blöden kommentare sind schon viele stammmposter wegegangen.
eigentlich ärmlich das ich für solche arroganten leute meine Zeit verschwende.

bei Antwort benachrichtigen
Anonym (Anonym) „das hat nu nix mit denken zu tun, sondern nur mit wissen oder nichtwissen, im...“
Optionen

Na hör mal, wenn jemand schon schreibt er progge mit der MFC, dann sollte man doch davon ausgehen das:

1. er weiß wie er seine Entwicklungsumgebung bedienen muß
2. er dadurch weiß wie die Onlinehilfe funktioniert
3. er ein ungefähres Bild darüber hat wie seine Klassenbibliothek aufgebaut ist
4. Ein Anfänger der nicht die Grundlagen von z.B. File I/O hat, sich auch nicht an die MFC wagt

Hätte er geschrieben er sei noch Anfänger auf diesem Gebiet, wäre
das alles kein Problem gewesen und man hätte wie jetzt auch mit Sourcecode gedient, aber so mit der Aussage "ich nutze die MFC, es könnte auch ne Klasse oder Funktion sein" machte es den Anschein, er wolle sich garnicht mit den Möglichkeiten der MFC auseinandersetzen, sondern hofft darauf das andere sein Programm hier schreiben.

Wir Entwickler haben alle irgendwann mal angefangen und viel gefragt, aber sollten dann auch in der Lage sein die Frage aussagekräfig zu stellen und auch mit Teilinfos zum Ziel kommen.

Genau diesen Umstand hat dieser 'Ship' wohl gemeint, mit seinem Posting!

CU
Frank

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „Werte in Dateien schreiben“
Optionen

1. besorge dir VHS Angebotsmappe
2. suche C Grundkurs in dieser Mappe
3. melde dich an
4. so ca. in Lehrstunden 6 - 8, ist mit Sicherheit File I/O im Plan

oder du weißt was und wie MFC funzelt... dann war aber deine Frage
überflüssig!

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „Werte in Dateien schreiben“
Optionen

Für dich und all die Anderen die Quellcodes für ihre MFC Problemchen
suchen, empfehle ich folgenden Link:

http://www.codeguru.com

bei Antwort benachrichtigen