Textprogramm
-
Wie kann ich , den Text, den ich geschrieben haben drucken.
Hier das Textprogramm#include <iostream> #include <stdlib.h> #include <conio.h> int Ausloeser = 1; using namespace std; //------------------------------------------------------------------------------------ void Color(string szText, int X, int Y, WORD color) { HANDLE OutputH; COORD position = {X, Y}; OutputH = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(OutputH, color); SetConsoleCursorPosition(OutputH, position); } //------------------------------------------------------------------------------------ int Hilfe() { char Auswahl; cout << "\a\a -------------------------------------------------\n"; cout << " Willkommen bei der MF Softwareproduktions Hilfe\n"; cout << " -------------------------------------------------\n\n"; cout << "s........Das Speichern\n"; cout << "b........Befehle\n"; Auswahl = getch(); switch(Auswahl) { case 's': cout << "\n\nDas Speichern:\n"; cout << "Keine Zwielaute!\n"; cout << "Jeder Text wird auf der Datei MFtextool.txt gespeichert\n(in dem Ordner in dem Sie das MF Softwareproduction Texttool installiert haben)\n"; cout << "Zum Oeffnen dieses Textes verwenden Sie im Hauptmenue den Auswahlpunkt ""laden""\n"; getchar(); break; case 'b': cout << "Die Befehle:\n"; cout << "Leerzeichen(Funktionszeichen): Geben Sie ""-"" fuer ein Leerzeichen ein\n"; cout << "Absatz(Funktionszeichen): Geben Sie ""#"" fuer einen Absatz ein\n"; cout << "Fertig(Funktionszeichen): Geben Sie ""+"" wenn der Text fertig ist ein\n"; cout << "Alle anderen Zeichen sind primaer zum erstellen des Textes gedacht\n"; cout << "\aHINWEISS: Funktionszeichen duerfen nicht im Text inkludiert werden\n\n\n"; getchar(); break; case 'r': cout << "Der Rechner von MFtexttool bietet viele Rechenmoeglichkeiten\n"; getchar(); break; default: system("CLS"); MessageBox(0, "Sie haben eine falsche Taste gedrückt","MF Softwareproductions",MB_ICONSTOP); getchar(); break; } getchar(); } //-------------------------------------------------------------------------------------------- int Rechner() { cout << "\a\a\a"; char Auswahl; cout << " ------------------------------------------------"<<endl; cout << " Willkommen beim MF Softwareproductions Rechner"<<endl; cout << " ------------------------------------------------"<<endl<<endl<<endl; } //-------------------------------------------------------------------------------------------- int main(int argc, char *argv[]) { char Auswahl, zaehler; zaehler = -1; char text[100000]; while(Auswahl != 'q') { system("CLS"); cout << "\n\n -------------------------------------\n"; cout << " || MF Softwareproductions Texttool ||\n"; cout << " -------------------------------------\n\n\n\n"; cout << "n........Neuer Text"<<endl; cout << "r........Der Rechner\n"; cout << "h........Hilfe"<<endl; cout << "t........Optionen"<<endl; cout << "l........Text Laden\n"; cout << "q........Quit\n"<<endl; Auswahl = getch(); switch(Auswahl) { //--------------------------------------------------------------------- case 'n':system("CLS"); cout << "\nGeben Sie den Text ein oder druecken Sie zweimal ^\nund Sie gelangen unverzueglich ins Hauptmenue"<<endl; cout << "\nText:\n\n"; do { zaehler++; cin >> text[zaehler]; if(text[zaehler] == '^') { break; } if(text[zaehler] == '-') { text[zaehler] = ' '; } if(text[zaehler] == '#') { text[zaehler] = '\n'; } }while(text[zaehler] != '+'); cout << "\n\na......Text anzeigen\n"; cout << "m......Hauptmenue\n"; Auswahl = getch(); switch(Auswahl) { case 'a':for(int i = 0;i<zaehler;i++) { cout << text[i]; } cout << "\n\nWollen Sie speichern(y\\n)\n"; cin >> Auswahl; if(Auswahl == 'y') { FILE *stream; char msg[20]; /* Öffnet eine Datei zur Aktualisierung */ stream = fopen("MFTexttool.txt", "w+"); /* Schreibt einen String in die Datei */ fwrite(text, strlen(text), 1, stream); /* Setzt den Dateizeiger an den Dateianfang */ fseek(stream, 0, SEEK_SET); /* Liest einen String aus der Datei */ fgets(msg, strlen(text)+1, stream); /* Zeigt den String an */ printf("%s", msg); fclose(stream);break; } break; case 'm':break; } break; //------------------------------------------------------------------------ case 'l': system("CLS"); FILE *streamA; char msg[20]; //öffnet Datei streamA = fopen ("MFTexttool.txt","r"); fseek(streamA, 0, SEEK_SET); fgets(msg, 10, streamA); msg[14] = '\0'; cout << "Der Text:\n\n"; printf("%s",msg); fclose(streamA); getchar(); getchar(); break; //------------------------------------------------------------------------ case 'h':system("CLS");Hilfe();break; //------------------------------------------------------------------------ case 'r':system("CLS");Rechner();break; //------------------------------------------------------------------------ case 't':system("CLS"); char Auswahl; cout << "Wollen Sie den Hintergrund aendern"<<endl; cout << "(y\\n)"<<endl; Auswahl = getch(); if(Auswahl == 'y') { if(Ausloeser == 1) { Color("", 0, 0, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_BLUE); system("CLS"); Color("", 0, 0, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_BLUE); Ausloeser = 0; break; } if(Ausloeser == 0) { Ausloeser = 1; break; } } break; case 'q':return 0; //------------------------------------------------------------------------- default: system("CLS"); MessageBox(0, "Sie haben eine falsche Taste gedrückt","MF Softwareproductions",MB_ICONSTOP); getchar(); break; //------------------------------------------------------------------------ } } return 0; }
ƒΓΔΘιθηζφχψω≠≈∩
-
unter linux:
./programmname > /dev/lp0
den text im programm zu drucken hmm... probiers mal so:
sprintf(cmd, "echo %s > /dev/lp0", derTextDerAusgedrucktWerdenSoll); system(cmd);
ka ob das elegant ist oder ob das funkt aber einen versuch waers sicher wert denk ich
mfg hazelnoot
-
muss man da cmd vorerst deklarieren
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
... ähh.. er hat seins auch editiert, deswegen ist das jetzt hier unnötigt.
-
java.exe schrieb:
muss man da cmd vorerst deklarieren
jep sicher cmd ist ein c string
UUUUPS TSCHULDIGUNG sehe gerade da wir ja hier in dem tread DOS und WIN32 Konsole sind und daher windows angesagt ist also ist mein post sinnlos tschuldigung
-
#include <iostream.h> #include <string.h> using namespace std; char cmd[]="C:\\WINDOWS\\system32\\cmd"; int main(int argc, char *argv[]) { string hallo = "Hallo"; sprintf(cmd, "echo %s > /dev/lp0", hallo); system(cmd); }
also der Linker meldet keinen Fehler aber gedruckt wird nix
-
schau es is so:(obwohl es eh irrelevant ist da du das ganze unter windows benutzt aber erklaeren will ichs dir trotzdem)
also du hast einen lehrstrin cmd und einen text den du drucken willst nennen wir ihn mal text! text hat den inhalt Hallo, Welt!
also nach der ersten zeile:
sprintf(cmd, "echo %s > /dev/lp0", text);steht in cmd folgendes:
echo Hallo, Welt > /dev/lp0echo gibt unter linux genauso wie unter windows einen text aus, nur hier ist es anders statt den text auf der konsole auszugeben geben wir den text auf dem drucker (/dev/lp0) aus durch das umleiten des streams auf die treiberschnittstelle!
mit dem befehl system(cmd); wuerden wir dann den zuerst mit sprintf zusammengebauten befehl dem system uebergeben!
aber das ganze bringt einen windows user ja nichts war mein feheler dass ich den treadtitel nicht beachtet habe! nochmals tschuldigung
mfg --linuxuser--