Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: DOS und Win32-Konsole ::  Improved Console 4.0     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
SideWinder
Moderator

Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
Beitrag SideWinder Moderator 00:07:21 07.01.2006   Titel:   Improved Console 4.0            Zitieren

http://ic.c-plusplus.de

Neuer Thread für die neue Version - Viel Spaß! Wünsche, Anregungen und Beschwerden bitte hier hinein :)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/


Zuletzt bearbeitet von Marc++us am 22:02:08 02.11.2009, insgesamt 3-mal bearbeitet
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 11522
Beitrag 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
Beitrag 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
Beitrag SideWinder Moderator 17:04:22 07.01.2006   Titel:              Zitieren

Das Win2k mit SP4 meines Bruders hat auf jeden Fall diese Funktion bereits in der kernel32.dll. Hat jemand noch ein Win2k ohne SP?

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 11522
Beitrag Jochen Kalmbach Moderator 18:11:31 07.01.2006   Titel:              Zitieren

Gibt es auch bei W2k ohne SP (Version 5.0.2191.1)...

Aber aus eigener Erfahrung wird früher oder später der Zeitpunkt kommen, da wird jemand Fragen, ob es nicht auch noch auf NT läuft...
Zumindest war das bei mir so:
http://www.codeproject.com/tools/leakfinder.asp

_________________
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
Beitrag SideWinder Moderator 18:13:11 07.01.2006   Titel:              Zitieren

Netter Artikel :live:

Okay, jemand noch NT 4.0 installiert, der das auch überprüfen könnte? Ich hab leider nichtmal mehr eine NT-CD hier, sonst würde ich eine VM aufsetzen :)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 11522
Beitrag Jochen Kalmbach Moderator 18:57:15 07.01.2006   Titel:              Zitieren

Die gibts tatsächlich auch unter NT4 (4.0.1380.1, ohne SP)... :eek:
Aber "GetConsoleWindow" gibt es natürlich nicht :p

_________________
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
Beitrag 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 :D

Naja bleiben wir bei "Win2k und WinXP only" :)

Danke für die Hilfe! :):live:

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




Beitrag 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
Beitrag SideWinder Moderator 12:29:49 15.01.2006   Titel:              Zitieren

http://ic.sidewindershome.net/Download.php -> Alles was unter "Wichtig" steht lesen :)

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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag AlexH Mitglied 15:07:02 26.01.2006   Titel:   C1010 ?!?            Zitieren

Hallo beisammen!

Da ich "Programmieranfänger" bin habe ich auch die Seite gelesen:
http://ic.sidewindershome.net/Newbies.php
Ich habe die beiden Dateien in ein vorhandenes Win32-Konsolen-Projekt (MS VC++ 2003) eingebunden. Mit dem Ergebnis:
Zitat:
...\ic.cpp(323): fatal error C1010: Unerwartetes Dateiende während der Suche nach der Direktive für die vorkompilierte Headerdatei

Was mache ich da bitte falsch?

Antwort:
http://www.c-plusplus.de/forum/viewtopic-var-t-is-126469-and-highlight-is-c1010.html
sorry...


Mit freundlichen Grüßen
Alex


Zuletzt bearbeitet von AlexH am 15:21:20 26.01.2006, insgesamt 1-mal bearbeitet
chrische5
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.05.2005
Beiträge: 5010
Beitrag 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
Beitrag AlexH Mitglied 15:22:15 26.01.2006   Titel:              Zitieren

Dankeschön!
Habe es gerade gefunden:
http://www.c-plusplus.de/forum/viewtopic-var-t-is-126469-and-highlight-is-c1010.html

Alex
maxf
Mitglied

Benutzerprofil
Anmeldungsdatum: 24.12.2005
Beiträge: 86
Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 02:43:39 05.02.2006   Titel:              Zitieren

Zeile, Compiler, genaue Fehlermeldung?

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
tester521
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 20:26:35 06.02.2006   Titel:              Zitieren

Neues PSDK on board?

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
tester521
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 20:39:25 06.02.2006   Titel:              Zitieren

Versuch mal an die Stelle von "PCOORD" ein "COORD*" zu setzen. Vielleicht klappt das :)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
tester521
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 20:56:22 06.02.2006   Titel:              Zitieren

Die ic.cpp ist dabei beim Linken? Bzw. du hast sie ins Projekt miteingebunden? Wenn nicht: Tu das.

Ansonsten poste mal den ersten Linker-Fehler, mal sehen was du vergessen hast. BTW: Auch Compiler-Info wär mal nett ;)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
tester521
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 21:29:07 06.02.2006   Titel:              Zitieren

-> mover.cpp
-> ic.hpp
-> ic.cpp

muss dabei sein, deins sieht irgendwie verdammt nach fehlender ic.cpp aus :confused:

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
tester521
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 21:55:46 06.02.2006   Titel:              Zitieren

Hast du auch sicher die neueste Version des DevCpp inklusive neuestem WinAPI-Port (ist der schon automatisch dabei?)? Ansonsten ist der DevCpp-Support doch wieder zu streichen und ich habe http://www.c-plusplus.de/forum/viewtopic-var-t-is-132734-and-start-is-20.html missverstanden.

Aber grundsätzlich sollte der DevCpp soweit sein und GetConsoleDisplayMode() shcon portiert haben. Anosnsten gehört er eh aus dem Fenster gekickt :warning:

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/


Zuletzt bearbeitet von SideWinder am 21:56:23 06.02.2006, insgesamt 1-mal bearbeitet
Friedbert
Unregistrierter




Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 20:23:10 17.03.2006   Titel:              Zitieren

Geh an die Stelle wo PCOORD steht und schreib statt "PCOORD" "COORD*".

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
C++Progger
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 20:55:35 17.03.2006   Titel:              Zitieren

Cpp-Datei ebenfalls mit ins Projekt geholt?

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
C++Progger
Unregistrierter




Beitrag 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 :eek: . Die sind alle grau.

MfG, C++Progger
SideWinder
Moderator

Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
Beitrag SideWinder Moderator 21:13:51 17.03.2006   Titel:              Zitieren

Dann hast du kein Projekt erstellt. Datei -> Neu -> Projekt wär angesagt ;)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
C++Progger
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 13:46:56 18.03.2006   Titel:              Zitieren

Hmm sieht ganz so aus als bräuchtest du eine neuere Version der WinAPI für den DevCpp.

http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
C++Progger
Unregistrierter




Beitrag C++Progger Unregistrierter 14:30:39 18.03.2006   Titel:              Zitieren

SideWinder schrieb:
Hmm sieht ganz so aus als bräuchtest du eine neuere Version der WinAPI für den DevCpp.

http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download

MfG SideWinder


Thx. Ws ist das genau?


MfG, C++Progger
C++Progger
Unregistrierter




Beitrag 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
Beitrag SideWinder Moderator 18:15:55 18.03.2006   Titel:              Zitieren

Tip: Wenn du dich registrierst kannst du deine Beiträge auch editieren :)

Freut mich, dass es jetzt funktioniert :)

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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag SideWinder Moderator 10:33:10 26.03.2006   Titel:              Zitieren

Was kannst du mit setcursortype() denn genau bewirken? Ist con.setCurSize(Zahl von 0 - 100) das Richtige?

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
Beitrag 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
Beitrag SideWinder Moderator 11:01:02 26.03.2006   Titel:              Zitieren

con.setCurSize(0) -> _NOCURSOR
con.setCurSize(10) -> _NORMALCURSOR
con.setCurSize(100) -> _SOLIDCURSOR

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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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




Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 12:40:09 07.04.2006   Titel:              Zitieren

Oh, gut zu wissen, dass die beiden Versionen offenbar nicht zusammenpassen. Werd ich mal updaten.

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Preacha
Unregistrierter




Beitrag 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
Beitrag 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
Beitrag 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 :live:

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
Beitrag SideWinder Moderator 14:05:41 09.04.2006   Titel:              Zitieren

Siehe auch: http://www.c-plusplus.de/forum/viewtopic-var-t-is-139228.html

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
Beitrag 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
Beitrag SideWinder Moderator 15:44:44 09.04.2006   Titel:              Zitieren

Wieso willst du die unbedingt kombinieren? Sehe keinen Sinn außer erhöhten Wartungsaufwand.

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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag SideWinder Moderator 16:30:19 10.04.2006   Titel:              Zitieren

Referenz vom Ursprungsobjekt ableiten? Huh? Zeig mal was du da gemacht hast :)

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
Beitrag 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:
Code:
CLog &log;
Code:
CLog &log;
Code:
CLog &log;

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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag SideWinder Moderator 19:27:03 21.04.2006   Titel:              Zitieren

1. Du musst die .cpp-Datei auch wie beschrieben dem Projekt hinzufügen
2. Nein, derzeit ist es rein für C++ gedacht. Aber viele C-Compiler sind ohnehin nur noch C++-Compiler mit einem C-Modus. Mit denen ist es kein Problem.

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
cpfix
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.01.2006
Beiträge: 15
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag chrische5 Mitglied 17:00:41 22.04.2006   Titel:              Zitieren

Hallo

Das entspricht auch genau dem, was ich vermutet hatte. :D :D

chrische

_________________
"Mach mal einem Bekloppten klar, dass er bekloppt ist." Dieter Bohlen
cpfix
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.01.2006
Beiträge: 15
Beitrag 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
Beitrag 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




Beitrag 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




Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 19:00:09 25.06.2006   Titel:              Zitieren

Du scheinst die WinAPI nicht dazuzulinken.

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Proximo
Unregistrierter




Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 18:51:23 29.06.2006   Titel:              Zitieren

Das SDK ist sicher eingebunden? Das kann in dem Fall nicht sein. Schau mal ob da noch irgendwas in der ReadMe der SDK-Install für die ExpressEdition steht was du übersehen hast...

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
camper
Mitglied

Benutzerprofil
Anmeldungsdatum: 06.08.2004
Beiträge: 5052
Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 14:49:47 28.07.2006   Titel:              Zitieren

unregistriert1 schrieb:
wollte wida mal auf die site gehen seh aba grade dass pw verlangt wird und alle anderen links off sind.

Hatte gestern Serverumstellung, gut möglich das da was kaputt war. Sollte aber wieder funktionieren.

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
Beitrag TIberiu Mitglied 18:53:35 07.09.2006   Titel:              Zitieren

Wie mache ich einen Fullscreen damit ? :rolleyes:
SideWinder
Moderator

Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18218
Beitrag 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
Beitrag TIberiu Mitglied 19:14:10 07.09.2006   Titel:              Zitieren

Wow danke das ging schnell :D

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
Beitrag SideWinder Moderator 19:22:31 07.09.2006   Titel:              Zitieren

Einfach hier durchscrollen: http://ic.sidewindershome.net/sources/ic.hpp.html dann findest du schon die richtige Funktion.

setCurSize (int size); -> 0

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Xalazhar
Unregistrierter




Beitrag 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




Beitrag 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..... :rolleyes:


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 :D
Kevinus
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.05.2004
Beiträge: 386
Beitrag 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 :D ), 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
Beitrag 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. :live:

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
Beitrag SideWinder Moderator 16:54:42 25.11.2006   Titel:              Zitieren

Das funktioniert leider nicht: Windows lässt nur eine Konsole pro Prozess zu.

Den Inhalt auslesen und wiederherstellen ist allerdings kein Problem:
ReadConsoleOutput: http://msdn2.microsoft.com/en-us/library/ms684965.aspx
WriteConsoleOutput: http://msdn2.microsoft.com/en-us/library/ms687404.aspx

bzw. wenn du nur Zeichen und nicht die Formate mitkopieren willst: ReadConsoleOutputCharacter sowie WriteConsoleOutputCharacter.

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Infinite Loop
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
Beitrag 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
Beitrag 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
Beitrag SideWinder Moderator 18:44:03 29.11.2006   Titel:              Zitieren

Marc++us schrieb:
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.

Hört man natürlich gerne :)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Infinite Loop
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.11.2006
Beiträge: 17
Beitrag 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. :eek:

_________________
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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag SideWinder Moderator 10:27:25 26.01.2007   Titel:              Zitieren

Dann hast du die Einbindung des Platform SDK noch nicht 100% hinbekommen. Hier fehlen eindeutig die zu linkenden Bibliotheken.

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Blacker
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.11.2006
Beiträge: 10
Beitrag 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
Beitrag SideWinder Moderator 15:56:45 27.01.2007   Titel:              Zitieren

Der richtige Projekttyp ist "Win32-Konsolenanwendung"

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Blacker
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.11.2006
Beiträge: 10
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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




Beitrag 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




Beitrag 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 :D
El Kassem
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.05.2007
Beiträge: 33
Beitrag 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
Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 14:39:48 04.07.2007   Titel:              Zitieren

Gibt nur ein kleines Problem mit meinem Hoster. Ich hoffe das regelt sich noch heute, habe dort eine Vertragsänderung durchgeführt.

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
Beitrag SideWinder Moderator 14:44:31 04.07.2007   Titel:              Zitieren

Einstweilen findet ihr hier die Seite: http://web56.hermes.server-pool.de/pages/ic.c-plusplus.de/index.php

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
Beitrag SideWinder Moderator 14:45:55 04.07.2007   Titel:              Zitieren

Außerdem hoffe ich, dass ich im Juli dann auch endlich mal Zeit finde für IC 5.0

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
3ercompact
Mitglied

Benutzerprofil
Anmeldungsdatum: 24.07.2007
Beiträge: 2
Beitrag 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




Beitrag 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




Beitrag 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 :D
- Abkehr von C++ IO-Streams. Die sind nicht für Unicode ausgelegt.
- schönerer code :D
Consoler
Unregistrierter




Beitrag 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




Beitrag 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




Beitrag ncurses-Fan Unregistrierter 18:03:18 01.10.2007   Titel:   ncurses > ic            Zitieren

Benutz lieber ncurses. Das ist portabler und einfacher.
www.gnu.org/software/ncurses
ROFL
Unregistrierter




Beitrag ROFL Unregistrierter 08:33:29 02.10.2007   Titel:   Re: ncurses > ic            Zitieren

ncurses-Fan schrieb:
Benutz lieber ncurses. Das ist portabler und einfacher.
www.gnu.org/software/ncurses
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
Beitrag langeweile Mitglied 09:59:23 02.10.2007   Titel:              Zitieren

pdcurses!!! :D


Zuletzt bearbeitet von langeweile am 09:59:38 02.10.2007, insgesamt 1-mal bearbeitet
ROFL
Unregistrierter




Beitrag ROFL Unregistrierter 13:25:42 02.10.2007   Titel:              Zitieren

langeweile schrieb:
pdcurses!!! :D
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




Beitrag 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... :die:
Schurke
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.07.2006
Beiträge: 318
Beitrag 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
Beitrag 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




Beitrag ^^ Unregistrierter 21:32:11 26.12.2007   Titel:              Zitieren

In visual studio geht das nur :D
Gnomecoder
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
Beitrag 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 :D
:xmas1:

_________________
learning C/C++, C# and DirectX!
der wahrsager
Unregistrierter




Beitrag 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 :rolleyes:
Gnomecoder
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
Beitrag 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




Beitrag 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
Beitrag 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




Beitrag aaaaaaaaaaaaaaaaa Unregistrierter 22:57:39 26.12.2007   Titel:              Zitieren

Gnomecoder schrieb:

Für berechnungen in der Konsole kann mans ya anpassen ;).


eben nicht :rolleyes:
Gnomecoder
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.09.2007
Beiträge: 76
Beitrag 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
Beitrag 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
Beitrag 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




Beitrag 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




Beitrag 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




Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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. :live:

Martin
bitte um hilfe
Unregistrierter




Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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
Beitrag 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




Beitrag 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




Beitrag colourlover Unregistrierter 12:13:48 10.10.2008   Titel:   Farben umdefinieren            Zitieren

Die IC ist wirklich klasse, vielen Dank dafür! :live:

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 :D 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
Beitrag 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? :D

Greetz & THX im Voraus!
adfsdj
Unregistrierter




Beitrag adfsdj Unregistrierter 22:32:31 08.04.2009   Titel:              Zitieren

Jo, wär cool, wenn man das mal wieder anbieten könnte..
colourlover
Unregistrierter




Beitrag colourlover Unregistrierter 17:21:19 28.10.2009   Titel:              Zitieren

Ich hab mal die Version 4, die ich noch hatte, bei Hostern hochgeladen. Ich hoffe, es ist alles dabei.

http://www.sendspace.com/file/72spkw
http://www.mediafire.com/download.php?ymyh22ezmmm

Sollte das unerwünscht sein, einfach löschen.
Ad aCTa
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.12.2008
Beiträge: 866
Beitrag 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
Beitrag 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




Beitrag 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




Beitrag 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
Beitrag SideWinder Moderator 18:25:34 27.04.2011   Titel:              Zitieren

- Grundsätzlich frei verwendbar
- Use at own risk
- Als Teil eines kommerziellen Produkts gerne (unter Nennung des Forums irgendwo), direkter Verkauf dieser Komponente nicht (glaube aber nicht, dass jemand daran denken sollte :D)

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
licensee
Unregistrierter




Beitrag licensee Unregistrierter 11:02:46 28.04.2011   Titel:              Zitieren

Danke für die schnelle Info :-)
C/C++ Forum :: DOS und Win32-Konsole ::  Improved Console 4.0   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.