Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 11:19

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Class fehler + Dir holen

Discussion on Class fehler + Dir holen within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Terrat's Avatar
 
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
Class fehler + Dir holen

Hallo,
ich habe 1 Problem und 1 Frage.

Problem:
Ich habe eine Klasse
player.h
Code:
class Player{
	float PositionX;
	public:
		int SetPositionX(float);
		float GetPositionX();
};

int Player::SetPositionX(float Set_PositionX)
{
	Player::PositionX=Set_PositionX;
	return 0;//Succes
}
float Player::GetPositionX()
{
	return PositionX;
}
Die ich wie folgt aufrufe
Code:
Player pplayer;
	pplayer.SetPositionX(0.1);
	float pos=pplayer.GetPositionX();
	if(pos=0.5)
	{
		MessageBox(NULL,"Position Erfolgreich gesetzt","",NULL);
	}
Warum kommt die MsgBox immernoch obwohl die Position ja nicht 0.5 ist?

2 Frage:

Wie kriege ich das Verzeichnis der Exe da ich in ein Unterferzeichnis möchte.
Terrat is offline  
Old 06/14/2014, 16:53   #2


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
Code:
if(pos=0.5)
->
Code:
if(pos==0.5)
Edit: Davon ab macht es bei Settern übrigens meistens wenig Sinn 'nen Wert zu returnen, wenn dann lieber auf Exceptions setzen (falls du schon so weit bist).
Ende! is offline  
Thanks
1 User
Old 06/14/2014, 17:12   #3
 
Terrat's Avatar
 
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
Quote:
Originally Posted by Ende! View Post
Code:
if(pos=0.5)
->
Code:
if(pos==0.5)
Edit: Davon ab macht es bei Settern übrigens meistens wenig Sinn 'nen Wert zu returnen, wenn dann lieber auf Exceptions setzen (falls du schon so weit bist).
Könntest du mir mal ein Beispiel an einer Klasse zeigen steige mit dem Exeptions noch nicht durch ?
Das hier verstehe ich noch net so ganz:
Terrat is offline  
Old 06/14/2014, 17:13   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Quote:
Originally Posted by Dreamsläps View Post
Wie kriege ich das Verzeichnis der Exe da ich in ein Unterferzeichnis möchte.
snow is offline  
Old 06/14/2014, 17:31   #5
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Wobei zu bevorzugen wäre.
Schlüsselbein is offline  
Old 06/14/2014, 17:53   #6
 
Terrat's Avatar
 
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
Quote:
Originally Posted by snow911 View Post
Hab mal was versucht zu basteln funktioniert aber net?
Dir.h
Code:
#include <stdio.h>

void SubDir(LPTSTR Subdir)
{
LPTSTR NPath = NULL;
GetCurrentDirectory(MAX_PATH,NPath);
lstrcat(NPath,Subdir);
SetCurrentDirectory(NPath);
}
void DirClear()
{
LPTSTR NPath = NULL;
GetCurrentDirectory(MAX_PATH,NPath);
SetCurrentDirectory(NPath);
}
Aufruf:
Code:
	SubDir(TEXT("\\_resources\\Font"));
        ......
	DirClear();
Hat zur folge das das Programm crasht.


Code:
Problemsignatur:
  Problemereignisname:	APPCRASH
  Anwendungsname:	Spiel.exe
  Anwendungsversion:	0.0.0.0
  Anwendungszeitstempel:	539c6f20
  Fehlermodulname:	ntdll.dll
  Fehlermodulversion:	6.1.7601.18247
  Fehlermodulzeitstempel:	521ea8e7
  Ausnahmecode:	c0000005
  Ausnahmeoffset:	00036a65
  Betriebsystemversion:	6.1.7601.2.1.0.768.3
  Gebietsschema-ID:	1031
  Zusatzinformation 1:	0a9e
  Zusatzinformation 2:	0a9e372d3b4ad19135b953a78882e789
  Zusatzinformation 3:	0a9e
  Zusatzinformation 4:	0a9e372d3b4ad19135b953a78882e789

Lesen Sie unsere Datenschutzbestimmungen online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0407

Wenn die Onlinedatenschutzbestimmungen nicht verfügbar sind, lesen Sie unsere Datenschutzbestimmungen offline:
  C:\Windows\system32\de-DE\erofflps.txt
Terrat is offline  
Old 06/14/2014, 18:14   #7

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Code:
LPTSTR NPath = NULL;
GetCurrentDirectory(MAX_PATH,NPath);
lstrcat(NPath,Subdir);
SetCurrentDirectory(NPath);
in NULL passt ziemlich viel rein, aber ich würde den Zeiger dennoch auf gültigen Speicher zeigen lassen. Du speicherst Dateien doch auch nicht in /dev/null, weil da alles reinpasst?

Die DirClear-Methode wird auch nicht funktionieren.
snow is offline  
Old 06/14/2014, 18:35   #8
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Code:
std::string get_app_path()
{
	std::vector<char> vec(MAX_PATH, 0);
	DWORD length = ::GetModuleFileName(NULL, &vec[0], vec.size());

	return std::string(std::begin(vec), std::begin(vec) + length);
}
Falls der Pfad auch zu lang werden kann, noch GetLastError und den Rückgabewert mit einbeziehen und den Buffer dynamisch vergrößern.

Soll nur mal den Ansatz zeigen.
Schlüsselbein is offline  
Old 06/15/2014, 12:42   #9

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Quote:
int SetPositionX(float);
In der Regel gibt ein Setter keinen Wert zurück. Wenn du auf Erfolg des Settens überprüfen möchtest, dann gib eine Variable des Typs bool zurück. Andernfalls hast du früher oder später mit etlichen Enums als Rückgabewerten zu tun, was das Ganze nicht unbedingt übersichtlicher macht.
Delinquenz is offline  
Reply


Similar Threads Similar Threads
[VB 2010] Skype Class Broadcast Fehler
04/03/2013 - .NET Languages - 10 Replies
hey Leute. Hab grad versucht 'n kleines Tool zu schreiben was in Skype nen Broadcast macht. Nur bekomm ich beim ausführen nen Fehler, woran liegt das ? o.0 Ich kann da beim besten Willen keinen Fehler finden. Screen : http://img4.fotos-hochladen.net/uploads/fotoshoch ladenzfjb8hcaiw.png
[Holen]Was soll ich mir in Türkei holen?
12/11/2010 - Off Topic - 61 Replies
Hallo...erstmal =D Meine Eltern sind jetzt in Türkei und haben mich gefragt was sie holen sollen. Ich weiß aber wirklich rein gar nichts was ich holen könnte??? Hätte jemand eine Idee? Gibt es vll dort ???



All times are GMT +1. The time now is 11:20.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.