| Autor |
Nachricht |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
00:07:21 07.01.2006 Titel: |
Improved Console 4.0 |
Zitieren |
|
 |
Jochen Kalmbach
Moderator
Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 11522
|
Jochen Kalmbach Moderator
00:22:33 07.01.2006 Titel: |
|
Zitieren |
- Warum hast Du den "Kompatibilitäts-Modus" für altere PSDKs entfernt?
- Um Namenskonflikte vorzubeugen würde ich einen anderen Namen verwenden für "SetConsoleDisplayMode" / auch bin ich mir jetzt nicht sicher ob es diese Funktion schon immer auf W2k gibt (du prüfst zumindest nicht, ob das GetProcAddress NULL zurückliefert)
Sonst sieht es doch gut aus! Gratulation! |
_________________ Greetings
Jochen
(Microsoft MVP VC++) My blog about Win32 and .NET: http://blog.kalmbach-software.de/ (deutsch)
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
02:38:49 07.01.2006 Titel: |
|
Zitieren |
| Jochen Kalmbach schrieb: | - Warum hast Du den "Kompatibilitäts-Modus" für altere PSDKs entfernt?
|
Der Kompatibilitätsmodus war an allen Ecken und Enden ein einziges Chaos. Zwei äußerst böse Hacks mussten auch mitgeschleppt werden. Sollte tatsächlich Bedarf bestehen, kann ich ihn ja wieder reimplementieren. Aber jetzt wo wir statt VC6.0-AE endlich alle in den Genuss von VC2005-EE kommen möchte ich zumindest den Versuch unternehmen ihn loszuwerden.
| Jochen Kalmbach schrieb: |
- auch bin ich mir jetzt nicht sicher ob es diese Funktion schon immer auf W2k gibt (du prüfst zumindest nicht, ob das GetProcAddress NULL zurückliefert)
|
Stimmt, die MSDN meint "Requires Windows XP." - allerdings muss ich nachsehen ob die Funktion nicht bereits auch in Win2k "heimlich" implementiert ist.
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
17:04:22 07.01.2006 Titel: |
|
Zitieren |
|
 |
Jochen Kalmbach
Moderator
Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 11522
|
Jochen Kalmbach Moderator
18:11:31 07.01.2006 Titel: |
|
Zitieren |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
18:13:11 07.01.2006 Titel: |
|
Zitieren |
|
 |
Jochen Kalmbach
Moderator
Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 11522
|
Jochen Kalmbach Moderator
18:57:15 07.01.2006 Titel: |
|
Zitieren |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
19:00:54 07.01.2006 Titel: |
|
Zitieren |
lol, SetConsoleWindow() noch nicht und das gibts schon seit Win2k offiziell, und SetConsoleDisplayMode() schon seit WinNT dabei und noch immer nicht offiziell. No comment
Naja bleiben wir bei "Win2k und WinXP only"
Danke für die Hilfe! 
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Zuletzt bearbeitet von SideWinder am 19:01:41 07.01.2006, insgesamt 1-mal bearbeitet |
|
 |
xeniter
Unregistrierter
|
xeniter Unregistrierter
18:57:04 14.01.2006 Titel: |
bei mir kommen 4 fehler |
Zitieren |
C:\Dokumente und Einstellungen\Administrator\Desktop\improved\mover\ic.cpp(11) : error C2065: 'GetConsoleWindow' : nichtdeklarierter Bezeichner
C:\Dokumente und Einstellungen\Administrator\Desktop\improved\mover\ic.cpp(14) : error C2440: 'initializing' : 'int' kann nicht in 'struct HWND__ *' konvertiert werden
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Administrator\Desktop\improved\mover\ic.cpp(14) : error C2439: 'hWnd' : Element konnte nicht initialisiert werden
c:\dokumente und einstellungen\administrator\desktop\improved\mover\ic.hpp(80) : Siehe Deklaration von 'hWnd'
C:\Dokumente und Einstellungen\Administrator\Desktop\improved\mover\ic.cpp(175) : error C2065: 'GetConsoleDisplayMode' : nichtdeklarierter Bezeichner
so wohl bei nen normalen test als auch beim mover psdk hab ich installiert hab w2k mit sp4 weiß jemand woran das liegen könnte?
mfg xeniter |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
12:29:49 15.01.2006 Titel: |
|
Zitieren |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:14:22 21.01.2006 Titel: |
|
Zitieren |
Die IC sollte nun zum neuesten DevCpp (4.9.9.2) kompatibel sein. Wenn das noch jeamnd verifizieren könnte, ich hab das Ding nicht
Edit: Ich werde den Compiler nicht installieren, wenn es niemand ausprobieren will wird die Kompatibilität einfach wieder gestrichen So wichtig ist es nicht.
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Zuletzt bearbeitet von SideWinder am 00:59:56 22.01.2006, insgesamt 1-mal bearbeitet |
|
 |
branleb
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2005
Beiträge: 566
|
branleb Mitglied
13:11:22 22.01.2006 Titel: |
|
Zitieren |
Borland support wär besser...
oder codebloccks aber ich nehm an drer is derleiche wie devcpp oder???..
aber wer har schon DEVC++??? |
_________________ Don't hate the Hacker. Hate the Code!
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
15:11:30 22.01.2006 Titel: |
|
Zitieren |
Am Borland-Support wird gearbeitet, sollte soweit uach schon klappen, doch irgendwas versteht der Borland an HMODULE nicht.
DevCpp wird vor allem von Anfängern des Öfteren benützt.
CodeBlocks ist eine IDE, weiß nicht welcher Compiler da drunter liegt - oder haben die einen eigenen Compiler unter der Haube?
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
branleb
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2005
Beiträge: 566
|
branleb Mitglied
17:01:55 22.01.2006 Titel: |
|
Zitieren |
also devc++ is auch kein compilker sondern nutz den Mingw... soweit ich weis ...
und codeblock kann watcom,bcc, CL und Mingw benutzen als download gibts ihn zusammne mit mingw.... |
_________________ Don't hate the Hacker. Hate the Code!
|
|
 |
AlexH
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.11.2005
Beiträge: 6
|
AlexH Mitglied
15:07:02 26.01.2006 Titel: |
C1010 ?!? |
Zitieren |
|
 |
chrische5
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
|
chrische5 Mitglied
15:18:01 26.01.2006 Titel: |
|
Zitieren |
Hallo
Du könntest die Suche nach den vorkompilierten Headerdateien in den Projekteinstellungen ausschalten.
chrische |
_________________ "Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
|
|
 |
AlexH
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.11.2005
Beiträge: 6
|
AlexH Mitglied
15:22:15 26.01.2006 Titel: |
|
Zitieren |
|
 |
maxf
Mitglied
Benutzerprofil
Anmeldungsdatum: 24.12.2005
Beiträge: 86
|
maxf Mitglied
19:10:40 26.01.2006 Titel: |
|
Zitieren |
oder | C/C++ Code: | | #include "stdafx.h" | |
| C/C++ Code: | | #include "stdafx.h" | |
| C/C++ Code: | | #include "stdafx.h" | |
machen |
_________________ http://forum.meinskype.de/
|
|
 |
tester521
Unregistrierter
|
tester521 Unregistrierter
01:43:22 05.02.2006 Titel: |
|
Zitieren |
PCOORD
--------------
type specifier omitted for parameter `PCOORD' |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
02:43:39 05.02.2006 Titel: |
|
Zitieren |
|
 |
tester521
Unregistrierter
|
tester521 Unregistrierter
20:25:10 06.02.2006 Titel: |
|
Zitieren |
91 ic.hpp type specifier omitted for parameter `PCOORD'
typedef BOOL (WINAPI *SETCONSOLEDISPLAYMODE) (HANDLE, DWORD, PCOORD);
----------------------------------------
gestartet von move(main).cpp fehler in .hpp |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:26:35 06.02.2006 Titel: |
|
Zitieren |
|
 |
tester521
Unregistrierter
|
tester521 Unregistrierter
20:36:22 06.02.2006 Titel: |
|
Zitieren |
nicht das ich wüsste aber ka kann sein wenn ja was machn alternativ zur deinstallation |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:39:25 06.02.2006 Titel: |
|
Zitieren |
|
 |
tester521
Unregistrierter
|
tester521 Unregistrierter
20:51:29 06.02.2006 Titel: |
|
Zitieren |
jetzt nur noch linker errors mir was muss ich linken? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:56:22 06.02.2006 Titel: |
|
Zitieren |
|
 |
tester521
Unregistrierter
|
tester521 Unregistrierter
21:11:39 06.02.2006 Titel: |
|
Zitieren |
[Linker error] undefined reference to `ic::con'
dev-cpp compiler
hab den mover hpp und ic drin soviel ich weiß |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
21:29:07 06.02.2006 Titel: |
|
Zitieren |
|
 |
tester521
Unregistrierter
|
tester521 Unregistrierter
21:41:32 06.02.2006 Titel: |
|
Zitieren |
habsch gemacht habe aber noch den fehler
175 `GetConsoleDisplayMode' undeclared (first use this function) |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
21:55:46 06.02.2006 Titel: |
|
Zitieren |
|
 |
Friedbert
Unregistrierter
|
Friedbert Unregistrierter
15:12:30 16.03.2006 Titel: |
|
Zitieren |
also bei mir geht es. Wenn Interesse besteht, kann ich die Dateien *.dev und main.cpp ja mal zur Verfügung stellen. Die Pfade müssten in der *.dev dann _vorher_ manuell angepasst werden. Allerdings ist eine einfache Anwendung mit 1-2MB deutlich zu groß. |
|
|
|
 |
C++Progger
Unregistrierter
|
C++Progger Unregistrierter
20:15:08 17.03.2006 Titel: |
Problem bei der Improved Console |
Zitieren |
Hi, ich bin ein relativer Anfänger im C++. Ich schau mir grad http://ic.sidewindershome.net/Newbies.php an. Da habe ich ein Problem:
error: type specifier omitted
for parameter `PCOORD'
Brauche Hilfe .
MfG, Progger |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:23:10 17.03.2006 Titel: |
|
Zitieren |
|
 |
C++Progger
Unregistrierter
|
C++Progger Unregistrierter
20:43:30 17.03.2006 Titel: |
|
Zitieren |
| SideWinder schrieb: | Geh an die Stelle wo PCOORD steht und schreib statt "PCOORD" "COORD*".
MfG SideWinder |
| Code: | | typedef BOOL (WINAPI *SETCONSOLEDISPLAYMODE) (HANDLE, DWORD, PCOORD);
| |
| Code: | | typedef BOOL (WINAPI *SETCONSOLEDISPLAYMODE) (HANDLE, DWORD, PCOORD);
| |
| Code: | | typedef BOOL (WINAPI *SETCONSOLEDISPLAYMODE) (HANDLE, DWORD, PCOORD);
| |
Wenn ich dort PCOORD auf COORD* schreibe, dann kommt:
| Code: | Improved.cpp: undefined reference to `ic::con'
Improved.cpp: undefined reference to `ic::Console::setTextColor(ic::TextColor)'
| |
| Code: | Improved.cpp: undefined reference to `ic::con'
Improved.cpp: undefined reference to `ic::Console::setTextColor(ic::TextColor)'
| |
| Code: | Improved.cpp: undefined reference to `ic::con'
Improved.cpp: undefined reference to `ic::Console::setTextColor(ic::TextColor)'
| |
Vorschlag?
Thx, MfG, C++Progger |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:55:35 17.03.2006 Titel: |
|
Zitieren |
|
 |
C++Progger
Unregistrierter
|
C++Progger Unregistrierter
21:03:25 17.03.2006 Titel: |
|
Zitieren |
| SideWinder schrieb: | Cpp-Datei ebenfalls mit ins Projekt geholt?
MfG SideWinder |
Ich kann keine Optionen im "Project" Reiter benutzen . Die sind alle grau.
MfG, C++Progger |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
21:13:51 17.03.2006 Titel: |
|
Zitieren |
|
 |
C++Progger
Unregistrierter
|
C++Progger Unregistrierter
11:45:26 18.03.2006 Titel: |
|
Zitieren |
Hab neues Projekt aufgemacht, und den Anweisungen des Threads weiter unten für Dev-Cpp 4.9.9.2. gefolgt:
| Code: | | GetConsoleDisplayMode' undeclared (first use this function) | |
| Code: | | GetConsoleDisplayMode' undeclared (first use this function) | |
| Code: | | GetConsoleDisplayMode' undeclared (first use this function) | |
| Code: | | In member function `bool ic::Console::isWndFSMode() const': | |
| Code: | | In member function `bool ic::Console::isWndFSMode() const': | |
| Code: | | In member function `bool ic::Console::isWndFSMode() const': | |
| Code: | | make.exe: *** [ic.o] Error 1 | |
| Code: | | make.exe: *** [ic.o] Error 1 | |
| Code: | | make.exe: *** [ic.o] Error 1 | |
Fehler : 2
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream>
#include <conio.h>
#include "ic.hpp"
using namespace std;
using namespace ic;
using namespace ic::shorties;
int main()
{
textcolor(FG_RED);
gotoxy(25,10);
cursize(0);
cout<<"es funzt !! sogar in rot :)";
gotoxy(18,11);
cout<<"und ohne den blinkenden cursor hier -->";
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
getch();
return 0;
}
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream>
#include <conio.h>
#include "ic.hpp"
using namespace std;
using namespace ic;
using namespace ic::shorties;
int main()
{
textcolor(FG_RED);
gotoxy(25,10);
cursize(0);
cout<<"es funzt !! sogar in rot :)";
gotoxy(18,11);
cout<<"und ohne den blinkenden cursor hier -->";
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
getch();
return 0;
}
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream>
#include <conio.h>
#include "ic.hpp"
using namespace std;
using namespace ic;
using namespace ic::shorties;
int main()
{
textcolor(FG_RED);
gotoxy(25,10);
cursize(0);
cout<<"es funzt !! sogar in rot :)";
gotoxy(18,11);
cout<<"und ohne den blinkenden cursor hier -->";
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
getch();
return 0;
}
| |
Was ist falsch?
MfG, Gothic_player |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
13:46:56 18.03.2006 Titel: |
|
Zitieren |
|
 |
C++Progger
Unregistrierter
|
C++Progger Unregistrierter
14:30:39 18.03.2006 Titel: |
|
Zitieren |
Thx. Ws ist das genau?
MfG, C++Progger |
|
|
|
 |
C++Progger
Unregistrierter
|
C++Progger Unregistrierter
18:05:46 18.03.2006 Titel: |
|
Zitieren |
So, hätte ja gerne meinen Beitrag editiert, aber das geht scheinbar nicht. Also, ich habe das Update erfolgreich durchgeführt, und es geht jetzt *überglücklich sei*.
Danke an Sidewinder.
MfG, C++Progger |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
18:15:55 18.03.2006 Titel: |
|
Zitieren |
|
 |
C++Progger
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.03.2006
Beiträge: 35
|
C++Progger Mitglied
19:22:07 18.03.2006 Titel: |
|
Zitieren |
| SideWinder schrieb: | Tip: Wenn du dich registrierst kannst du deine Beiträge auch editieren
Freut mich, dass es jetzt funktioniert
MfG SideWinder |
Bin jetzt registriert .
Was genau ist die WinApi?
Ich habe hier: http://forum.worldofplayers.de/forum/showthread.php?p=1831781#post1831781
gelesen, dass man damit schon sehr leicht mit den Windows.h herumspielen kann.
MfG, C++Progger |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
15:25:23 19.03.2006 Titel: |
|
Zitieren |
WinAPI ist eine Sammlung von Funktionen die von Microsoft zur Verfügung gestellt werden um mit Windows zu kommunizieren. Diese Funktionen liegen in der <windows.h>. Unter anderem verstecken sich dort auch die Funktionen um auf die Win32-Konsole zugreifen zu können. Da diese für Anfänger nicht immer ganz so leicht zu bedienen sind gibts die IC
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
C++Progger
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.03.2006
Beiträge: 35
|
C++Progger Mitglied
20:50:45 21.03.2006 Titel: |
Farbnamen? |
Zitieren |
Tag, gib es eine komplette Liste mit den Farben, die ich in der IC verwenden kann?
MfG, C++Progger |
Zuletzt bearbeitet von C++Progger am 12:08:48 25.03.2006, insgesamt 2-mal bearbeitet |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
01:00:37 26.03.2006 Titel: |
|
Zitieren |
du kannst auch selber nach dem Schema der ic Komponente Farben definieren, schau dir am besten einmal die ic.hpp an dort findest du gleich oben eine enum Aufzählung, inder du leicht erkennen solltest wie man solche Farben definiert. |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
01:06:20 26.03.2006 Titel: |
|
Zitieren |
| Kevinus schrieb: | | du kannst auch selber nach dem Schema der ic Komponente Farben definieren, schau dir am besten einmal die ic.hpp an dort findest du gleich oben eine enum Aufzählung, inder du leicht erkennen solltest wie man solche Farben definiert. |
Allerdings sind in der ic.hpp bereits alle möglichen Farben definiert und ein eigenes Definieren daher nicht mehr nötig.
Trotzdem: Wie gesagt gibts hier: http://ic.sidewindershome.net/sources/ic.hpp.html alle möglichen Farben (etwas nach unten scrollen, die ersten beiden enum-Aufzählungen enthalten alle Farben)
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
01:57:53 26.03.2006 Titel: |
|
Zitieren |
ok ich habe nocheinmal nachgelesen und gesehen, dass man nicht, wie ich dachte, jede Hex Möglichkeit ausschöpfen kann, sondern nur die Farben, die du aufführst. sorry für den Irrtum.
Ich habe selbst eine Frage:
In meiner jetzigen IDE DevC++, gibt es nur noch die abgespeckte conio.h! Einfaches einfügen der alten conio führt zu Fehlermeldungen, wie logschich . Naja auf jedenfall fehlt jetzt die Funktion _setcursortype(), gibt es ein brauchbares Äquivalent, welches jemand kennt, vielleicht sogar in der Improved Console? Falls nicht, gibt es dann eine andere Möglichkeit==? |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
10:33:10 26.03.2006 Titel: |
|
Zitieren |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
10:53:18 26.03.2006 Titel: |
|
Zitieren |
setcursortype bewirkt, dass der Cursor(das blinkende Underline wo die Tastatur gerade steht), entweder verschwindet (Parameter (_NOCURSOR)), normal blinkt(Parameter (_NORMALCURSOR)), oder immer ein Underline zu sehen ist(Parameter (_SOLIDCURSOR)) und dieser Befehl fehlt eben.
Was hat con.setCurSize(1-100) für eine Auswirkung, nach dem Namen die Größe des Cursors zu ändern, oder sehe ich was falsch?
Falls eine ähnliche Funktion in der Improved Console noch nicht vorhanden ist, wäre das ein Verbesserungsvorschlag meinerseits, diese Funktion einzubauen. |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
11:01:02 26.03.2006 Titel: |
|
Zitieren |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
20:59:12 26.03.2006 Titel: |
|
Zitieren |
thx |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
C++Progger
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.03.2006
Beiträge: 35
|
C++Progger Mitglied
18:11:27 27.03.2006 Titel: |
|
Zitieren |
Thx auch von mir
MfG, C++Progger |
|
|
|
 |
Black Hell
Mitglied
Benutzerprofil
Anmeldungsdatum: 24.03.2006
Beiträge: 41
|
Black Hell Mitglied
19:25:25 28.03.2006 Titel: |
|
Zitieren |
Hi,
wollte fragen ob des mit IC auch möglich ist, den Text mit Hintergrund darzustellen....zb Textfarbe = rot
Hintergrund des Textes = Blau
mit
| Code: | | SetConsoleTextAttribute(handle,wert) | |
| Code: | | SetConsoleTextAttribute(handle,wert) | |
| Code: | | SetConsoleTextAttribute(handle,wert) | |
funzt das wenn man zb 20 als wert eingibt |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
20:13:19 28.03.2006 Titel: |
|
Zitieren |
Klar:
| C/C++ Code: | con.setTextColor(FG_RED);
con.setBgColor(BG_BLUE);
// hmm und eventl. sogar das wenn mich nicht alles täuscht:
con.setColor(FG_RED|BG_BLUE);
| |
| C/C++ Code: | con.setTextColor(FG_RED);
con.setBgColor(BG_BLUE);
// hmm und eventl. sogar das wenn mich nicht alles täuscht:
con.setColor(FG_RED|BG_BLUE);
| |
| C/C++ Code: | con.setTextColor(FG_RED);
con.setBgColor(BG_BLUE);
// hmm und eventl. sogar das wenn mich nicht alles täuscht:
con.setColor(FG_RED|BG_BLUE);
| |
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
Black Hell
Mitglied
Benutzerprofil
Anmeldungsdatum: 24.03.2006
Beiträge: 41
|
Black Hell Mitglied
22:57:04 28.03.2006 Titel: |
|
Zitieren |
Bow, hammer...danke...so ist IMPROVED = IMPROVED^^ |
|
|
|
 |
Black Hell
Mitglied
Benutzerprofil
Anmeldungsdatum: 24.03.2006
Beiträge: 41
|
Black Hell Mitglied
21:57:11 30.03.2006 Titel: |
|
Zitieren |
sorry was hier stand ist wohl müll |
Zuletzt bearbeitet von Black Hell am 22:03:11 30.03.2006, insgesamt 1-mal bearbeitet |
|
 |
Preacha
Unregistrierter
|
Preacha Unregistrierter
10:50:18 07.04.2006 Titel: |
im Borland c++ Builder 6 |
Zitieren |
Habe den ersten Test versucht und die hpp und cpp includiert.
Beim ausführen kommt allerdings die Fehlermeldung
[C++ Fehler] ic.cpp(251): E2268 Aufruf der undefinierten Funktion 'min'
kann da jemand helfen? |
|
|
|
 |
Preacha
Unregistrierter
|
Preacha Unregistrierter
11:05:18 07.04.2006 Titel: |
Problem gelöst |
Zitieren |
hab das problem gelöst.
Habe den code aus den html Dateien kopiert weil ich auf dem Rechner hier kein winrrar hab und auch keine Adminrechte um es zu installieren (könnte ruhig auch als selbstentpackendes archiv online stehen)
Naja und in der html Datei fehlt einfach die das "min" in der hpp. |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
12:40:09 07.04.2006 Titel: |
|
Zitieren |
|
 |
Preacha
Unregistrierter
|
Preacha Unregistrierter
14:27:23 07.04.2006 Titel: |
gugug |
Zitieren |
Also improved console is echt wirklich ne feine Sache.
Jetzt hab ich aber ein Problem. Und zwar wenn ich den Befehl
delline() von der conio.h benutze um eine text zu löschen und dabei aber eine
andere Hintergrundfarbe habe rückt quasi eine Zeile mit der Ausgangshintergrundfarbe(schwarz) ein.
Ich weiß nich ob das jetzt verständlich war aber probierts doch einfach mal aus.
Ich hoffe jemand kann mir helfen oder eine alternative für das löschen von text an einer bestimmten Stelle im Screen zeigen. |
|
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
11:37:46 09.04.2006 Titel: |
|
Zitieren |
Also SideWinder wollt dich Mal was fragen, ich benutze DevC++ und diese IDE hat diese tolle Packagefunktion, dass sind Packete, in die man alle Dateien, die für eine bestimmte Libary oder ähnlichem notwendig sind reinpackt und diese werden komfortabel installiert, da ich gelernt habe wie man solche Teile zusammenzimmert hätte ich die Frage ob ich auch eins für die Improved Console anfertigen soll?
Beinhalten würde das Package die neuste IC und dazu eine vorcompilierte Library mit dem Format .a? Das würde einigen Nutzern den Einsatz der IC noch weiter vereinfachen.
PS:
Versuche gerade die Version 4 deiner IC zum Laufen zu bekommen, bei der 3.4 war es eine kleine Änderung und dein Code lief, doch nun werde ich mit Fehlern überhäuft, also ein Package ist damit nur für Version 3.4 möglich, außer du hast eine Lösung wie man es auf DevC++ 4.9.9.2 zum Laufen bekommt. |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
Zuletzt bearbeitet von Kevinus am 11:48:53 09.04.2006, insgesamt 1-mal bearbeitet |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
14:04:50 09.04.2006 Titel: |
|
Zitieren |
Du brauchst das neueste WinAPI-Package des DevCpp um es zum Laufen zu bringen. Ansonsten scheint es allerdings keine Probleme mehr zu geben mit dem DevCpp.
Achja und: Wenn du es für die 4.0 (bitte die Zips und nicht den Online-Source, den muss ich erst updaten) hinbekommst wär das toll
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
14:05:41 09.04.2006 Titel: |
|
Zitieren |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
15:39:54 09.04.2006 Titel: |
|
Zitieren |
Oh mist!
Ich hab meinen Fehler, also in der 3.4 Version gab es ja noch die ic.h mit den namespaces. Ich hab schlicht und ergreifend vergessen, die namespaces zu setzen und schon überhäuft man mich mit Fehlern!
Also die License.txt und Readme.txt würde ich unverändert in das Package mit einbauen, wobei ich die Changes noch mit der Readme.txt kombiniere, ok? |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
15:44:44 09.04.2006 Titel: |
|
Zitieren |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
15:53:21 09.04.2006 Titel: |
|
Zitieren |
naja man hat bei den Packages einmal die Möglichkeit eine Lizenz und danach die Readme anzuzeigen und ich denke das wäre besser wenn die Änderungen mit zu sehen wären, oder soll ich die 3 Dateien License.txt, Readme.txt, Changes.txt alle drei nochmal extra mit kopieren, sodass man diese 3 Dateien jederzeit zur Hand hat?
PS:
Hab die IC am laufen, die Fehler lagen zum Teil auch an den geänderten Funktionsnamen getMaxSizeX->getMaxWndSizeX() und solche Späße! |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
Zuletzt bearbeitet von Kevinus am 15:54:11 09.04.2006, insgesamt 1-mal bearbeitet |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
16:09:35 09.04.2006 Titel: |
|
Zitieren |
Ich bräuchte ein Paar Angaben:
Kann man als kleine Beschreibung der Library den folgenden Text nehmen:
Ein Framework, welches den Konsolenteil der WinAPI kapselt und so eine leichteren Zugriff auf selbigen gibt. Dabei vorallem auf den Teil, der sich mit der Formatierungen beschäftigt.
Als Kontaktadresse dient sicherlich deine Seite und deine Email Adrresse, oder hast du andere Kontaktanschriften? |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
16:21:19 09.04.2006 Titel: |
|
Zitieren |
| Zitat: |
Einfach einzusetzendes Framework für die Win32-Konsolen-API. Ersetzt die in vielen Fällen sehr abgespeckte <conio.h> vollständig.
|
-> Als Kontakt-Homepage die Homepage, ja
-> Als Kontakt-Adresse mich wenn es um die IC geht, dich wenn es eher um das DevCPP-Package geht
-> Okay, wenn das mit ReadMe und License so schön geht wirf die Changes in die ReadMe.
Wichtig: Die Lib sollte funktionieren ohne etwas am ursprünglichen IC-Code verändern zu müssen um mir Wartungsaufwand bei zukünftigen Versionen zu ersparen. Wenn für den DevCpp Änderungen am Code notwendig sind gib vorher Bescheid, dann bau ich noch eine allgemeine Lösung ein.
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
17:09:09 09.04.2006 Titel: |
|
Zitieren |
also ich habe mich dran gemacht, ne statische lib mit Endung .a gemacht(einfach die beiden Dateien ic.hpp und ic.cpp zusammen reingehauen und fertig) ohne Änderungen am Code selber.
Das DevPack muss man sich als Archiv vorstellen, dass bedeutet man muss es mit jeder neuen Version schnell neu komprimieren. Also falls es eine neue Version gibt sag mir das und in 10Minuten hast du das Package dazu, da ich einfach das Dev Projekt aufrufe, die lib neu erstellen lasse, die Dateien in den jeweiligen Ordnern ersetze und alles neu Archiviere, mit geänderte .DevPackage Datei, inder die Informationen für das Setup stehen, das herausgekommene tar.bz2 Archiv bennent man dann in DevPack um und schon funktioniert das ganze.
Also das Setup habe ich wie folgt eingerichtet:
die include-Files(ic.hpp und ic.cpp) im Ordner include, werden in den Ordner:
<Stammverzeichnis von DevC++>\Include\ic\
kopiert
das lib File mit Namen ImprovedConsole.a und im Ordner lib, wird in den Ordner:
<Stammverzeichnis von DevC++>\lib\
kopiert
und die Documentationen(License.txt,Readme.txt,Changes.txt) im Ordner docu, werden in den Ordner:
<Stammverzeichnis von DevC++>\Docs\ImprovedConsole4.0\
kopiert.
Hier habe ich Changes.txt und Readme.txt auseinander gemacht, hingegen beim Setup sind sie zusammen.
Man muss in seinem Projekt nur noch ImprovedConsole.a mitlinken und kann ic.hpp includieren, alles läuft wunderbar. Wohin soll ich dir das DevPak senden, damit du es hochladen kannst?
Ich hoffe du und die anderen werden zufrieden sein und achja ich habe uns in der kurzen Beschreibung beide genannt. |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
17:19:24 09.04.2006 Titel: |
|
Zitieren |
Hinterher gleich eine technische Frage zur IC:
Erstmal wie nennt man das wenn man nach der Klassendeklaration und Definition ein einziges Objekt der Klasse erstellt und es nicht weiter möglich ist ein weiteres Objekt zu erstellen, da der Konstruktor private ist?
Und nun zu deinem, du deklarierst in der .hpp Datei eine Console Referenz(extern), der du dann mit einer Funktion in deiner cpp einen wert zuweist(das neue Objekt) worauf sie referenzieren soll. Nun ich habe es in einer meiner Klasse ohne diese Zuweisung eines neuen Objektes versucht und es klappt auch wenn ich die Referenz extern deklariere und dann bei der Definition der Referenz keinen Wert zum Referenzieren zuweise, bisher funktioniert das tadellos, könntest du mir vielleicht erklären wozu deine Methode gebraucht wird und was das Wörtchen extern genau bewirkt, desweiteren könntest du, da wir schonmal dabei sind ein Paar Worte über inline verlieren? Wäre echt nett! |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
Zuletzt bearbeitet von Kevinus am 17:21:09 09.04.2006, insgesamt 1-mal bearbeitet |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
15:16:45 10.04.2006 Titel: |
|
Zitieren |
| Zitat: |
Wohin soll ich dir das DevPak senden, damit du es hochladen kannst?
|
SideWinder@c-plusplus.de
| Zitat: |
Erstmal wie nennt man das wenn man nach der Klassendeklaration und Definition ein einziges Objekt der Klasse erstellt und es nicht weiter möglich ist ein weiteres Objekt zu erstellen, da der Konstruktor private ist?
|
Das ist ein Singleton - ein Design Pattern.
Die Referenz ist extern, damit der Linker später weiß, dass die Definition dazu in einer anderen Übersetzungseinheit liegt. Die Zuweisung in der Cpp-Datei ist wichtig, weil sonst die Referenz ins leere zeigt. Natürlich kannst du das auch alles weglassen und immer Console.getInstance() aufrufen.
inline ist eine Empfehlung an den Compiler eine bestimmte Funktion nicht über einen Sprung zu einem anderen Codestück aufzurufen sondern direkt in den Code einzufügen. Sowas dann:
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 | // Ohne Inline:
Anderer Code
doSth(i); // Hier wird zur Ausführungsadresse von doSth gesprungen
Anderer Code
// Mit Inline:
AndererCode
doSth(i) // Hier wird der Inhalt von doSth direkt an diese Stelle kopiert
AndererCode
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | // Ohne Inline:
Anderer Code
doSth(i); // Hier wird zur Ausführungsadresse von doSth gesprungen
Anderer Code
// Mit Inline:
AndererCode
doSth(i) // Hier wird der Inhalt von doSth direkt an diese Stelle kopiert
AndererCode
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | // Ohne Inline:
Anderer Code
doSth(i); // Hier wird zur Ausführungsadresse von doSth gesprungen
Anderer Code
// Mit Inline:
AndererCode
doSth(i) // Hier wird der Inhalt von doSth direkt an diese Stelle kopiert
AndererCode
| |
Allerdings ist das nur eine Empfehlung an den Compiler, der kann dann daraufhin immer noch entscheiden ob das optimal ist und wirklich gemacht werden soll.
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
16:25:41 10.04.2006 Titel: |
|
Zitieren |
achso, aber wenn ich eine Referenz direkt vom Ursprungsobjekt ableite, dann muss die Referenz doch nirgendwo hinzeigen, dies ist zwar dann etwas Zweckentfremded, aber es funktioniert, jedenfalls bei mir! Und ich habe nix wie eine getInstance(); Methode, respektive Funktion! |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
16:30:19 10.04.2006 Titel: |
|
Zitieren |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
17:07:41 10.04.2006 Titel: |
|
Zitieren |
Bisheriger Code:
log.h
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | //==============================================================================
/*
|--------------------------------------------------------|
| Name : Logbuchklasse CLog |
| Copyright By : Kevin Jakob |
| Version : 1.3 |
| Lizenz : |
|Die Klasse darf frei verwendet werden, falls dieser |
|schriftliche Vermerk und damit die Lizenzbedingungen, |
|in der von ihnen verwendeten Version des Dateienpakets/ |
|der Klasse vorhanden bleibt und etwaige weitere |
|Lizenzbedingungen selber eingehalten werden. |
|--------------------------------------------------------|
*/
//==============================================================================
#include "log_os.h"
//==============================================================================
#ifdef WIN_COMPILE_LOG
#include <windows.h>
#endif
//==============================================================================
#ifdef LINUX_COMPILE_LOG
#endif
//==============================================================================
#ifdef NON_SPECIFIC_OS_COMPILE_LOG
#endif
//==============================================================================
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <conio.h>
//==============================================================================
using namespace std;
//==============================================================================
#define SUCCESS 0
#define FAILURE 1
//==============================================================================
#define INT 11
#define FLOAT 12
#define BOOL 13
#define STRING 14
//==============================================================================
class CLog
{
private:
CLog();
public:
int write_to_log(string cText,bool bNewline);
int exit();
int init(string cProgram_name);
//==================================================================
//Public-Funktionen set() und get() befinden sich hier im Header, da
//template-Funktionen nur in Headern definiert werden können und nicht
//im Header deklariert und in der zugehörigen Source-Datei(.cpp) definiert
//werden.
//Um die Übersicht zu wahren habe ich beide Funktionen ans Ende der
//Klassendeklaration geschrieben!
//==================================================================
template<class T>
int set(int iVariable_type,string cSet_variable_name,T New_content)
{
switch(iVariable_type)
{
case INT:
return SUCCESS;
break;
case FLOAT:
return SUCCESS;
break;
case BOOL:
return SUCCESS;
break;
case STRING:
return SUCCESS;
break;
default:
return FAILURE;
}
return FAILURE;
}
//==================================================================
template<class T>
int get(int iVariable_type,string cGet_variable_name,T &Output)
{
switch(iVariable_type)
{
case INT:
return SUCCESS;
break;
case FLOAT:
return SUCCESS;
break;
case BOOL:
return SUCCESS;
break;
case STRING:
return SUCCESS;
break;
default:
}
}
//==================================================================
};
//==============================================================================
extern CLog& log;
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | //==============================================================================
/*
|--------------------------------------------------------|
| Name : Logbuchklasse CLog |
| Copyright By : Kevin Jakob |
| Version : 1.3 |
| Lizenz : |
|Die Klasse darf frei verwendet werden, falls dieser |
|schriftliche Vermerk und damit die Lizenzbedingungen, |
|in der von ihnen verwendeten Version des Dateienpakets/ |
|der Klasse vorhanden bleibt und etwaige weitere |
|Lizenzbedingungen selber eingehalten werden. |
|--------------------------------------------------------|
*/
//==============================================================================
#include "log_os.h"
//==============================================================================
#ifdef WIN_COMPILE_LOG
#include <windows.h>
#endif
//==============================================================================
#ifdef LINUX_COMPILE_LOG
#endif
//==============================================================================
#ifdef NON_SPECIFIC_OS_COMPILE_LOG
#endif
//==============================================================================
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <conio.h>
//==============================================================================
using namespace std;
//==============================================================================
#define SUCCESS 0
#define FAILURE 1
//==============================================================================
#define INT 11
#define FLOAT 12
#define BOOL 13
#define STRING 14
//==============================================================================
class CLog
{
private:
CLog();
public:
int write_to_log(string cText,bool bNewline);
int exit();
int init(string cProgram_name);
//==================================================================
//Public-Funktionen set() und get() befinden sich hier im Header, da
//template-Funktionen nur in Headern definiert werden können und nicht
//im Header deklariert und in der zugehörigen Source-Datei(.cpp) definiert
//werden.
//Um die Übersicht zu wahren habe ich beide Funktionen ans Ende der
//Klassendeklaration geschrieben!
//==================================================================
template<class T>
int set(int iVariable_type,string cSet_variable_name,T New_content)
{
switch(iVariable_type)
{
case INT:
return SUCCESS;
break;
case FLOAT:
return SUCCESS;
break;
case BOOL:
return SUCCESS;
break;
case STRING:
return SUCCESS;
break;
default:
return FAILURE;
}
return FAILURE;
}
//==================================================================
template<class T>
int get(int iVariable_type,string cGet_variable_name,T &Output)
{
switch(iVariable_type)
{
case INT:
return SUCCESS;
break;
case FLOAT:
return SUCCESS;
break;
case BOOL:
return SUCCESS;
break;
case STRING:
return SUCCESS;
break;
default:
}
}
//==================================================================
};
//==============================================================================
extern CLog& log;
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | //==============================================================================
/*
|--------------------------------------------------------|
| Name : Logbuchklasse CLog |
| Copyright By : Kevin Jakob |
| Version : 1.3 |
| Lizenz : |
|Die Klasse darf frei verwendet werden, falls dieser |
|schriftliche Vermerk und damit die Lizenzbedingungen, |
|in der von ihnen verwendeten Version des Dateienpakets/ |
|der Klasse vorhanden bleibt und etwaige weitere |
|Lizenzbedingungen selber eingehalten werden. |
|--------------------------------------------------------|
*/
//==============================================================================
#include "log_os.h"
//==============================================================================
#ifdef WIN_COMPILE_LOG
#include <windows.h>
#endif
//==============================================================================
#ifdef LINUX_COMPILE_LOG
#endif
//==============================================================================
#ifdef NON_SPECIFIC_OS_COMPILE_LOG
#endif
//==============================================================================
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <conio.h>
//==============================================================================
using namespace std;
//==============================================================================
#define SUCCESS 0
#define FAILURE 1
//==============================================================================
#define INT 11
#define FLOAT 12
#define BOOL 13
#define STRING 14
//==============================================================================
class CLog
{
private:
CLog();
public:
int write_to_log(string cText,bool bNewline);
int exit();
int init(string cProgram_name);
//==================================================================
//Public-Funktionen set() und get() befinden sich hier im Header, da
//template-Funktionen nur in Headern definiert werden können und nicht
//im Header deklariert und in der zugehörigen Source-Datei(.cpp) definiert
//werden.
//Um die Übersicht zu wahren habe ich beide Funktionen ans Ende der
//Klassendeklaration geschrieben!
//==================================================================
template<class T>
int set(int iVariable_type,string cSet_variable_name,T New_content)
{
switch(iVariable_type)
{
case INT:
return SUCCESS;
break;
case FLOAT:
return SUCCESS;
break;
case BOOL:
return SUCCESS;
break;
case STRING:
return SUCCESS;
break;
default:
return FAILURE;
}
return FAILURE;
}
//==================================================================
template<class T>
int get(int iVariable_type,string cGet_variable_name,T &Output)
{
switch(iVariable_type)
{
case INT:
return SUCCESS;
break;
case FLOAT:
return SUCCESS;
break;
case BOOL:
return SUCCESS;
break;
case STRING:
return SUCCESS;
break;
default:
}
}
//==================================================================
};
//==============================================================================
extern CLog& log;
| |
und so sieht die Stelle in der log.cpp aus:
diese Zeile steht ganz unten und dat funktioniert, so kann ich zum Beispiel
log.init("Irgendwas"); ausführen, ohne das es Probleme gibt! |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
chrische5
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
|
chrische5 Mitglied
17:14:09 10.04.2006 Titel: |
|
Zitieren |
Hallo
Ich wollte nur mal anmerken, dass du in der Headerdatei vielleicht besser kein:
| C/C++ Code: | | using namespace std; | |
| C/C++ Code: | | using namespace std; | |
| C/C++ Code: | | using namespace std; | |
verwenden solltest, weil es sonst zu Namenskonflikten bei Usern deiner Klasse kommen kann, oder?
chrische |
_________________ "Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
17:19:07 10.04.2006 Titel: |
|
Zitieren |
inwiefern? kannst du Mal ein Beispiel geben? |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
chrische5
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
|
chrische5 Mitglied
09:52:02 11.04.2006 Titel: |
|
Zitieren |
Hallo
Wenn beispielsweise jemand seine eigene string-Klasse geschrieben hat und mit Ihr arbeitet.
| C/C++ Code: | | string Text; //(was für ein String: std?, oder eigene Klasse?) | |
| C/C++ Code: | | string Text; //(was für ein String: std?, oder eigene Klasse?) | |
| C/C++ Code: | | string Text; //(was für ein String: std?, oder eigene Klasse?) | |
wenn du allerdings so etwas schreibst, wird alles klar:
| C/C++ Code: | std::string Text; //std-String
string Text2; //eigene String-Klasse | |
| C/C++ Code: | std::string Text; //std-String
string Text2; //eigene String-Klasse | |
| C/C++ Code: | std::string Text; //std-String
string Text2; //eigene String-Klasse | |
chrische |
_________________ "Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
13:32:33 11.04.2006 Titel: |
|
Zitieren |
das using namespace bezieht sich ja aber nur auf meine Klasse und nicht außerhalb davon, mann muss ne using Direktive doch immer an jeden Anfang einer Datei schreiben für die man eben etwas usen will. Damit verwende ich intern zwar den namensbereich std aber extern können die Leute doch gerne mit std::string oder std::cout arbeiten??? oder etwa nicht!? |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
chrische5
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
|
chrische5 Mitglied
13:38:29 11.04.2006 Titel: |
|
Zitieren |
Hallo
Ich bin mir selber nicht 100% sicher, aber ich glaube, dass wenn du using namespace in die Headerdatei schreibst und jemand diese inkludiert, gilt dieses using namespace auch für die Datei, wo der Header inkludiert wurde. Und genau wäre das Prblem.
chrische |
_________________ "Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
13:45:43 11.04.2006 Titel: |
|
Zitieren |
wartn wir auf SideWinder, der weis dat sicher! |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
cpfix
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.01.2006
Beiträge: 15
|
cpfix Mitglied
15:26:03 21.04.2006 Titel: |
|
Zitieren |
ich hab mir jetzt auch mal die improved console geladen. Ich wollte das sample kompillieren, allerdings kommen ich immer auf diesen fehler:
| Code: | 1 2 3 4 5 6 7 8 9 10 11 | 1 2 3 4 5 6 7 8 9 10 11 | 1>------ Erstellen gestartet: Projekt: improved, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>imp.cpp
1>Verknüpfen...
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)".
1>E:\Dev\C\improved\Debug\improved.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://e:\Dev\C\improved\improved\Debug\BuildLog.htm" gespeichert.
1>improved - 4 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 | 1>------ Erstellen gestartet: Projekt: improved, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>imp.cpp
1>Verknüpfen...
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)".
1>E:\Dev\C\improved\Debug\improved.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://e:\Dev\C\improved\improved\Debug\BuildLog.htm" gespeichert.
1>improved - 4 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 | 1>------ Erstellen gestartet: Projekt: improved, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>imp.cpp
1>Verknüpfen...
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)".
1>E:\Dev\C\improved\Debug\improved.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://e:\Dev\C\improved\improved\Debug\BuildLog.htm" gespeichert.
1>improved - 4 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
| |
und kann man die improved console auch problemlos für C einsetzen? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
19:27:03 21.04.2006 Titel: |
|
Zitieren |
|
 |
cpfix
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.01.2006
Beiträge: 15
|
cpfix Mitglied
20:08:40 21.04.2006 Titel: |
|
Zitieren |
ich habe eigentlich die .cpp und die .hpp datei hinzugefügt. Zwar nicht über "Datei -> Vorhandenes Element hinzufügen", weil es das bei mir (VC++ Express) nicht gibt sondern über "Projekt -> Vorhandenes Element hinzufügen".
Ich hab mal einen Screenshot gemacht:
http://img361.imageshack.us/img361/4840/improvedconsole6ih.jpg
PS: Schön zu sehen, dass es hier noch jemanden aus Linz Umgebung gibt |
Zuletzt bearbeitet von cpfix am 20:44:38 21.04.2006, insgesamt 1-mal bearbeitet |
|
 |
chrische5
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
|
chrische5 Mitglied
10:44:59 22.04.2006 Titel: |
|
Zitieren |
Hallo
Wurde nun schon die Frage geklärt, wie sich das mit namespace verhält?
chrische |
_________________ "Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
14:48:30 22.04.2006 Titel: |
|
Zitieren |
Ehm nein, anscheinend hat das der SideWinder überlesen, mal sehen ob er jetzt drauf reagiert. |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
15:26:40 22.04.2006 Titel: |
|
Zitieren |
Ich öffne aus diesem Grund keine Namespaces in Header-Dateien und auch keine in den dazugehörigen Implementations-Dateien.
Glaube aber - weiß allerdings nicht - dass man in der Impl-Datei den Namespace ohne Probleme öffnen kann, da es ja eine andere Übersetzungseinheit ist.
In der Header-Datei ist auf jeden Fall davon abzuraten.
---
@cpfix: Hast du auch brav das Platform SDK installiert? So wie auf der Download-Seite der IC unten beschrieben?
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
chrische5
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
|
chrische5 Mitglied
17:00:41 22.04.2006 Titel: |
|
Zitieren |
Hallo
Das entspricht auch genau dem, was ich vermutet hatte.
chrische |
_________________ "Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
|
|
 |
cpfix
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.01.2006
Beiträge: 15
|
cpfix Mitglied
17:01:07 22.04.2006 Titel: |
|
Zitieren |
eigentlich schon.
der Compiler schreibt ja irgendwas über einen Link Fehler. Ich hab bei bei der Installation des PSDK die Datei "corewin_express.vsprops" folgendermaßen abgeändert:
| Code: | 1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 | <?xml version="1.0"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="Core Windows Libraries">
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" />
</VisualStudioPropertySheet>
| |
| Code: | 1 2 3 4 5 6 7 8 9 | <?xml version="1.0"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="Core Windows Libraries">
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" />
</VisualStudioPropertySheet>
| |
| Code: | 1 2 3 4 5 6 7 8 9 | <?xml version="1.0"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="Core Windows Libraries">
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" />
</VisualStudioPropertySheet>
| |
allerdings lässt sich auch das Beispiel für ein Windows Programm aus der Anleitung nicht korrekt kompillieren. |
|
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
23:07:21 22.04.2006 Titel: |
|
Zitieren |
also kann es zu Außwirkungen kommen, oder nicht?
EDIT: Ich habe das ganze probiert, in meiner Testumgebung habe ich ohne namespace geschrieben aber das besagte im Header beibehalten, es gibt keine Probleme! |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
detexto
Unregistrierter
|
detexto Unregistrierter
14:41:27 03.06.2006 Titel: |
|
Zitieren |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::setWndSize (int x, int y)
{
if(!wndBufMode)
{
zeroWndSize();
COORD bufSize;
bufSize.X = min(x,getMaxWndSizeX());
bufSize.Y = min(y,getMaxWndSizeY());
SetConsoleScreenBufferSize(hConsoleOutput,bufSize);
}
SMALL_RECT wndSize;
wndSize.Top = 0;
wndSize.Left = 0;
wndSize.Right = min(x,getMaxWndSizeX()) - 1;
wndSize.Bottom = min(y,getMaxWndSizeY()) - 1;
SetConsoleWindowInfo(hConsoleOutput,TRUE,&wndSize);
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::setWndSize (int x, int y)
{
if(!wndBufMode)
{
zeroWndSize();
COORD bufSize;
bufSize.X = min(x,getMaxWndSizeX());
bufSize.Y = min(y,getMaxWndSizeY());
SetConsoleScreenBufferSize(hConsoleOutput,bufSize);
}
SMALL_RECT wndSize;
wndSize.Top = 0;
wndSize.Left = 0;
wndSize.Right = min(x,getMaxWndSizeX()) - 1;
wndSize.Bottom = min(y,getMaxWndSizeY()) - 1;
SetConsoleWindowInfo(hConsoleOutput,TRUE,&wndSize);
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::setWndSize (int x, int y)
{
if(!wndBufMode)
{
zeroWndSize();
COORD bufSize;
bufSize.X = min(x,getMaxWndSizeX());
bufSize.Y = min(y,getMaxWndSizeY());
SetConsoleScreenBufferSize(hConsoleOutput,bufSize);
}
SMALL_RECT wndSize;
wndSize.Top = 0;
wndSize.Left = 0;
wndSize.Right = min(x,getMaxWndSizeX()) - 1;
wndSize.Bottom = min(y,getMaxWndSizeY()) - 1;
SetConsoleWindowInfo(hConsoleOutput,TRUE,&wndSize);
} | |
ich habe hier ein problem: min undeclared |
|
|
|
 |
Proximo
Unregistrierter
|
Proximo Unregistrierter
17:43:10 25.06.2006 Titel: |
Gleiches Problem |
Zitieren |
Ich hab ebenfalls folgendes bekommen:
| C/C++ Code: | Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)". ic.obj
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)". ic.obj
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)". ic.obj | |
| C/C++ Code: | Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)". ic.obj
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)". ic.obj
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)". ic.obj | |
| C/C++ Code: | Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)". ic.obj
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)". ic.obj
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)". ic.obj | |
Gibt es da schon eine Lösung?
SDK installiert, beide Quelldateien geladen, main.cpp mit folgendem Inhalt:
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
} | |
Ich hoffe auf eine Antwort.
MFG Proximo |
|
|
|
 |
Proximo
Unregistrierter
|
Proximo Unregistrierter
18:09:30 25.06.2006 Titel: |
Add: |
Zitieren |
Das Problem lässt sich sogar noch weiter verfolgen:
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 | #define _WIN32_WINNT 0x0500
#include <windows.h>
int main()
{
ShowWindow ( GetConsoleWindow () , SW_HIDE );
return 0;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | #define _WIN32_WINNT 0x0500
#include <windows.h>
int main()
{
ShowWindow ( GetConsoleWindow () , SW_HIDE );
return 0;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | #define _WIN32_WINNT 0x0500
#include <windows.h>
int main()
{
ShowWindow ( GetConsoleWindow () , SW_HIDE );
return 0;
} | |
Wirft:
Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion "_main". main.obj
Was kann das sein?
MFG Proximo |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
19:00:09 25.06.2006 Titel: |
|
Zitieren |
|
 |
Proximo
Unregistrierter
|
Proximo Unregistrierter
22:35:09 25.06.2006 Titel: |
|
Zitieren |
Auch wenn die Frage jetzt warscheinlich dämlich ist... aber wie?
Mir reicht auch ein Tutorial darüber, aber bei der Suche nach "WinAPI"(und beliebigen Begriffen dazu) hab ich etwas zu viele Treffer bekommen...
MFG Proximo |
|
|
|
 |
Proximo
Unregistrierter
|
Proximo Unregistrierter
22:39:11 25.06.2006 Titel: |
Add: |
Zitieren |
Natürlich hast du keine Glaskugel zuhause...
Ich verwende Visual C++ 2005 Express Edition und das Microsoft Plattform SDK dazu.
Das SDK ist per Include und Lib im aktuellen Project eingebunden.
MFG Proximo |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
18:51:23 29.06.2006 Titel: |
|
Zitieren |
|
 |
camper
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.08.2004
Beiträge: 5052
|
camper Mitglied
20:02:31 29.06.2006 Titel: |
|
Zitieren |
musst dem linker evtl. noch sagen, dass er user32.lib dazu linken soll |
|
|
|
 |
unregistriert1
Unregistrierter
|
unregistriert1 Unregistrierter
13:53:07 28.07.2006 Titel: |
|
Zitieren |
wollte wida mal auf die site gehen seh aba grade dass pw verlangt wird und alle anderen links off sind. |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
14:49:47 28.07.2006 Titel: |
|
Zitieren |
|
 |
TIberiu
Mitglied
Benutzerprofil
Anmeldungsdatum: 04.09.2006
Beiträge: 24
|
TIberiu Mitglied
18:53:35 07.09.2006 Titel: |
|
Zitieren |
Wie mache ich einen Fullscreen damit ? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
18:58:21 07.09.2006 Titel: |
|
Zitieren |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int main ()
{
con.enableWndFSMode();
// ab hier im fullscreen-modus
...
con.disableWndFSMode();
// ab hier nicht mehr im fullscreen-modus
...
return 0;
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int main ()
{
con.enableWndFSMode();
// ab hier im fullscreen-modus
...
con.disableWndFSMode();
// ab hier nicht mehr im fullscreen-modus
...
return 0;
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int main ()
{
con.enableWndFSMode();
// ab hier im fullscreen-modus
...
con.disableWndFSMode();
// ab hier nicht mehr im fullscreen-modus
...
return 0;
}
| |
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
TIberiu
Mitglied
Benutzerprofil
Anmeldungsdatum: 04.09.2006
Beiträge: 24
|
TIberiu Mitglied
19:14:10 07.09.2006 Titel: |
|
Zitieren |
Wow danke das ging schnell
Bei mir geht irgendwie das mit den Befehle anzeigen leider nicht
Gibts auch eine möglichkeit den Cursor zu deaktivieren ? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
19:22:31 07.09.2006 Titel: |
|
Zitieren |
|
 |
Xalazhar
Unregistrierter
|
Xalazhar Unregistrierter
12:08:05 22.09.2006 Titel: |
|
Zitieren |
IC scheint ja ziemlich interessant zu sein, leider habe ich keine möglichkeit es zu testen. Ich bin noch recht neu in cpp und würde gern wissen ob es möglich ist IC auf Linux zu portieren. Ich arbeite zwar mit Windows compiliere aber unter Cygwin mit g++
leider mault g++ das es eine tchar.h nicht finden kann.
Gibt es eine möglichkeit IC trotzdem unter Linux zu verwenden? |
|
|
|
 |
Martin L
Unregistrierter
|
Martin L Unregistrierter
01:16:56 11.10.2006 Titel: |
ich bin glaub ich echt doooof |
Zitieren |
naja ich habe folgendes Problem:
ich habe dev C++ und weiß jetzt nicht genau wie ich improved console mit meinem Compilierer bakannt machen soll. Ich habe auch mal das Dev C++ paket runtergeladen aber das kam mir auch sehr suspekt vor und da wusste ich dann auch nciht weiter.....
ich hänge also schon ganz am start obwohl der rest denke ich dann hoffentlich klappt
ich erhoffe schnelle hilfe und sag schon mal danke |
|
|
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
17:09:23 06.11.2006 Titel: |
|
Zitieren |
@Xalazhar:
Eine Verwendung in Linux ist ausgeschlossen, so hart das klingt, leider ist es so. Die IC kapselt einfach Funktionen der WinAPI, die die Konsole betreffen und macht diese zugänglicher und überschaubarer. Nun gibt es eben diese WinAPI, wie du sicher schon weißt, nur für Windows. Von daher keine Chance auf Linux, da müsste man eine Linux IC proggen, die die Linux API des Kernels kapselt, aber das ist, meines Erachtens nach, nicht geplant.
@Martin L
Welche Fragen hast du denn zum Bekanntmachen? Hast du früher schon mit Dev Packages gearbeitet? Außerdem welche Version von DevC++ benutzt du? Da ich der Maintainer (danke dir SideWinder, dass du mich mit dem Wort bekannt gemacht hast ), also der Entwickler des Packages bin( nicht aber der IC, das ist SideWinder), richtest du deine Fragen bezüglich dem Umgang mit DevC++ und der IC am Besten an mich, auch sonst stehen ich dir immer gern zu Fragen zur IC zur Verfügung, sollte ich sie denn beantworten können und SideWinder nicht in der Nähe sein. |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
Zuletzt bearbeitet von Kevinus am 17:11:12 06.11.2006, insgesamt 2-mal bearbeitet |
|
 |
Infinite Loop
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
|
Infinite Loop Mitglied
16:32:42 25.11.2006 Titel: |
|
Zitieren |
Mahlzeit!
Erstmal ein riesiges Kompliment an Sidewinder: IC ist echt der Wahnsinn! Erinnert mich sehr an meine seeligen C64-Zeiten zurück.
Wie auch immer, ich hab da eine Frage bei der sich die Profis vermutlich schreiend an den Kopf fassen werden: Kann ich irgendwie mehrere Konsolen-Fenster öffnen? Mein Ziel ist es, bei Bedarf ein zweites Konsolen-Fenster einzublenden, das quasi als Hilfe-Fenster fungiert.
Falls das nicht funktionieren sollte (und davon gehe ich aus - zu fragen schadet hoffentlich trotzdem nicht), kann mich jemand zu einer Website weiterleiten, wo erklärt wird, wie man das aktuelle Konsolen-Fenster ausliest und zwischenspeichert und es auch wiederherstellt?
Danke! |
Zuletzt bearbeitet von Infinite Loop am 16:33:01 25.11.2006, insgesamt 1-mal bearbeitet |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
16:54:42 25.11.2006 Titel: |
|
Zitieren |
|
 |
Infinite Loop
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
|
Infinite Loop Mitglied
17:32:22 25.11.2006 Titel: |
|
Zitieren |
Mahlzeit!
Vielen Dank! Hab's schon auspropiert (das angegebene Beispiel modifiziert) und es funktioniert. |
|
|
|
 |
Marc++us
Administrator
Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17110
|
Marc++us Administrator
19:27:38 28.11.2006 Titel: |
|
Zitieren |
Side, muß Dich hier mal loben, ich wußte davon gar nichts, hab's per Zufall gesehen, die IC hat seit meinem ersten Minifundament ja mächtig zugelegt... gute Arbeit. |
_________________ Viele Grüße
Marc++us
C++.de
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
18:44:03 29.11.2006 Titel: |
|
Zitieren |
|
 |
Infinite Loop
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
|
Infinite Loop Mitglied
21:03:29 16.12.2006 Titel: |
|
Zitieren |
Ich bilde mir ein, in den Weiten dieser Foren irgendwo gelesen zu haben, dass es mal eine Version der Improved Console gab, bei der man die Textcolor während der Ausgabe eines Strings ändern konnte. Stimmt das, oder habe ich mir das nur erträumt? Und wenn's stimmt, wo finde ich das?
EDIT: Und bevor mich jemand auf die Suchfunktion des Forums verweist: Habe ich mehrfach probiert aber nichts gefunden. Entweder bin ich zu blöd für die Suchfunktion (glaub' i obah net), oder die Suchfunktion kann Beiträge für "Improved Console" nicht finden, wenn man als Suchbegriff "console" eingibt. Nicht einmal dieser Threat hier wurde gefunden. |
_________________ ERROR: bad user (USER_TYPE = HUMAN)
DETAIL: user knowledge and/or intelligence insufficient
COOPERATION WITH USER TERMINATED
Zuletzt bearbeitet von Infinite Loop am 21:06:59 16.12.2006, insgesamt 1-mal bearbeitet |
|
 |
Kevinus
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
|
Kevinus Mitglied
22:33:27 16.12.2006 Titel: |
|
Zitieren |
Wie meinst du das genau? Du kannst doch einfach die Ausgabe des Strings zerteilen und währenddessen eine textcolor-anweisung einfügen? |
_________________ "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet."
- Nietzsche
|
|
 |
Infinite Loop
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
|
Infinite Loop Mitglied
13:07:13 17.12.2006 Titel: |
|
Zitieren |
| Kevinus schrieb: | | Wie meinst du das genau? |
Wenn ich mich recht erinnere, hat da jemand eine kleine Funktion gebastelt, die man mit std::cout verwenden konnte. So in der Art wie:| C/C++ Code: | | std::cout << Funktion(FG_YELLOW) << "Gelber Text gefolgt von " << Funktion(FG_BLUE) << "blauem Text"; | |
| C/C++ Code: | | std::cout << Funktion(FG_YELLOW) << "Gelber Text gefolgt von " << Funktion(FG_BLUE) << "blauem Text"; | |
| C/C++ Code: | | std::cout << Funktion(FG_YELLOW) << "Gelber Text gefolgt von " << Funktion(FG_BLUE) << "blauem Text"; | |
| Kevinus schrieb: | | Du kannst doch einfach die Ausgabe des Strings zerteilen und währenddessen eine textcolor-anweisung einfügen? |
Ja, schon. Aber wenn man eine Bildschirm-Maske mit vielen Farbwechseln bauen will, wird der Quellcode sehr schnell unnötig lang und unübersichtlich.| C/C++ Code: | textcolor(FG_YELLOW);
std::cout << "Gelber Text gefolgt von ";
textcolor(FG_BLUE);
std::cout << "blauem Text"; | |
| C/C++ Code: | textcolor(FG_YELLOW);
std::cout << "Gelber Text gefolgt von ";
textcolor(FG_BLUE);
std::cout << "blauem Text"; | |
| C/C++ Code: | textcolor(FG_YELLOW);
std::cout << "Gelber Text gefolgt von ";
textcolor(FG_BLUE);
std::cout << "blauem Text"; | |
|
_________________ ERROR: bad user (USER_TYPE = HUMAN)
DETAIL: user knowledge and/or intelligence insufficient
COOPERATION WITH USER TERMINATED
Zuletzt bearbeitet von Infinite Loop am 13:07:56 17.12.2006, insgesamt 1-mal bearbeitet |
|
 |
Infinite Loop
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
|
Infinite Loop Mitglied
11:58:16 18.12.2006 Titel: |
|
Zitieren |
Hab's gefunden! Allerdings nicht über die Suchfunktion des Forums (die mag mich anscheinend nicht ), sondern durch manuelles Suchen. Egal, Hauptsache ich hab's jetzt. |
_________________ ERROR: bad user (USER_TYPE = HUMAN)
DETAIL: user knowledge and/or intelligence insufficient
COOPERATION WITH USER TERMINATED
|
|
 |
Blacker
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.11.2006
Beiträge: 10
|
Blacker Mitglied
18:40:25 23.01.2007 Titel: |
Re: Gleiches Problem |
Zitieren |
| Proximo schrieb: | Ich hab ebenfalls folgendes bekommen:
| C/C++ Code: | Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)". ic.obj
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)". ic.obj
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)". ic.obj | |
| C/C++ Code: | Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)". ic.obj
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)". ic.obj
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)". ic.obj | |
| C/C++ Code: | Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)". ic.obj
Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)". ic.obj
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)". ic.obj | |
Gibt es da schon eine Lösung?
SDK installiert, beide Quelldateien geladen, main.cpp mit folgendem Inhalt:
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
} | |
Ich hoffe auf eine Antwort.
MFG Proximo |
HI,
ich hab genau das selbe Problem, hab auch VC++ EE und Plattform SDK nachhttp://www.c-plusplus.de/forum/viewtopic-var-t-is-143003.html installiert.
Wisst ihr, woran das liegt? Muss ich noch irgendwas einstellen? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
10:27:25 26.01.2007 Titel: |
|
Zitieren |
|
 |
Blacker
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.11.2006
Beiträge: 10
|
Blacker Mitglied
15:48:36 27.01.2007 Titel: |
|
Zitieren |
Es funktioniert jetzt, hatte zuvor Win32 Konsolenprojekt begonnen, das funktionierte nicht.
Wenn ich jedoch einfach ein leeres Projekt starte, klappt alles bestens. Weiß jmd woran das liegt? Hatte eigentlich gedacht Win32 wäre für die Konsole der richtige Anwendungstyp!? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
15:56:45 27.01.2007 Titel: |
|
Zitieren |
|
 |
Blacker
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.11.2006
Beiträge: 10
|
Blacker Mitglied
16:04:42 27.01.2007 Titel: |
|
Zitieren |
ja, das hatte ich auch genommen, funktionierte aber nicht. Es funktioniert (zumindest jetzt) nur bei einem leeren Projekt... |
|
|
|
 |
audacia
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.02.2005
Beiträge: 3881
|
audacia Mitglied
19:00:38 08.05.2007 Titel: |
|
Zitieren |
| SideWinder schrieb: | | Am Borland-Support wird gearbeitet, sollte soweit uach schon klappen, doch irgendwas versteht der Borland an HMODULE nicht. | Welche Version des BCC verwendest du? Mit BCC 5.6.4 (C++Builder 6) und BCB 5.8.2 (C++Builder 2006) läßt sich die IC problem- und warnungslos übersetzen.
Nur die "Mover"-Demo bedarf einer Änderung:
| C/C++ Code: | #include <conio.h> // Für _getch()
#include "ic.hpp" // Includieren der Improved Console
using namespace ic; // Auflösen des Improved Console-Namespace
using namespace ic::shorties; // Für die Verwendung von Shorties (Siehe unten) | |
| C/C++ Code: | #include <conio.h> // Für _getch()
#include "ic.hpp" // Includieren der Improved Console
using namespace ic; // Auflösen des Improved Console-Namespace
using namespace ic::shorties; // Für die Verwendung von Shorties (Siehe unten) | |
| C/C++ Code: | #include <conio.h> // Für _getch()
#include "ic.hpp" // Includieren der Improved Console
using namespace ic; // Auflösen des Improved Console-Namespace
using namespace ic::shorties; // Für die Verwendung von Shorties (Siehe unten) | |
Bei Borland enthält die conio.h bereits eine Funktion namens gotoxy(), so daß eine Mehrdeutigkeit entsteht. Das Problem läßt sich lösen, wenn man entweder ::gotoxy() (conio.h) oder ic::shorties::gotoxy() (IC) verwendet.
Btw, wie wäre es, wenn die IC eine Alternative zu getch() anbieten würde? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
19:18:32 08.05.2007 Titel: |
|
Zitieren |
Leute berichteten immer wieder, dass der Einsatz nicht möglich sei. Vielleicht haben sie aber auch nur Probleme mit dem Einbinden der IC
Alternative zu getch() wäre ein ReadConsole()-InputStream ähnlich cout/cin mit strikter Typüberprüfung und einer RAW-Lesemöglichkeit. Das braucht Zeit und kommt frühestens nach meiner Matura. Wäre aber in der Tat eine Version 5.0 wert.
In der sollen dann auch endlich mal "Multiple screen buffers" unterstützt werden.
MfG SideWinder |
_________________ http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
|
|
 |
audacia
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.02.2005
Beiträge: 3881
|
audacia Mitglied
23:42:42 08.05.2007 Titel: |
|
Zitieren |
| SideWinder schrieb: | | Leute berichteten immer wieder, dass der Einsatz nicht möglich sei. | Was für Leute waren das? Und von welchen Problemen berichteten sie?
| SideWinder schrieb: | | Alternative zu getch() wäre ein ReadConsole()-InputStream ähnlich cout/cin mit strikter Typüberprüfung und einer RAW-Lesemöglichkeit. Das braucht Zeit und kommt frühestens nach meiner Matura. Wäre aber in der Tat eine Version 5.0 wert. | Möglicherweise wäre eine Implementation von getch() für dich interessant. Wenn bei Visual C++ der RTL-Quelltext mitgeliefert ist (bei Turbo C++ ist er das), schau doch dort mal rein.
Aber schulische Abschlüsse gehen natürlich vor |
|
|
|
 |
2lips
Unregistrierter
|
2lips Unregistrierter
15:35:16 11.05.2007 Titel: |
|
Zitieren |
Ich habe dasselbe Problem, obwohl ich gar keine externen Verweise auf meine
Funktionen habe.
Das Problem hat also sicher nichts mit Falschinstallieren der SDK zu tun.
Bei mir kommt das Problem wenn ich einen Funktionsaufruf
so wie hier ---> merltris_highscores.newscore( punktestand);
mache. Punktestand ist vom Typ int. |
|
|
|
 |
2lips
Unregistrierter
|
2lips Unregistrierter
15:38:10 11.05.2007 Titel: |
|
Zitieren |
So, ich nochmal.
Bei mir ist der Fehler jetzt weg.
Habe einfach vergessen, die Funktionsdefinition für newscore zu
implementieren |
|
|
|
 |
El Kassem
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.05.2007
Beiträge: 33
|
El Kassem Mitglied
19:33:31 23.05.2007 Titel: |
|
Zitieren |
Hallo,
Ich hab da irgendwie ein fehler
bei mir kommen folgende Fehler wenn ich es komplilieren will :
[Linker error] undefined reference to `ic::con'
[Linker error] undefined reference to `ic::Console::setTextColor(ic::TextColor)'
ld returned 1 exit status
das ist mein source :
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
}
| |
danke ! |
|
|
|
 |
mikey
Mitglied
Benutzerprofil
Anmeldungsdatum: 26.05.2006
Beiträge: 1724
|
mikey Mitglied
19:38:41 23.05.2007 Titel: |
|
Zitieren |
Hast du die *.cpp-Datei der Improved Console auch zu deinem Projekt hinzugefügt? Mit welcher IDE arbeitest du? |
|
|
|
 |
GeneSys_Centauri
Unregistrierter
|
GeneSys_Centauri Unregistrierter
14:31:24 04.07.2007 Titel: |
Improved Console nicht erreichbar? |
Zitieren |
Hallo zusammen,
.. wollte mir gerade die Improved Console herunterladen und stelle fest das der Host down ist :/ Google-Recherche liefert auch keine Mirror-Seiten .. ist das Projekt endgültig verloren, oder hab ich noch eine Chance das irgendwo her zu bekommen?
Schöne Grüße |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
14:39:48 04.07.2007 Titel: |
|
Zitieren |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
14:44:31 04.07.2007 Titel: |
|
Zitieren |
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
14:45:55 04.07.2007 Titel: |
|
Zitieren |
|
 |
3ercompact
Mitglied
Benutzerprofil
Anmeldungsdatum: 24.07.2007
Beiträge: 2
|
3ercompact Mitglied
22:44:51 08.08.2007 Titel: |
bin ich einfach zu doof? |
Zitieren |
Hi.
Ich bin zwar nicht sicher, ob die Frage "wirklich" hier rein gehört, aber:
ich raff einfach nicht, wie das mit dem Fullscreen-mode (oder doch One-Screen-Mode?) gemacht wird..
Aus der Codevervollständigung von DEVC++ werde ich leider nicht schlauch,
da hab ich nur "Varibale SETCONSOLEDISPLAYMODE SetConsoleDisplayMode" drin stehen.
Würde halt gerne die Fenstergröße auf eine feste Größe einstellen..
Aber wie genau das jetzt eingesetzt wird verstehe ich nicht...
Hab auch schon sicher ne Halbe Stunde nach nem Beispielcode gesucht, der das bentutz, bin aber jedes mal wieder hier gelandet... *schnaub* |
Zuletzt bearbeitet von 3ercompact am 22:47:07 08.08.2007, insgesamt 2-mal bearbeitet |
|
 |
Und ich
Unregistrierter
|
Und ich Unregistrierter
12:26:29 29.09.2007 Titel: |
|
Zitieren |
Und ich raff einfach nicht, wie ich di IC entpacken kann. Bei mir ist keine zip-datei vorhanden. *grins* |
|
|
|
 |
Consoler
Unregistrierter
|
Consoler Unregistrierter
15:11:22 29.09.2007 Titel: |
|
Zitieren |
Ich habe eine kleine Wishlist für IC5.0:
- Unicodesupport! Ich will das deutsche Umlaute und ggf. andere schön dargestellt werden.
Hier steht wies geht:
http://c-plusplus.de/forum/viewtopic-var-t-is-193737.html
- Eigene getch-Methode. Nicht alle haben Borland
- Abkehr von C++ IO-Streams. Die sind nicht für Unicode ausgelegt.
- schönerer code |
|
|
|
 |
Consoler
Unregistrierter
|
Consoler Unregistrierter
15:15:18 29.09.2007 Titel: |
|
Zitieren |
achja, mit schönerem code meinte ich sowas:
Statt| C/C++ Code: | | void Console::enableWndBufMode () | |
| C/C++ Code: | | void Console::enableWndBufMode () | |
| C/C++ Code: | | void Console::enableWndBufMode () | |
soll | C/C++ Code: | | void console::enable_window_buffer_mode (void) | |
| C/C++ Code: | | void console::enable_window_buffer_mode (void) | |
| C/C++ Code: | | void console::enable_window_buffer_mode (void) | |
oder statt | C/C++ Code: | | SetConsoleDisplayMode(hConsoleOutput,CONSOLE_WINDOWED_MODE,&newScreenBufferDimensions); | |
| C/C++ Code: | | SetConsoleDisplayMode(hConsoleOutput,CONSOLE_WINDOWED_MODE,&newScreenBufferDimensions); | |
| C/C++ Code: | | SetConsoleDisplayMode(hConsoleOutput,CONSOLE_WINDOWED_MODE,&newScreenBufferDimensions); | |
sollte
| C/C++ Code: | | SetConsoleDisplayMode (hConsoleOutput, CONSOLE_WINDOWED_MODE, &newScreenBufferDimensions); | |
| C/C++ Code: | | SetConsoleDisplayMode (hConsoleOutput, CONSOLE_WINDOWED_MODE, &newScreenBufferDimensions); | |
| C/C++ Code: | | SetConsoleDisplayMode (hConsoleOutput, CONSOLE_WINDOWED_MODE, &newScreenBufferDimensions); | |
werden. In jeder normalen Sprache (z. B. Englisch, Deutsch usw.) wird auch hinter einem Komma ein Leerschritt gesetzt. Auch in Foren ist es besser für Zeilenumbrüche wenn der Code zu lang wird
Ist erheblich schöner im aussehen und leichter zu lesen, als so cryptischer kram. sind ja nicht mehr im Jahre 1988
Würde mir auch Rückgabewerte wünschen! |
|
|
|
 |
chili[gast]
Unregistrierter
|
chili[gast] Unregistrierter
16:06:25 01.10.2007 Titel: |
|
Zitieren |
hallo, bräuchte mal eure hilfe. hab MVS C++ express, SDK installiert aber wenn ich jetzt einen einfachen code wie diesen hier:
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 | 1 2 3 4 5 6 7 8 9 10 11 | #include <iostream>
#include "ic.hpp"
using namespace std;
using namespace ic::shorties;
using namespace ic;
int main()
{
textcolor(FG_RED);
return 0;
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 | #include <iostream>
#include "ic.hpp"
using namespace std;
using namespace ic::shorties;
using namespace ic;
int main()
{
textcolor(FG_RED);
return 0;
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 | #include <iostream>
#include "ic.hpp"
using namespace std;
using namespace ic::shorties;
using namespace ic;
int main()
{
textcolor(FG_RED);
return 0;
}
| |
kompilieren will kommen folgende Fehlermeldungen:
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)".
1>ic.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)".
und daraus werd ich net schlau, ic.hpp & ic.cpp hab ich im projekt eingebunden.
ich hoffe ihr könnt mir helfen |
|
|
|
 |
ncurses-Fan
Unregistrierter
|
ncurses-Fan Unregistrierter
18:03:18 01.10.2007 Titel: |
ncurses > ic |
Zitieren |
|
 |
ROFL
Unregistrierter
|
ROFL Unregistrierter
08:33:29 02.10.2007 Titel: |
Re: ncurses > ic |
Zitieren |
scheiss auf portabler! das hier ist das Forum "DOS und Win32-Konsole" was will man hier mit deinem Murks? |
|
|
|
 |
langeweile
Mitglied
Benutzerprofil
Anmeldungsdatum: 13.07.2007
Beiträge: 505
|
langeweile Mitglied
09:59:23 02.10.2007 Titel: |
|
Zitieren |
pdcurses!!! |
Zuletzt bearbeitet von langeweile am 09:59:38 02.10.2007, insgesamt 1-mal bearbeitet |
|
 |
ROFL
Unregistrierter
|
ROFL Unregistrierter
13:25:42 02.10.2007 Titel: |
|
Zitieren |
| langeweile schrieb: | pdcurses!!!  | jo, noch mehr murks, wenn man sich den Quellcode allein schon ansieht, bekommt man einen Lachkrampf und kann eigentlich nur noch den Kopfschütteln...
Absolut schlechter Code, schlecht Kommentiert, Buggy (Kein wunder bei Frickelcode und globalen Variablen) und man soll für seine Konsolenanwendung noch was extra dazulinken von Dritten und ggf. eine DLL von Dritten mitliefern?
Erbärmlich... |
|
|
|
 |
realist
Unregistrierter
|
realist Unregistrierter
16:12:50 02.10.2007 Titel: |
|
Zitieren |
Allein schon bei sowas, bekommt ein richtiger Programmierer ja schon Alpträume:
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | static int _get_font(void)
{
int retval;
retval = getdosmemword(0x485);
/* Assume the MDS Genius is in 66 line mode. */
if ((retval == 0) && (pdc_adapter == _MDS_GENIUS))
retval = _FONT15;
switch (pdc_adapter)
{
case _MDA:
retval = 10; /* POINTS is not certain on MDA/Hercules */
break;
case _EGACOLOR:
case _EGAMONO: | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | static int _get_font(void)
{
int retval;
retval = getdosmemword(0x485);
/* Assume the MDS Genius is in 66 line mode. */
if ((retval == 0) && (pdc_adapter == _MDS_GENIUS))
retval = _FONT15;
switch (pdc_adapter)
{
case _MDA:
retval = 10; /* POINTS is not certain on MDA/Hercules */
break;
case _EGACOLOR:
case _EGAMONO: | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | static int _get_font(void)
{
int retval;
retval = getdosmemword(0x485);
/* Assume the MDS Genius is in 66 line mode. */
if ((retval == 0) && (pdc_adapter == _MDS_GENIUS))
retval = _FONT15;
switch (pdc_adapter)
{
case _MDA:
retval = 10; /* POINTS is not certain on MDA/Hercules */
break;
case _EGACOLOR:
case _EGAMONO: | |
Nicht mal an die Namenskonventionen für Compiler-Hersteller wurde gedacht - im gegenteil! Sie wird mit Füßen regelrecht getreten! Nicht mal Coding-Conventions scheinen für sowas bei diesem Frickel-Code zu existieren. Wie kann man nur so unklug sein und so einen Murks beführworten, "langeweile" und "ncurses-Fan"?
Das solche Software überhaupt im Umlauf ist, ist mehr als nur grob fahrlässig... |
|
|
|
 |
Schurke
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.07.2006
Beiträge: 318
|
Schurke Mitglied
23:58:56 21.12.2007 Titel: |
|
Zitieren |
hi, ich habe ic jetzt in mein bcb 6 integriert, nur wo stehen die verfügbaren befehle für ic?
kk. habs raus, man muss mit con.
danke ^^ ( konntes aus den beiträgen ableiten ) |
Zuletzt bearbeitet von Schurke am 00:21:59 22.12.2007, insgesamt 4-mal bearbeitet |
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
19:45:06 26.12.2007 Titel: |
|
Zitieren |
hi,
finde die IC ganz cool, kann sie vielseitig anwenden und hab sie um viele eigene funktionen erweitert, aber hab noch 2 fragen.
In der MoverDemo seht ja am Ende folgendes:
// Wie geht es weiter?
// Man lernt sehr leicht, wenn man sich mit der Improved Console etwas
// beschäftigt! Ganz einfach ein neues Projekt anlegen, die Improved Console
// einbinden und loslegen. Gebt "con." in die main()-Funktion ein und schon
// erhaltet ihr eine Liste von Methoden die ihr benützen könnt. Eine Liste
// aller Shorties erhält ihr mit Eingabe von "ic::shorties::"
//
// Viel Spaß!
Wie ist ds gemeint? wenn ich con. oder ic::shorties:: eingebe, kommt garnichts, so als ob da kein Befehl stehen würde.
Ist aber nicht so wichtig weil ich mir das meiste vom code erschließen kann, nur bei ein paar wenigen funktionen weiß ich nicht was ich damit anfangen kann.
Und wie macht man das weg, dass man nicht scrollen kann?
Also diesem One-Screen-Mode, der ist komischerweise von anfang an einstestellt.
mfg :xmas1: |
_________________ learning C/C++, C# and DirectX!
|
|
 |
^^
Unregistrierter
|
^^ Unregistrierter
21:32:11 26.12.2007 Titel: |
|
Zitieren |
In visual studio geht das nur |
|
|
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
21:39:21 26.12.2007 Titel: |
|
Zitieren |
k thx...
falls es jemanden interessiert hier 2 funktionen von mir, die ihr einfügen könnt.
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::grafladen(int x)
{
setCurPos(10, 24);
con.setTextColor(FG_GREEN); // Neue Textfarbe setzen
con.setBgColor(BG_RED); // Neue Hintergrundfarbe setzen
cout << " ";
//eine sekunde = 17
int s;
s = x * 17;
setCurPos(10, 24);
for (int i=0; i<=59; i++)
{
cout << char(219);
Sleep(s);
}
}
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::grafladen(int x)
{
setCurPos(10, 24);
con.setTextColor(FG_GREEN); // Neue Textfarbe setzen
con.setBgColor(BG_RED); // Neue Hintergrundfarbe setzen
cout << " ";
//eine sekunde = 17
int s;
s = x * 17;
setCurPos(10, 24);
for (int i=0; i<=59; i++)
{
cout << char(219);
Sleep(s);
}
}
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::grafladen(int x)
{
setCurPos(10, 24);
con.setTextColor(FG_GREEN); // Neue Textfarbe setzen
con.setBgColor(BG_RED); // Neue Hintergrundfarbe setzen
cout << " ";
//eine sekunde = 17
int s;
s = x * 17;
setCurPos(10, 24);
for (int i=0; i<=59; i++)
{
cout << char(219);
Sleep(s);
}
}
}
| |
int x = 1 wär dann für eine sekunde
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::laden(int x)
{
con.setCurPos (70, 23);
cout << "loading";
for(int i =1; i<=x; i++)
{
con.setCurPos (77, 23);
cout << ". ";
Sleep(333);
con.setCurPos (78, 23);
cout << ".";
Sleep(333);
con.setCurPos (79, 23);
cout << ".";
Sleep(333);
}
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::laden(int x)
{
con.setCurPos (70, 23);
cout << "loading";
for(int i =1; i<=x; i++)
{
con.setCurPos (77, 23);
cout << ". ";
Sleep(333);
con.setCurPos (78, 23);
cout << ".";
Sleep(333);
con.setCurPos (79, 23);
cout << ".";
Sleep(333);
}
}
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Console::laden(int x)
{
con.setCurPos (70, 23);
cout << "loading";
for(int i =1; i<=x; i++)
{
con.setCurPos (77, 23);
cout << ". ";
Sleep(333);
con.setCurPos (78, 23);
cout << ".";
Sleep(333);
con.setCurPos (79, 23);
cout << ".";
Sleep(333);
}
}
| |
das selbe gilt hierbei
hab nochenpaar aber die sind unnütz
:xmas1: |
_________________ learning C/C++, C# and DirectX!
|
|
 |
der wahrsager
Unregistrierter
|
der wahrsager Unregistrierter
21:47:33 26.12.2007 Titel: |
|
Zitieren |
die sind doch auch unnützlich, weil sie nur auf Improved C. funktionen zugreifen |
|
|
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
21:58:39 26.12.2007 Titel: |
|
Zitieren |
öhmmm joa is doch net schlimm oder? |
_________________ learning C/C++, C# and DirectX!
|
|
 |
der wahrsager
Unregistrierter
|
der wahrsager Unregistrierter
22:42:51 26.12.2007 Titel: |
|
Zitieren |
nein, aber man kann doch ja auch so die hintergrundfarbe setzen. für die funktion laden könntest du dir was besseres einfallen lassen, zbsp. nen zweiten Parameter, der zbsp etwas berechnet oder was spezielles ausgibt. |
|
|
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
22:54:29 26.12.2007 Titel: |
|
Zitieren |
ya, soll ja nichts besonderes sein, soll auch nicht für wartezeiten in der konsole sein, sondern wenn zum beispiel im hintergrund nen prog geöffnen werden soll.
Für berechnungen in der Konsole kann mans ya anpassen . |
_________________ learning C/C++, C# and DirectX!
|
|
 |
aaaaaaaaaaaaaaaaa
Unregistrierter
|
aaaaaaaaaaaaaaaaa Unregistrierter
22:57:39 26.12.2007 Titel: |
|
Zitieren |
| Gnomecoder schrieb: |
Für berechnungen in der Konsole kann mans ya anpassen . |
eben nicht |
|
|
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
20:27:45 28.12.2007 Titel: |
|
Zitieren |
| Gnomecoder schrieb: |
Und wie macht man das weg, dass man nicht scrollen kann?
Also diesem One-Screen-Mode, der ist komischerweise von anfang an einstestellt.
|
ya die frage hätt ich ja noch, was niemand was?
mfg |
_________________ learning C/C++, C# and DirectX!
|
|
 |
XP^
Mitglied
Benutzerprofil
Anmeldungsdatum: 10.06.2007
Beiträge: 152
|
XP^ Mitglied
18:30:53 29.12.2007 Titel: |
|
Zitieren |
Hallo,
ich glaube nicht,dass das weggeht, den schließlich ist es bei allen Fenstern so.
Die Voraussetzung wäre die Konsole zu strecken, dann musst sehr selten scrollen.
Aber kommt drauf an, was du damit machen möchtest |
_________________ Dual Core Do more,
Quad Core wait more!
|
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
19:27:29 29.12.2007 Titel: |
|
Zitieren |
wie das ist bei allen fesntern so?!
wenn ich ne normale konsolenapplication mache, und in ner for schleife bis 300 zähle, und zwischen jeder zahl nen zeilenumbruch mache, kann icih auch nach oben scrollen und alle zahlen sehen.
Wenn ich die IC eingebunden habe geht das nicht mehr.
Ich will jetzt nicht bis 300 zählen, aber ich brauchs für was anderes.
Ich will nur wissen welche funktion dafür zuständig ist. |
_________________ learning C/C++, C# and DirectX!
|
|
 |
kingcools
Unregistrierter
|
kingcools Unregistrierter
02:10:32 09.01.2008 Titel: |
Problem mit Implementierung der IC |
Zitieren |
Heho, wenn ich die IC inkludiere und das auf der HP angegebene Testprogramm ausführe, erhalte ich folgende Fehler:
Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall ic::Console::setTextColor(enum ic::TextColor)" (?setTextColor@Console@ic@@QAEXW4TextColor@2@@Z)" in Funktion ""void __cdecl ic::shorties::textcolor(enum ic::TextColor)"
(?textcolor@shorties@ic@@YAXW4TextColor@2@@Z)".
1>Sudoku.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""class ic::Console & ic::con" (?con@ic@@3AAVConsole@1@A)".
[...]Visual Studio 2005\Projects\Sudoku\Debug\Sudoku.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
Mein Code ist folgender:
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | 1 2 3 4 5 6 7 8 9 10 11 12 13 | #include "stdafx.h"
#include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
}
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | #include "stdafx.h"
#include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
}
| |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | #include "stdafx.h"
#include <iostream>
#include "ic.hpp"
using namespace ic;
using namespace ic::shorties;
using namespace std;
int main ()
{
textcolor(FG_RED);
cout << "Hello World" << endl;
return 0;
}
| |
und ich verwende Visual C++ Express.
Hat jemand ne Ahnung was ich falsch mache ??
Die Libraries sind im Projektordner!^^
Vielen Dank für eure Hilfe =) |
|
|
|
 |
unregistreterno1
Unregistrierter
|
unregistreterno1 Unregistrierter
13:19:55 15.01.2008 Titel: |
|
Zitieren |
es reicht net wenn die header im projektordner sind, sie müssen mit eingebunden sein! |
|
|
|
 |
kingcools
Unregistrierter
|
kingcools Unregistrierter
15:49:06 15.01.2008 Titel: |
|
Zitieren |
??? sind sie doch oo oder eine andere einbindung als "#include" ? |
|
|
|
 |
CStoll
Moderator
Benutzerprofil
Anmeldungsdatum: 17.10.2005
Beiträge: 17913
|
CStoll Moderator
16:58:38 15.01.2008 Titel: |
|
Zitieren |
Ja, es gibt noch eine andere Einbindung - für den Linker (d.h. du mußt die CPP Datei mit in dein Projekt reinpacken, damit sie parallel zum Hauptprogramm übersetzt werden kann).
(das #include ist eine reine Textersetzung - und damit informierst du den Compiler, daß diese Funktionen existieren. Der Linker benötigt aber zusätzlich noch den Inhalt der Funktionen, und den bekommt er, indem du ihm neben der Hauptdatei auch die obj (erstellt der Compiler aus allen CPPs des Projekts) oder lib übergibst)) |
_________________ Wo ich bin, herrscht Chaos. Leider kann ich nicht überall sein.
Moderator im MFC- und C++-Board und Magazin-Autor
|
|
 |
Bitburger
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.03.2008
Beiträge: 2
|
Bitburger Mitglied
19:33:03 03.03.2008 Titel: |
Fehler beim Complieren |
Zitieren |
Hallo zusammen,
IC ist genau das was ich für mein Projekt suche.
Aber der Compiler (Visual Studio 6) gibt die gleichen Fehler aus wie bei xeniter (" bei mir kommen 4 fehler ").
error C2065: 'GetConsoleWindow' : nichtdeklarierter Bezeichner
error C2440: 'initializing' : 'int' kann nicht in 'struct HWND__ *' konvertiert werden
error C2439: 'hWnd' : Element konnte nicht initialisiert werden
error C2065: 'GetConsoleDisplayMode' : nichtdeklarierter Bezeichner
Die Antwort von Sidewinder war ein Verweis auf seine Seite, die aber nun nicht mehr da ist ...
Zitat: "http://ic.sidewindershome.net/Download.php -> Alles was unter "Wichtig" steht lesen"
Die Funktion 'GetConsoleWindow' ist auch nirgends zu finden.
Wer kann helfen ?
Martin |
|
|
|
 |
Swordfish
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.03.2005
Beiträge: 2805
|
Swordfish Mitglied
20:21:48 03.03.2008 Titel: |
|
Zitieren |
Installier' eine aktuelle Platform-SDK.
greetz, Swordfish |
_________________ Thou shall not fflush stdin!
Thou shall not cast void pointers! And therefore
Thou shall not cast the result of malloc!
|
|
 |
Bitburger
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.03.2008
Beiträge: 2
|
Bitburger Mitglied
17:43:30 04.03.2008 Titel: |
|
Zitieren |
Hm - Platform SDK - gut.
Aber ich fürchte mein Compler wird davon alleine nix merken.
Müßte man schon was dazu linken oder dem Projekt einverleiben damit sich was ändert.
Hab es jetzt auch mal mit conioex.hpp und conioex.cpp vón www.tbkoenig.de probiert. Läuft sofort ohne zu zicken.
Martin |
|
|
|
 |
bitte um hilfe
Unregistrierter
|
bitte um hilfe Unregistrierter
16:06:45 10.03.2008 Titel: |
ic unter vs2005 nutzen??? |
Zitieren |
Hi,
erst mal großes lob, die ic ist klasse, aber ich kriegs net hin sie unter vs2005 zu nutzen. also mein problem hat nicht viel mit der ic an sich zu tun, sondern wie ich header einbinde.
Unter dev c++ kann ich die ic problemlos nutzen, aber wie mach ich das denn in vs2005?
Also angenommen ich hab nen ganz neues Konsolen projekt.
Ich geh auf "headerdateien" und mach auf Hinzufügen, und wähl die ic.hpp aus, die natürlich im projelt ordner ist.
Das selbe mach ich für die ic.cpp bei quelldateien. Aber trotzdem kann ich die ic net nutzen!!!
Könnte mir bitte jemand genau erklären wie ich das einbinde?
wäre sehr dankbar!!!!!
mfg |
|
|
|
 |
Gnomecoder
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
|
Gnomecoder Mitglied
13:02:31 19.03.2008 Titel: |
|
Zitieren |
benutz KEINE vorkompilierten header!
die machen dem anfänger nur probleme. |
_________________ learning C/C++, C# and DirectX!
|
|
 |
Skym0sh0
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.03.2008
Beiträge: 1241
|
Skym0sh0 Mitglied
16:26:32 21.05.2008 Titel: |
|
Zitieren |
ich hab en problemchen:
und zwar hab ich mir ne klasse geschrieben und
con.getCurX/y()
und
gotoxy(x, y)
benutzt
allerdings meldet der mir beim kompilieren einige fehlermeldungen
| Visual C++ 2008 schrieb: |
1>------ Erstellen gestartet: Projekt: Funktionen, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Funktion.cpp
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C2061: Syntaxfehler: Bezeichner 'Grad'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : warning C4183: '_LARGE_INTEGER': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ')' vor '+'
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ',' vor '+'
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(235) : error C2059: Syntaxfehler: ')'
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2065: 'Grad': nichtdeklarierter Bezeichner
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : warning C4229: Anachronismus verwendet: Modifizierer der Daten werden ignoriert
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2491: 'I_RpcAllocate': Definition von Daten für dllimport nicht zulässig
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
1>NullStellenMain.cpp
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(7529) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(8651) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9390) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(9859) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10352) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10597) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10607) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10630) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(10853) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2059: Syntaxfehler: '<L_TYPE_raw>'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winnt.h(12303) : error C2238: Unerwartete(s) Token vor ';'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C2061: Syntaxfehler: Bezeichner 'Grad'
1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\winbase.h(5976) : warning C4183: '_LARGE_INTEGER': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ')' vor '+'
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(234) : error C2143: Syntaxfehler: Es fehlt ',' vor '+'
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(235) : error C2059: Syntaxfehler: ')'
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2065: 'Grad': nichtdeklarierter Bezeichner
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : warning C4229: Anachronismus verwendet: Modifizierer der Daten werden ignoriert
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : error C2491: 'I_RpcAllocate': Definition von Daten für dllimport nicht zulässig
1>c:\programme\microsoft sdks\windows\v6.0a\include\rpcdcep.h(279) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
1>Code wird generiert...
1>Das Buildprotokoll wurde unter "file://g:\C++\2008\Funktionen\Funktionen\Debug\BuildLog.htm" gespeichert.
1>Funktionen - 56 Fehler, 4 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
|
wie ihr seht sind das nur stan**** (windows) header dateien
und daran hab ich nix rumgefummelt (mh schlechtes deutsch -.-) |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
03:49:41 26.05.2008 Titel: |
|
Zitieren |
Wenn du die IC nicht verwendest hast du auch bestimmt nicht die selben Fehler? Ich denke, du hast irgendwo eine schließende Klammer vergessen oder einen ähnlichen Syntaxfehler gemacht. Siehe auch anderer Thread.
MfG SideWinder |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
03:52:15 26.05.2008 Titel: |
|
Zitieren |
HINWEIS:
Die Homepage der Improved Console ist derzeit down (der Hosting-Anbieter ist spurlos verschwunden und dürfte seine Rechnungen nicht mehr bezahlt haben...). Einen neuen Hoster habe ich schon, allerdings bin ich derzeit nicht im Lande und kann die Page nicht hochladen. Estimated for: Mid-June 08
MfG SideWinder |
|
|
|
 |
IC User
Unregistrierter
|
IC User Unregistrierter
11:25:32 07.09.2008 Titel: |
|
Zitieren |
Das ist schade, genau heute wollte ich die IC noch mal benutzen - naja, auf jedenfall ist das Projekt nicht gestorben
Für eine IC v5.0 würde ich mir eine Maustunterstüztung wünschen wie unter der guten alten DOS-Zeit.
Weiter so, das Projekt rockt richtig. |
|
|
|
 |
colourlover
Unregistrierter
|
colourlover Unregistrierter
12:13:48 10.10.2008 Titel: |
Farben umdefinieren |
Zitieren |
Die IC ist wirklich klasse, vielen Dank dafür!
Ich möchte einfach mal einen feature request posten, vielleicht ist die Idee ja interessant für den/die Entwickler:
Die 16 Konsolenfarben, die vorgegeben sind, lassen sich unter Windows (XP zumindest) durch einen Rechtsklick auf die Fenstertitelzeile -> Eigenschaften umdefinieren und es können beliebige Werte (24 bit Farben) vergeben werden. Diese Eigenschaften gelten entweder für das aktuelle Fenster oder für alle Fenster mit gleichem Titel.
Wenn es für diese Prozedur auch einen Windows-API Aufruf gibt (was ich nicht weiß), wäre es toll, wenn man mithilfe der IC die Farben umdefinieren könnte bzw. sogar ein angelegtes Farbschema laden könnte. Wenn die Farben in der Registry gesichert sind (was ich vermute) und nicht über die API zugänglich sind, ist es natürlich recht hässlich.
Die 16 Farben sind nämlich gleich viel ausreichender wenn man sie noch selbst definieren kann.
Ist diese Idee toll/doof/uralt/schwer zu implementieren? |
|
|
|
 |
Individual Code
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.01.2009
Beiträge: 7
|
Individual Code Mitglied
15:03:36 03.01.2009 Titel: |
|
Zitieren |
| SideWinder schrieb: | HINWEIS:
Die Homepage der Improved Console ist derzeit down (der Hosting-Anbieter ist spurlos verschwunden und dürfte seine Rechnungen nicht mehr bezahlt haben...). Einen neuen Hoster habe ich schon, allerdings bin ich derzeit nicht im Lande und kann die Page nicht hochladen. Estimated for: Mid-June 08
MfG SideWinder |
Hallo, SideWinder!
Wo kann man sonst noch dein Projekt downloaden?
Some Links?
Greetz & THX im Voraus! |
|
|
|
 |
adfsdj
Unregistrierter
|
adfsdj Unregistrierter
22:32:31 08.04.2009 Titel: |
|
Zitieren |
Jo, wär cool, wenn man das mal wieder anbieten könnte.. |
|
|
|
 |
colourlover
Unregistrierter
|
colourlover Unregistrierter
17:21:19 28.10.2009 Titel: |
|
Zitieren |
|
 |
Ad aCTa
Mitglied
Benutzerprofil
Anmeldungsdatum: 20.12.2008
Beiträge: 866
|
Ad aCTa Mitglied
15:16:48 30.10.2009 Titel: |
asfsdj |
Zitieren |
Da meldet sich ja doch noch einer.
Vielen dank! |
_________________ There are only two kinds of programming languages: those people always bitch about and those nobody uses. - Stroustrup
|
|
 |
Marc++us
Administrator
Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17110
|
Marc++us Administrator
22:02:57 02.11.2009 Titel: |
|
Zitieren |
Hallo,
die ursprüngliche Version wurde nun auch auf diesem Server wieder restauriert:
http://ic.c-plusplus.de |
_________________ Viele Grüße
Marc++us
C++.de
|
|
 |
FreakySmiley
Unregistrierter
|
FreakySmiley Unregistrierter
22:16:49 12.03.2010 Titel: |
|
Zitieren |
Hi,
ich dachte ich kann mit der IC den Puffer des Programms erhöhen, aber so eine funktion giibts in meiner conio.h oder col_conio.h nicht. (setWndSize)
Die hab ich nur für C++ gefunden. Gibts die auch noch für C?
MfG |
|
|
|
 |
licensee
Unregistrierter
|
licensee Unregistrierter
14:15:29 27.04.2011 Titel: |
Unter welcher Lizenz steht die IC? |
Zitieren |
Ist die IC eigentlich frei verwendbar? Public Domain? BSD-Lizenz? |
|
|
|
 |
SideWinder
Moderator
Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
|
SideWinder Moderator
18:25:34 27.04.2011 Titel: |
|
Zitieren |
|
 |
licensee
Unregistrierter
|
licensee Unregistrierter
11:02:46 28.04.2011 Titel: |
|
Zitieren |
Danke für die schnelle Info :-) |
|
|
|
 |