Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Software » Code-Zeile ermitteln?

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 ]
000
19.08.2004, 11:26 Uhr
RedEagle



Tach
Ich schreibe in meine Fehler-Meldungen immer die Code-Zeile in der der Fehler aufgetreten ist, da ich den Fehler dann schneller beheben kann, weil ich nciht lange suchen muss.

bsp:

C++:
MessageBox(NULL, "Fehler!!", "Codezeile 213", MB_ICONSTOP | MB_OK);



Allerdings ändern sich die Codezeilen(-nummer) wenn ich vor Zeile 213 z.b. noch etwas hinzufüge.

Kann man das irgendwie so machne, das der Kompiler beim Kompilieren erst die Zahle in die MessageBox einfügt??

ungefähr so?

C++:
#var = codezeile_ermitteln
messageBox(NULL, "Fehler!!", var, //...



habe DEV-CPP
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.08.2004, 11:37 Uhr
~mike
Gast


Hi!
Also in ANSI C ist folgends drin:

C++:
CString str;
str.Format("Es ist ein fehler in %s in Zeile %d aufgetreten", __FILE__, __LINE__);
AfxMessageBox(str,MB_OK|MB_ICONSTOP);



mfg

Dieser Post wurde am 19.08.2004 um 11:48 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.08.2004, 11:47 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ist auch so drin, nicht nur Ansi C (wenn man davon absieht das CString extremst ANSI C ist )
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.08.2004, 11:51 Uhr
mike
Pinguinhüpfer
(Operator)


CString rockt
Sonst char buffer[1024]; sprintf(buffer,"%i %s",__LINE__, __FILE__);
Dann sind wir vorne dabei
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.08.2004, 12:56 Uhr
RedEagle



Habe das jetzt einfach mal in irgend nem Projekt ausprobeir:

C++:
#include <iostream>
#include <stdlib.h>
#include <windows.h>
#include <WinInet.h>

int main()
{
DWORD dwFlags = INTERNET_CONNECTION_MODEM;
InternetGetConnectedState(&dwFlags,0);

////
char buffer[1024];
sprintf(buffer,"%i %s",__LINE__, __FILE__);
////

for(int i=0; i!=26; i++)
{
  dwFlags = INTERNET_CONNECTION_MODEM;
  InternetGetConnectedState(&dwFlags,0);
  //...
}

////
sprintf(buffer,"%i %s",__LINE__, __FILE__);
////

std::cin.get();
return 0;
}



es wird leider nix ausgegeben .
habe ich ein fehler gemachjt??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.08.2004, 13:16 Uhr
~mike
Gast


Liegt wahrscheinlich daran das sprintf in den buffer schreibt und nicht nach stdout
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.08.2004, 13:33 Uhr
RedEagle



jo, jetzt gehts:

C++:
std::cout << __LINE__ << __FILE__ << std::endl;





gibts noch mehr von solchen tollen sachen wie "__LINE__" und "__FILE__" ??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.08.2004, 13:36 Uhr
0xdeadbeef
Gott
(Operator)



C++:
#include <sstream>
#include <string>

//...

std::stringstream sout;

sout << "Fehler in " << __FILE__ << ", Zeile " << __LINE__ << ".";

std::string fehlermeldung = sout.str();


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.08.2004, 13:36 Uhr
~mike
Gast


__DATE__ __TIME__ __STDC__
sollte funtzen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.08.2004, 13:49 Uhr
RedEagle



habe doch noch nen Problem

C++:
MessageBox(NULL, "Datei nicht gefunden", "302 Error", MB_ICONSTOP | MB_OK);



wie mache ich aus "302 Error"
__LINE__ + "Error";

ich habe es es mit strcpy und strcat versucht, aber __LINE__ ist int
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Software ]  


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: