+ if (rFile != "")
+ {
+ hIni = ::PrfOpenProfile(hab, (PSZ)WXSTRINGCAST rFile);
+ if (hIni != 0L)
+ {
+ return (::PrfWriteProfileString( hIni
+ ,(PSZ)WXSTRINGCAST rSection
+ ,(PSZ)WXSTRINGCAST rEntry
+ ,(PSZ)WXSTRINGCAST rValue
+ ));
+ }
+ }
+ else
+ return (::PrfWriteProfileString( HINI_PROFILE
+ ,(PSZ)WXSTRINGCAST rSection
+ ,(PSZ)WXSTRINGCAST rEntry
+ ,(PSZ)WXSTRINGCAST rValue
+ ));
+ return FALSE;
+}
+
+bool wxWriteResource(
+ const wxString& rSection
+, const wxString& rEntry
+, float fValue
+, const wxString& rFile
+)
+{
+ wxChar zBuf[50];
+
+ wxSprintf(zBuf, "%.4f", fValue);
+ return wxWriteResource( rSection
+ ,rEntry
+ ,zBuf
+ ,rFile
+ );
+}
+
+bool wxWriteResource(
+ const wxString& rSection
+, const wxString& rEntry
+, long lValue
+, const wxString& rFile
+)
+{
+ wxChar zBuf[50];
+
+ wxSprintf(zBuf, "%ld", lValue);
+ return wxWriteResource( rSection
+ ,rEntry
+ ,zBuf
+ ,rFile
+ );
+}
+
+bool wxWriteResource(
+ const wxString& rSection
+, const wxString& rEntry
+, int lValue
+, const wxString& rFile
+)
+{
+ wxChar zBuf[50];
+
+ wxSprintf(zBuf, "%d", lValue);
+ return wxWriteResource( rSection
+ ,rEntry
+ ,zBuf
+ ,rFile
+ );
+}
+
+bool wxGetResource(
+ const wxString& rSection
+, const wxString& rEntry
+, wxChar** ppValue
+, const wxString& rFile
+)
+{
+ HAB hab;
+ HINI hIni;
+ static const wxChar zDefunkt[] = _T("$$default");
+
+ if (rFile != "")
+ {
+ hIni = ::PrfOpenProfile(hab, (PSZ)WXSTRINGCAST rFile);
+ if (hIni != 0L)
+ {
+ ULONG n = ::PrfQueryProfileString( hIni
+ ,(PSZ)WXSTRINGCAST rSection
+ ,(PSZ)WXSTRINGCAST rEntry
+ ,(PSZ)zDefunkt
+ ,(void*)wxBuffer
+ ,1000
+ );
+ if (n == 0L || wxStrcmp(wxBuffer, zDefunkt) == 0)
+ return FALSE;
+ }
+ else
+ return FALSE;
+ }
+ else
+ {
+ ULONG n = ::PrfQueryProfileString( HINI_PROFILE
+ ,(PSZ)WXSTRINGCAST rSection
+ ,(PSZ)WXSTRINGCAST rEntry
+ ,(PSZ)zDefunkt
+ ,(void*)wxBuffer
+ ,1000
+ );
+ if (n == 0L || wxStrcmp(wxBuffer, zDefunkt) == 0)
+ return FALSE;
+ }
+ if (*ppValue)
+ delete[] (*ppValue);
+ *ppValue = copystring(wxBuffer);
+ return TRUE;