| Autor |
Nachricht |
trix0matrix9
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.07.2009
Beiträge: 32
|
trix0matrix9 Mitglied
20:19:53 02.12.2011 Titel: |
In der Console Title ändern |
Zitieren |
Hallihallo,
ich bin ein neu einsteiger ^^. also ich habe rin problem... unzwar ich mach gerade ein Win32 - Consolen Anwendung und würde jetzt gerne den Title der Console ändern, da ich das Verzeichniss nicht dauernt sehen will.
Also hier mein bisheriger Code:
| C/C++ 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 | 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 | #include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
int main()
{
int x = 0;
cout << "Bitte geben Sie einen Startwert ein: " << endl;
cin >> x;
int y = 0;
cout << "Bitte geben Sie einen Endwert ein: " << endl;
cin >> y;
++y;
if(x>y)
{
cout << "Der Startwert MUSS kleiner sein als der Endwert!" << endl;
main();
}else{
cout << "Die Zahlen werden ausgegeben:" << endl;
while(x<y)
{
cout << x << endl;
++x;
}
cout << "Es wurden alle Zahlen ausgegeben!" << endl;
}
_getch();
} | |
| C/C++ 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 | #include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
int main()
{
int x = 0;
cout << "Bitte geben Sie einen Startwert ein: " << endl;
cin >> x;
int y = 0;
cout << "Bitte geben Sie einen Endwert ein: " << endl;
cin >> y;
++y;
if(x>y)
{
cout << "Der Startwert MUSS kleiner sein als der Endwert!" << endl;
main();
}else{
cout << "Die Zahlen werden ausgegeben:" << endl;
while(x<y)
{
cout << x << endl;
++x;
}
cout << "Es wurden alle Zahlen ausgegeben!" << endl;
}
_getch();
} | |
| C/C++ 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 | #include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
int main()
{
int x = 0;
cout << "Bitte geben Sie einen Startwert ein: " << endl;
cin >> x;
int y = 0;
cout << "Bitte geben Sie einen Endwert ein: " << endl;
cin >> y;
++y;
if(x>y)
{
cout << "Der Startwert MUSS kleiner sein als der Endwert!" << endl;
main();
}else{
cout << "Die Zahlen werden ausgegeben:" << endl;
while(x<y)
{
cout << x << endl;
++x;
}
cout << "Es wurden alle Zahlen ausgegeben!" << endl;
}
_getch();
} | |
aber ich weiß jetzt nicht weiter... dachte dass das hier die lösung wäre:
| C/C++ Code: | | WindwosTitle = "Hochzählen"; | |
| C/C++ Code: | | WindwosTitle = "Hochzählen"; | |
| C/C++ Code: | | WindwosTitle = "Hochzählen"; | |
|
|
|
|
 |
volkard
Moderator
Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24356
|
volkard Moderator
20:22:46 02.12.2011 Titel: |
Re: In der Console Title ändern |
Zitieren |
|
 |
trix0matrix9
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.07.2009
Beiträge: 32
|
trix0matrix9 Mitglied
20:34:55 02.12.2011 Titel: |
|
Zitieren |
nene klappt nicht ^^
kommt immer:
| Code: | | Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""LPCWSTR"" inkompatibel. | |
| Code: | | Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""LPCWSTR"" inkompatibel. | |
| Code: | | Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""LPCWSTR"" inkompatibel. | |
Sprich, in den klammern dürfen keine buchstaben erlaubt sein^^ da feile ich gerade noch herum ^^ |
|
|
|
 |
theta
Mitglied
Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 3814
|
theta Mitglied
20:38:32 02.12.2011 Titel: |
|
Zitieren |
Mach noch #include <tchar.h> und dann bei SetConsoleTitle(_T("Hochzählen"));
BTW: Hier ist C#, dein Code ist sowas wie C++. |
|
|
|
 |
trix0matrix9
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.07.2009
Beiträge: 32
|
trix0matrix9 Mitglied
20:41:58 02.12.2011 Titel: |
|
Zitieren |
okay danke ^^ es hat geklappt :P
und der code
| C/C++ Code: | | #include <tchar.h> | |
| C/C++ Code: | | #include <tchar.h> | |
| C/C++ Code: | | #include <tchar.h> | |
bindet ja die datei tchat.h ein, und das _T bei
| C/C++ Code: | | SetConsoleTitle(_T("Hochzählen")); | |
| C/C++ Code: | | SetConsoleTitle(_T("Hochzählen")); | |
| C/C++ Code: | | SetConsoleTitle(_T("Hochzählen")); | |
sagt aus, dass das was in den Klammern steht, ein Text ist oder? Oder habe ich das falsch verstanden= |
|
|
|
 |
theta
Mitglied
Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 3814
|
theta Mitglied
21:30:39 02.12.2011 Titel: |
|
Zitieren |
Das _T(..) macht aus dem übergebenen String Literal ein Wide String Literal falls das Charset auf Unicode steht. |
|
|
|
 |
C++ Forumbot
Forumbot
Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 16160
|
C++ Forumbot Forumbot
21:44:03 02.12.2011 Titel: |
|
Zitieren |
|
 |
Der aus dem Westen ...
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.12.2010
Beiträge: 1277
|
Der aus dem Westen ... Mitglied
22:09:19 03.12.2011 Titel: |
|
Zitieren |
Hättest dir auch alternativ das:
| C/C++ Code: | | #include <tchar.h>
| |
| C/C++ Code: | | #include <tchar.h>
| |
| C/C++ Code: | | #include <tchar.h>
| |
sparen und statt dem _T("x") ein L"x" hinsetzen können. Dann hättest du aber nicht mehr ohne weiteres zwischen Unicode und Multibyte hin- und herwechseln können. |
|
|
|
 |
ToxicData
Unregistrierter
|
ToxicData Unregistrierter
18:18:43 04.12.2011 Titel: |
|
Zitieren |
Das Problem dabei ist das ihr alle auf LPCWSTR eingeht, SetConsoleTitle ist eine Define die auf SetConsoleTitleW zeigt bzw. Verweißt!
Benutze SetConsoleTitleA um auf den stan**** zuzugreifen, und benutze SetConsoleTitle/SetConsoleTitleW um auf den Multibyte Satz zuzugreifen!
"LPCWSTR = wchar_t* <-- Der Unicode Char bekannt als wchar_t bzw. wide char."
Korrigiert mich ruhig bei Fehlern aber ich glaube es sollte keiner Vorhanden sein.
mfg |
|
|
|
 |
Belli
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.08.2009
Beiträge: 1110
|
Belli Mitglied
08:31:47 05.12.2011 Titel: |
|
Zitieren |
| ToxicData schrieb: | | Das Problem dabei ist das ihr alle auf LPCWSTR eingeht, SetConsoleTitle ist eine Define die auf SetConsoleTitleW zeigt bzw. Verweißt! |
Das ist so absolut nicht richtig. Es hängt von den Projekteinstellungen ab. Wenn das Projekt auf MBCS eingestellt ist, verweist SetConsoleTitle auf SetConsoleTitleA und wenn das Projekt ein UNICODE - Projekt ist, dann verweist SetConsoleTitle auf SetConsoleTitleW.
Das gilt für alle die Winapi - Funktionen, die in ANSI und UNICODE - Versionen vorliegen, analog.
Wenn man also Strings vom Typ char* benutzen möchte, ist es in den meisten Fällen sinnvoll, das Projekt auf MBCS umzustellen. |
|
|
|
 |
Glen757
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.09.2011
Beiträge: 14
|
Glen757 Mitglied
14:27:37 26.12.2011 Titel: |
|
Zitieren |
Funktioniert nicht auch einfach:
| Code: |
SetConsoleTitle(TEXT("Hochzählen"));
| |
| Code: |
SetConsoleTitle(TEXT("Hochzählen"));
| |
| Code: |
SetConsoleTitle(TEXT("Hochzählen"));
| |
Dabei muss ich nur die Windows.h eingebunden haben. |
|
|
|
 |
Unregistrierter
|
Unregistrierter
17:08:42 14.01.2012 Titel: |
|
Zitieren |
| Glen757 schrieb: | Funktioniert nicht auch einfach:
| Code: |
SetConsoleTitle(TEXT("Hochzählen"));
| |
| Code: |
SetConsoleTitle(TEXT("Hochzählen"));
| |
| Code: |
SetConsoleTitle(TEXT("Hochzählen"));
| |
|
mit DEV-C++ bekomme ich ein " õ " an Stelle des " ä ".
Die in meinen Augen einfachste Variante ä,ö,ü in den Konsolen-Titel zu schreiben ist: | C/C++ Code: | | SetConsoleTitle("Hochz\x84hlen"); | |
| C/C++ Code: | | SetConsoleTitle("Hochz\x84hlen"); | |
| C/C++ Code: | | SetConsoleTitle("Hochz\x84hlen"); | |
#include <windows.h> nicht vergessen.
Edit: 84 ist der HEX-Wert von ä. Analog dazu gehen demnach auch ü und ö, sowie Ü, Ö
Galileo |
Zuletzt bearbeitet von Unregistrierter am 17:12:50 14.01.2012, insgesamt 2-mal bearbeitet |
|
 |
no_codepage
Unregistrierter
|
no_codepage Unregistrierter
18:40:08 15.01.2012 Titel: |
|
Zitieren |
Methoden gegen das leidige äöü-Problwm:
Setlocal
oder
mit TippEx die Fehler auch dem Bildschirm korrigieren |
|
|
|
 |