2 probleme ?!?
-
moin ich hab 2 probleme
1. ich möchte wenn man man auf eine checkbox klickt entweder eine 1 bzw eine 0 in die setup.ini speichern
wollte es so machen aber dann kommt folgender fehler:
"error C2106: '=' : Linker Operand muss ein L-Wert sein"
was hab ich falsch gemacht ?char hg_tmp[2]; if(m_hintergrund) hg_tmp = "1"; else hg_tmp = "0"; WritePrivateProfileString("options","i_hintergrund",hg_tmp,inipath);
2. hab ich ein funktion die testen soll ob das ausgewählte laufwerk eine festplatte/partition ist
der code sieht folgendermassen aus;int Drive = ::GetDriveType( m_partition ); if(Drive != 3) { m_pfad.Format("Dies ist keine Partition / Festplatte !"); m_speicher.Format(""); m_partition.Format(""); return false; // keine festplatte }
unter windows 2000 klappt das auch aber habs grad unter win98 ausprobiert aber da gibt er "Dies ist keine Partition / Festplatte !" aus
liegt das vielleicht daran das ich bei win2000 NTFS und bei win 98 FAT32 hab ?
ist FAT ein anderer drivetyp ? oder is das problem ein ganz anderes ?plz help
-
Zum ersten Problem:
nehmen wir an, m_hintergrund ist die Member-Variable zu einer Checkbox. Dann machste folgendes:
char hg_tmp[2];
if(m_hintergrund.GetCheck())
strcpy(hg_tmp, "1")
if(!m_hintergrund.GetCheck())
strcpy(hg_tmp, "0");
-
Hi
Also zum ersten Problem: Wieso du diese Meldung bekommst ist weil du in der if keinen Vergleich durchführt (==) sondern eine Zuweisung (=). Zudem hast du vergessen die Klammer zuzumachen. Dann hast du noch ein Semikolon (;) dazu gesetzt. Was nicht dort stehen sollte!
cu C++M@n
[ Dieser Beitrag wurde am 29.11.2002 um 20:32 Uhr von Unix-Tom editiert. ]
-
Original erstellt von C++M@n:
**HiAlso zum ersten Problem: Wieso du diese Meldung bekommst ist weil du in der if keinen Vergleich durchführt (==) sondern eine Zuweisung (=). Zudem hast du vergessen die Klammer zuzumachen. Dann hast du noch ein Semikolon (;) dazu gesetzt. Was nicht dort stehen sollte!
cu C++M@n
[ Dieser Beitrag wurde am 29.11.2002 um 20:32 Uhr von [qb]Unix-Tom** editiert. ][/QB]
Wo wurde eine Zuweisung gemacht
if (0) irgendwas
else
irgendwasist keine zuweisung sondern ein Vergleich
Ich vermute das m_hintergrund kein int ist.
[ Dieser Beitrag wurde am 29.11.2002 um 20:28 Uhr von Unix-Tom editiert. ]
-
jepp das is ne bool
ich denk mal c++m@n hat die schliesende klammer net gesehn
jedenfalls gehts jetzt mit der variante gastdas andere problem hab ich gelöst in dem ich nich
drive != 3 (keine festplatte)
sondern
drive == 2 || drive == 4 || ...
genommen habedamit gehts denn auch bei win98 falls es noch jemanden interessiert