Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

26.01.2010, 16:24

So , habe nun schon wieder ein paar Fragen. :)

1. Kann man den Text in der Konsole farblich gestalten ?

2. Wie kann ich es schaffen , dass wenn der Nutzer des Programmes ein Schlüsselwort eingibt (zu jederzeit) , dass es dann eine bestimmte Aktion durchführt ...
Ich dachte da an eine Endlosschleife mit switch-case oder If-Abfragen?!

22

26.01.2010, 16:25

1. Ja https://www.spieleprogrammierer.de/phpBB…opic.php?t=8518 ist ein Tut.

2. Warte doch einfach auf die nächste eingabe ? cin wartet ja immer, bis der User enter gedrückt hat, oder hab ich dich falsch verstanden ?

idontknow

unregistriert

23

26.01.2010, 16:34

Wenn du willst, dass dein Programm parallel weiter läuft und du keine Threads verwenden willst, dann wirst du wohl per Funktionen wie GetAsynKeyState() jeden Tastendruck einzeln abfragen müssen. Würde dir aber davon abraten... ist irgendiwe imho nicht das wahre gibt sicher bessere Lößungen ;)

24

26.01.2010, 16:39

@E122 Nein , ich will das mein Programm läuft , und egal wo es grad den Text runterrattert , dass man da z.B. dass Schlüsselwort Hilfe kommt , dann die Funktion Hilfe aufgerufen wird.

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

25

26.01.2010, 16:45

Zitat von »"Lodda"«

@E122 Nein , ich will das mein Programm läuft , und egal wo es grad den Text runterrattert , dass man da z.B. dass Schlüsselwort Hilfe kommt , dann die Funktion Hilfe aufgerufen wird.


Das mit den Abfragen ist dabei ja gar nicht so blöd. Die Funktion die die Eingabe(oder deren Ergebnisse) steuert soll dann einfach vor allem anderen immer erst die Eingabe auf "Hilfe" etc überprüfen und dementsprechend weiterleiten.
Musst nur sichergehen, dass du dich nie im falschen Bereich aufhältst.

26

26.01.2010, 16:48

Okay werde das dann mal ausprobieren ... Thx. :=)

27

26.01.2010, 16:57

Bin gerade auf ein anderes Problem gestoßen.
Und zwar bekomme ich folgende Fehlermeldungen:

Zitat


1>Kompilieren...
1>html_help.cpp
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(45) : error C2144: Syntaxfehler: 'char' sollte auf ')' folgen
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(45) : error C2660: 'CHTML_Helper::WriteTitle': Funktion akzeptiert keine 0 Argumente
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(45) : error C2059: Syntaxfehler: ')'
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(53) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(53) : error C2228: Links von ".open" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(54) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(55) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(56) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(57) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(57) : error C2228: Links von ".close" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>Das Buildprotokoll wurde unter "file://c:\Users\Lothar Pietrek\Desktop\HTML_Helper\HTML_Help\Release\BuildLog.htm" gespeichert.
1>HTML_Help - 10 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Header-Datei:

C-/C++-Quelltext

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
#include <iostream>
#include <fstream>
#include <windows.h>

using namespace std; 

    void PasswortAbfrage(int Passwort, int menu_auswahl);
    void hauptmenu(int menu_auswahl);

enum Schriftfarbe
{
    SCHWARZ,
    ROT,
    GRUEN,
    BLAU,
    LILA,
};

class CHTML_Helper 
{
    //Membervariablen

private:
    char m_Buffer[255];
    char m_Dateiname[31];


    //Memberfunktionen

public:
    CHTML_Helper(); //Konstruktor

    void WriteTitle(char Buffer); //Farbloses <title>


    

};

CHTML_Helper::CHTML_Helper() //Konstruktor

{
    cout << "Bitte geben sie den gewuenschten Dateinamen (Mit .html-Endung) ein (Max. 30 Zeichen): " << endl;
    cin >> m_Dateiname;
    
    ofstream fout(m_Dateiname);
    fout << "<html>";
    cout << "Datei wurde erstellt , und befindet sich im Installationsverzeichnis!" << endl;
    cout << "Sie werden nun zum Erstellungsvorgang des Titel-Bereichs weitergeleitet..." << endl;
    WriteTitle(char Buffer);
}

void CHTML_Helper::WriteTitle(char Buffer)
{
    cout << "HTML-Titelfunktion erfolgreich geladen!" << endl;
    cout << "Bitte geben sie den Titel ein , den ihre Homepage haben soll: " << endl;
    cin >> Buffer;
    fout.open("m_Dateiname", ios::app);
    fout << "<title>";
    fout << Buffer;
    fout << "</title>";
    fout.close();
    cout << "Titel wurde erfolgreich hinzugefügt!" << endl;
    cout << "Sie werden nun automatisch zum Erstellungsvorgang für den \"Body\"-Code weitergeleitet!" << endl;
}


Die main-Datei wird hier denke ich nicht benötigt ... Es sieht so als würde er das fout , dass ich mit ofstream im Konstruktor erzeugt habe nicht mehr kennen würde ... Muss ich das evtl. irgendwo anders deklarieren ?

idontknow

unregistriert

28

26.01.2010, 17:15

Du deaklrierst ofstream fout im Konstruktor und verwendest es in der folgenden Funktion, aber da exestiert das Objekt bereits nicht mehr!
Mit new/delete anlegen und als Member der Klasse speichern rules :).

Daher kennt er auch die ganzen funktionen nicht. Anstelle von WriteTitle(char) würde ich const char* oder std::string verwenden, da char nur für ein einzelnen Buchstaben gilt!

29

26.01.2010, 17:16

C-/C++-Quelltext

1
    WriteTitle(char Buffer);


Von dieser Zeile rührt der 1. Fehler, den du beschreibst. Fällt dir was auf ;)

30

26.01.2010, 17:25

Ist die Funktion nicht Teil einer Klasse , wenn ich sie in der Klasse deklariere ?

Und ja , war etwas voreilig ... Habe jetzt alle Buffer zu const char* m_Buffer angepasst...
Aber bekomme jetzt noch mehr Fehler. ;(

Zitat

1>Kompilieren...
1>html_help.cpp
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(45) : error C2143: Syntaxfehler: Es fehlt ')' vor 'const'
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(45) : error C2660: 'CHTML_Helper::WriteTitle': Funktion akzeptiert keine 0 Argumente
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(45) : error C2059: Syntaxfehler: ')'
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(52) : error C2679: Binärer Operator '>>': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'const char *' akzeptiert (oder keine geeignete Konvertierung möglich)
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(1144): kann 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)' sein
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(1146): oder "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(1148): oder "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(1150): oder "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(155): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(161): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(168): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(175): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(194): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(228): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(247): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(273): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(291): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(309): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__w64 unsigned long &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(329): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__int64 &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(348): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned __int64 &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(367): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(float &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(386): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(double &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(404): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long double &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(422): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(void *&)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\istream(441): oder "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_streambuf<_Elem,_Traits> *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> bei Anpassung der Argumentliste '(std::istream, const char *)'
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(53) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(53) : error C2228: Links von ".open" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(54) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(55) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(56) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(57) : error C2065: 'fout': nichtdeklarierter Bezeichner
1>c:\users\lothar pietrek\desktop\html_helper\html_help\html_help.h(57) : error C2228: Links von ".close" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>Das Buildprotokoll wurde unter "file://c:\Users\Lothar Pietrek\Desktop\HTML_Helper\HTML_Help\Release\BuildLog.htm" gespeichert.
1>HTML_Help - 11 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Werbeanzeige