Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » INI- Datei lesen schreiben etc.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.09.2006, 11:26 Uhr
BorisDieKlinge



Hallo,

Gibt es ne einfache Möglichkeit daten aus ini files zu lesen bzw. schreiben?
Um Enstellung im Programm zu sichern...

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.09.2006, 11:37 Uhr
ao

(Operator)


GetPrivateProfileSectionNames
GetPrivateProfileSection
GetPrivateProfileInt
GetPrivateProfileString
GetPrivateProfileStruct

WritePrivateProfileSection
WritePrivateProfileString
WritePrivateProfileStruct

Näheres in der MSDN-Lib. Beachte aber: Ini-Files sind bäh. Dieser Satz steht bei allen genannten Funktionen:

"Note This function is provided only for compatibility with 16-bit applications written for Windows. Applications should store initialization information in the registry."
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.09.2006, 12:02 Uhr
BorisDieKlinge



Hmm.. wenn INI files Bäh.. sind was ist dann eine bessere Alternative?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.09.2006, 12:27 Uhr
ao

(Operator)



Zitat:
Applications should store initialization information in the registry.

Ist das jetzt deutlich genug? Soll es noch blinken oder vorgelesen werden?

Dieser Post wurde am 07.09.2006 um 12:28 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.09.2006, 13:14 Uhr
BorisDieKlinge



ok ja sehr deutlich ... hehe.. aber nun ist die frage wie greif ich auf die registry zu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.09.2006, 13:33 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


CRegKey
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.09.2006, 07:47 Uhr
AndyDD



Naja, die Registry ist auch kein Allheilmittel. Bei großen Datenmengen würde ich das auch in separate Dateien schreiben. Sicher sind die Ini-Geschichten noch aus der Zeit der 16bit-Anwendungen, sie sind aber immer noch brauchbar. Aber es gibt Alternativen. Wie wäre es z.B. mit XML?
Dieser Post wurde am 11.09.2006 um 07:47 Uhr von AndyDD editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.09.2006, 08:46 Uhr
ao

(Operator)



Zitat von AndyDD:
Naja, die Registry ist auch kein Allheilmittel.

Das hat auch niemand behauptet. Aber es ist nun mal (zumindest im Bereich WinAPI / MFC) der vom Betriebssystem-Hersteller vorgeschlagene Weg. Und zumindest meine Erfahrung zeigt, dass es grundsätzlich eine gute Idee ist, diesen Wegen zu folgen. Es sei denn, man hat gute Gründe dagegen, und man weiß, was man tut.

Zitat:
Bei großen Datenmengen ...

Die Aufgabe war das hier:

Zitat von BorisDieKlinge:
Um Enstellung im Programm zu sichern...

Ich glaube, da kann man von kleinen Datenmengen ausgehen.

Zitat:
Wie wäre es z.B. mit XML?

Eine feine moderne Sache. Erfordert aber, dass auf jedem System, auf dem das Programm laufen soll, eine passende XML-Bibliothek verfügbar ist. Ein Punkt mehr, um den sich der Entwickler selbst kümmern muss.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.09.2006, 08:53 Uhr
AndyDD



Naja, erst mal gute Argumente. Aber auch schon wenn man schreibt "Um Einstellungen im Programm zu sichern..." kann das Rahmen sprengen. Ich habe ein Maschinensteuerprogramm, dessen Einstellungen ca. 400 int-Werte und vielleicht nochmal 100 Strings beinhaltet. Sowas ist nicht unbedingt mit der Registry-Methode empfehlenswert. Somit kann sich hinter so einem Satz auch was anderes verbergen. Sicher hast Du Recht mit Deiner Behauptung, da in den meisten Programmen nur wenige Ini-Werte ausreichen.
Aber die Verwendung von XML bedingt nicht immer XML-Bibliotheken, soweit ich weiß. Bei Code-Project gibts Klassen, die das Handling auch ermöglichen. Klar muss sich dann der Programmierer um vieles kümmern, immer noch der bessere Weg als es sich selbst oder dem Betriebssystem zu überlassen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.09.2006, 10:45 Uhr
ao

(Operator)



Zitat von AndyDD:
Ich habe ein Maschinensteuerprogramm, dessen Einstellungen ca. 400 int-Werte und vielleicht nochmal 100 Strings beinhaltet.

Die Strings sind doch wahrscheinlich konstant, oder? Das sind irgendwelche Meldungstexte, die du bei Bedarf ausgibst, aber die nicht verändert werden, richtig?

Dann sind das keine "Programm-Einstellungen", sondern Resourcen, und ich würde das z.B. als Stringtabelle einkompilieren. Gegebenenfalls würde ich eine Resource-DLL draus machen, wenn ich mehrere angepasste Versionen (z.B. sprach- oder kundenspezifische Versionen) von einem Programm brauche.

Und 400 Int-Werte würde ich ohne Zögern in die Registry schieben, vorausgesetzt, die gehören da wirklich hin und sind nicht auch eher Resourcen.


Zitat:
Aber die Verwendung von XML bedingt nicht immer XML-Bibliotheken, soweit ich weiß. Bei Code-Project gibts Klassen, die das Handling auch ermöglichen. Klar muss sich dann der Programmierer um vieles kümmern, immer noch der bessere Weg als es sich selbst oder dem Betriebssystem zu überlassen.

Inwiefern besser?

Die System-APIs sind wahrscheinlich besser ausgetestet als es eigene Klassen oder CodeProject-Klassen je sein werden. Und sie stehen in einem geregelten Pflegeprozess, das ist bei einer Plattform wie CodeProject nicht automatisch gewährleistet, sondern hängt stark vom zuständigen Entwickler ab.

Klar, dass diese APIs allgemein gehalten sind und nicht jede Spezialanforderung abdecken. Aber für sowas schreibst du besser einen Wrapper um das existierende API als dass du alles neu erfindest.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: