C++ if-Abfrage Hilfe!!!!

Diskutiere C++ if-Abfrage Hilfe!!!! im Developer Network Forum im Bereich Hardware & Software Forum; Hi, ich bin noch blutiger Anfänger in C++. Kann mir jemand helfen den Code zu programmieren?? #include <windows.h> /* ... */ HDC dc =...
  • C++ if-Abfrage Hilfe!!!! Beitrag #1
S

sirbugalot

Mitglied
Dabei seit
19.04.2009
Beiträge
16
Reaktionspunkte
0
Hi, ich bin noch blutiger Anfänger in C++. Kann mir jemand helfen den Code zu programmieren??

#include <windows.h>
/* ... */
HDC dc = GetDC(0);

COLORREF c = GetPixel(dc, 200, 500);
printf("r: %i, g: %i, b: %i\n",
GetRValue(c), GetGValue(c), GetBValue(c));


if(wenn das der gleiche Farbton ist == 7f3542)

Dann speichere es als 5 (die Zahl) im Ram ab.

else (wenn das nicht der gleiche Farbton ist==7f3542)

dann führe ohne befehl das Programm weiter aus

ReleaseDC(0, dc);


Das Problem ist, dass ich nicht weis, wie das funktioniert. Bitte zeigt es mir mal, dass ich weis, wie es funktioniert, obwohl ich weis, wie eine if-Abfrage ausschaut, habe ich keine Ahnung über die richtigen Befehle.

Bitte helft mir!

Gruß
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #2
Lambo-Benni

Lambo-Benni

Bekanntes Mitglied
Dabei seit
23.03.2007
Beiträge
7.601
Reaktionspunkte
3
Ort
Medizinmanndiscount
edit: ... sorry, verlesen... bitte lsöchen @Mod.

Ich kenne die GetRvalue()... nicht


nochmal edit:

andererseites:

if (GetRValue(c)="7f" and GetGValue(c)="35" and GetBValue(c)="42" {
save_var=GetRValue(c) + GetGValue(c) + GetBValue(c);
}

ps: weiß die genaue C++-Syntax jetzt auf die Schnelle nicht.
Und hab keine Ahnung, ob GetRValue()... string oder int zurück gibt.
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #3
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
mal ganz grob:

PHP:
if (GetRValue(c)=="7f" && GetGValue(c)=="35" && GetBValue(c)=="42")
{
   string farbwert = (string) (GetRValue(c) + GetGValue(c) + GetBValue(c));
}

das Else, kannst du dir sparen, da sonst das if einfach nicht beachtet wird, du hast ja keinen Befehl, der NUR ausgeführt werden soll, wenn der Farbton ungleich ist oder?
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #4
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Die Get...-Makros liefern anscheinend Byte, alse die doppelten Anführungszeichen weglassen.
Bei der Addition solltet ihr aber den Stellenwert der Farbkomponente beachten, sonst kommt da Müll raus.

PS: Man kann in C++ Zahlen einfach auf String casten?! Wusste ich garnicht.
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #5
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
PS: Man kann in C++ Zahlen einfach auf String casten?! Wusste ich garnicht.

stimmt, man müsste hier nen kleinen Umweg gehen

PHP:
string farbwert = (string) (GetRValue(c) + GetGValue(c) + GetBValue(c));
könnte eher so funktionieren
PHP:
string farbwert = "" + GetRValue(c) + GetGValue(c) + GetBValue(c);

ist nur die Frage wie und ob er den Wert weiterverwenden möchte

wobei bei meiner schnellinstallation von Visual C++ 2008 eXpress Edition so einiges nicht reibungslos funktioniert (string kann ich generell nicht erstellen)
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #6
S

sirbugalot

Mitglied
Dabei seit
19.04.2009
Beiträge
16
Reaktionspunkte
0
Kann mir jemand den kompletten Code posten?? Wäre sehr dankbar.

Vielen Dank an die oberen, die mir geholfen haben. Danke!!
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #7
S

sirbugalot

Mitglied
Dabei seit
19.04.2009
Beiträge
16
Reaktionspunkte
0
Stimmt das so??

COLORREF c = GetPixel(dc, 200, 500);
printf("r: %i, g: %i, b: %i\n",
string farbwert = "" + GetRValue(c) + GetGValue(c) + GetBValue(c);
ReleaseDC(0, dc);
 
  • C++ if-Abfrage Hilfe!!!! Beitrag #8
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Nein. Zum einen Erwartet printf nach dem Format drei Zahlen-Parameter, wenn du im Format drei Zahlen angibst (Doku lesen!), zum anderen funktioniert Diese String-"Addition" in C++ so nicht.
printf("r: %i, g: %i, b: %i\n", GetRValue(c), GetGValue(c), GetBValue(c));
Wäre die richtige Zeile zum anzeigen eines einzigen Farbwerts.
Wobei ich davon ausgehe, dass du das irgendwo in einem funktionierenden Programm mit grafischer Benutzeroberfläche hast, und nicht einfach in einer Konsolenapplikation.
 
Thema:

C++ if-Abfrage Hilfe!!!!

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben