Hi,
ich habe vollgendes prob:
Wie kann ich z.B. DWORD VAR1 = 0x00000001; mit DWORD VAR2; vergleichen ??
Hier mein bishäriger code:
#include <iostream>
#include <strings.h>
#include <fstream.h>
#include <conio.h>
#include "style.h"
using namespace std;
int main()
{
/*****Variablen die zum Laden der Header erstellt wurden*****/
string INPUT;
WORD SIGi;
DWORD HSZi;
WORD RS1i;
WORD RS2i;
LONG BWPi;
LONG BHPi;
WORD BIPi;
WORD FT01i;
WORD FT04i;
WORD FT08i;
WORD FT16i;
WORD FT32i;
DWORD CM1i;
DWORD CM2i;
DWORD CM3i;
DWORD CM4i;
DWORD SI1i;
DWORD SZIi;
LONG HPPM2i;
LONG HPPMi;
LONG VPPM2i;
LONG VPPMi;
DWORD FTBi;
DWORD FTB1i;
DWORD IPCi;
DWORD IPC1i;
/*****Variablen die zum Vergleich zu den Geladenen Daten sind*****/
WORD SIG = 0x424D; //BMP Signatur
DWORD HSZ = 0x00000040;//Grösse der Header
WORD RS1 = 0x0000; //Reserwierd muss 0000 sein
WORD RS2 = 0x0000; //Reserwierd muss 0000 sein
LONG BWP; //Breite in Pixeln
LONG BHP; //Höhe in Pixeln
WORD BIP = 0x0001; //Muss 00001 sein (Anzahl der Farbebenen)
WORD FT01 = 0x0001; //Farbtiefe in BPP (bits per Pixel) möglichkeit 1
WORD FT04 = 0x0004; //Farbtiefe in BPP (bits per Pixel) möglichkeit 2
WORD FT08 = 0x0008; //Farbtiefe in BPP (bits per Pixel) möglichkeit 3
WORD FT16 = 0x0010; //Farbtiefe in BPP (bits per Pixel) möglichkeit 4
WORD FT32 = 0x0020; //Farbtiefe in BPP (bits per Pixel) möglichkeit 5
DWORD CM1 = 0x00000000;//Kompression möglichkeit 1
DWORD CM2 = 0x00000001;//Kompression möglichkeit 2
DWORD CM3 = 0x00000002;//Kompression möglichkeit 3
DWORD CM4 = 0x00000003;//Kompression möglichkeit 4
DWORD SI1 = 0x00000000;//Grösse der Bilddaten oder 00000000
DWORD SZI; //Grösse der Bilddaten (andere Werte)
LONG HPPM2= 0x00000000;//Horizontale Auflösung Pixel pro Meter; wird aber fast immer auf 0 gesetzt
LONG HPPM; //Horizontale Auflösung Pixel pro Meter(andere möglichkeiten)
LONG VPPM2= 0x00000000;//Vertikale Auflösung Pixel pro Meter (0)
LONG VPPM; //Vertikale Auflösung Pixel pro Meter (andere möglichkeiten)
DWORD FTB = 0x00000000;
DWORD FTB1;
DWORD IPC = 0x00000000;
DWORD IPC1;
/*** Die Farben (Vergleichs-Variablen) ***/
/* 3 Byte werden nicht als BYTE Definiert... auch nicht als WORD... was denn ? */
/*** Daten hochladen ***/
char Daten;
cout << "Dateiname: ";
cin >> Daten;
ifstream in(Daten);
in >> SIGi;
in >> HSZi;
in >> RS1i;
in >> RS2i;
in >> BWPi;
in >> BHPi;
in >> BIPi;
in >> FT01i;
in >> FT04i;
in >> FT08i;
in >> FT16i;
in >> FT32i;
in >> CM1i;
in >> CM2i;
in >> CM3i;
in >> CM4i;
in >> SI1i;
in >> SZIi;
in >> HPPM2i;
in >> HPPMi;
in >> VPPM2i;
in >> VPPMi;
in >> FTBi;
in >> FTB1i;
in >> IPCi;
in >> IPC1i;
char var = in.get();
if (SIGi == SIG)
{
//weiterer code
}
else if(SIGi != SIG)
{
//weiterer code
}
cout << "TEST" <<endl;
getch();
}
Aber wenn ich jetzt eine Datei mit den Werten lade springt er trotzdem sofort auf "else if(SGIi != SIG)..." wieso ?Wie kann man Variablen mittels Hex werten vergleichen... ??
MFG
TOMEK