Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Punkt statt Komma beim rechnen...

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 < [ 3 ]
010
14.04.2004, 14:18 Uhr
~MDDM
Gast


Weis das niemand?
oben steht ja CObject aber diese Basisklasse gibt es nicht.

MfG Maik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
14.04.2004, 15:52 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


doch, CObject ist (fast) die oberste Basisklasse der MFC


Zitat:

CObject is the principal base class for the Microsoft Foundation Class Library. It serves as the root not only for library classes such as CFile and CObList, but also for the classes that you write. CObject provides basic services, including (...)
Header: afx.h
(...)


--
class God : public ChuckNorris { };

Dieser Post wurde am 14.04.2004 um 15:53 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
15.04.2004, 07:50 Uhr
~MDDM
Gast


Wenn ich eine neue Klasse erstellen will steht CObject aber nicht mit in dem Dropdownfeld bei Basisklasse.

Ich kann doch bestimmt auch CDialog nehmen und dann alles rauslöschen CObject hinschreiben und meinen oder Tommix Code eintippen oder?

MfG Maik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
15.04.2004, 09:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


warum kopierst du nicht das wo tommix gepostet hat einfach da rein?!?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
15.04.2004, 10:48 Uhr
~MDDM
Gast


Ich kann mir vorstellen das ich nerve, aber es geht nicht.

Wenn ich eine neue Klasse erstellen will, gebe ich den Klassennamen an. danach muss ich meine neue Klasse von einer Basisklasse ableiten. in einem Dropdownmenü kann ich auswählen welche Basisklasse ich nehmen will. CObject steht da nicht drin.

Macht nichts dann nehme ich irgendeine andere z.B.CDialog und ersetze den vorhandenen Code mit Tommix seinem. Ich Compiliere und dann kommt folgender Fehler.

CProgramme\Microsoft Visual Studio\MyProjects\MwStr\Locale.cpp(4) : fatal error C1853: 'Release/MwStr.pch' ist keine vorkompilierte Header-Datei, die mit diesem Compiler erzeugt wurde

Was soll ich jetzt tun?
Vielleicht hast Du eine andere Lösung damit ich auch ein Komma zum rechnen benutzen kann.

MfG Maik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
15.04.2004, 10:54 Uhr
Tommix



Hallo,
Du musst "Allgemeine Klasse" nehmen, nicht "MFC-Klasse" und dann kannst Du "CObject" eintippen. Die darauffolgende Warnung kannst Du ignorieren.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
15.04.2004, 10:59 Uhr
Tommix



... wenn's Dir nur um das Komma-Einschalten geht, genügt allerdings:

C++:
#include <locale.h>

...

size_t size = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SENGLANGUAGE, NULL, 0);
char* pCurrentLocale = new char[size];
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SENGLANGUAGE, pCurrentLocale, size);
setlocale(LC_ALL, pCurrentLocale);
delete[] pCurrentLocale;



irgendwo am Programmanfang.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
15.04.2004, 11:03 Uhr
Tommix



... oder noch einfacher

C++:
setlocale( LC_ALL, "German" );


wenn Du Deine Programme nicht in die weite Welt vertreibst

- tmx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
15.04.2004, 11:47 Uhr
~MDDM
Gast


Danke für eure Hilfe aber es will einfach nicht in meinen Kopf rein.
Das mit der Allgemeinen Klasse hat geklappt aber ein punkt musste ich trotzdem zum rechnen benutzen oder hätte ich ausser der Klasse der header und der cpp datei noch was anderes machen müssen?

Wo in welche datei setzte ich

C++:
setlocale( LC_ALL, "German" );


In die weite Welt will ich das nicht vertreiben, aber ich brauch eindeutig mehr Zeit um mich mit VC++ zu beschäftigen... aber woher nehmen?

MfG Maik

PS: bei deinem Code (Post016), den ich in die ...Dlg.cpp geschrieben habe kamen etliche Fehlermeldungen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
15.04.2004, 12:07 Uhr
Tommix




Zitat:

Wo in welche datei setzte ich...


Z.B. in den Konstruktor des betreffenden Dialoges. Hauptsache irgenwo am Anfang. Um dagegen die Klasse zu benutzen, müsstest Du beispielsweise dem Dialog eine Instanz hinzufügen, also meinetwegen Membervariable vom Typ CLocale* m_pLocale.

C++:
// Im Konstruktor:
m_pLocale = new CLocale(CLocale::national);

// Im Destruktor:
delete m_pLocale;


Der Vorteil dieser Methode ist, wie gesagt, dass Du leicht in einzelnen Funktionen wieder auf Punkt zurückschalten kannst indem Du eine lokale Variable anlegst.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ 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: