PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : c++ dateien schließen bzw prozesse beenden



Mithrandir
27.03.2007, 14:39
hallo
wie kann ich in c++ datein(bilder etc.) wieder schließen?

Chris
27.03.2007, 18:42
Wie öffnest du sie überhaupt §ugly.
Das sind doch wieder diese Fragen bei denen irgendein Codebeispiel zusammengeklaut wurde und dann man nich weiß was das ganze überhaupt tut.

wurzel^2
27.03.2007, 18:51
meinst du sowas wie

close() ?

Mithrandir
28.03.2007, 14:29
also öffnen tu ich mit:
system("START [Name]");

wurzel^2
28.03.2007, 15:15
aso...des hat ja eig nciht viel mit c++ zu tun..du sendest einfahc den befehl an win das der ne bestimmte datei starten soll... wenn du des beenden willst, müsstest du den entsprechenden dos befehl wissen...

traxer
28.03.2007, 23:19
also öffnen tu ich mit:
system("START [Name]");

Dann hast du ja irgendwo die Dokumentation von system() herumliegen. Da müsste das eigenlich drinstehen. Falls du es nicht verstehst, dann schick mir den Link zu der Doku und ich versuche, was damit zu machen.

wurzel^2
29.03.2007, 13:56
hm..ich glaub des geht gar net ;)


Prozesse beenden - n.a. -

hier nachzulesen: http://www.axel-hahn.de/axel/page_compi/bat_unixvsdos.htm

Mithrandir
29.03.2007, 15:45
und wie kann ich close() anwenden?

wurzel^2
29.03.2007, 17:15
http://de.wikibooks.org/wiki/C++-Programmierung:_Dateizugriff

traxer
30.03.2007, 12:31
Ich nehme an, der system()-Aufruf kommt aus der C-Standardbibliothek, beschrieben in der libc-Dokumentation (http://www.gnu.org/software/libc/manual/html_node/Running-a-Command.html). Dann hast du keine Chance, das Programm wieder zu schließen.

Verwende stattdessen die Funktion CreateProcess() um das Programm zu starten, dann kannst du es mit TerminateProcess wieder schließen. Leider gibt's keinen Link auf die Doku, ich habe mich bei MSDN noch nie zurechtgefunden.

Mithrandir
30.03.2007, 12:45
danke


und wie kann ich text aus einer datei in eine Variable einfügen habs mal so probiert geht aber net:
char filename;
char inhalt;
filename == "Text.txt";
ifstream fin(filename);
cin.get(inhalt);

traxer
30.03.2007, 13:35
habs mal so probiert geht aber net Welche Fehlermeldung bekommst du denn?

char filename; Damit hast du auf dem Stapelspeicher Platz für ein Zeichen (üblicherweise 8 bti) geschaffen, und kannst auf diesen Platz mittels der Variable 'filename' zugreifen.

filename == "Text.txt"; Dadurch verlgeichst du das Zeichen, das in der Variable filename steht mit der Zeichenkette "Text.txt". Das funktioniert aus zwei Gründen nicht:
filename ist keine Zeichenkette, sondern ein numerischer Typ (char ist in C++ ein numerischer Typ).
Der Variablen filename hast du bis jetzt noch nichts zugewiesen.


cin.get(inhalt); cin ist der Standardeingabestream. Dein Dateieingabestream heißt fin.

traxer
30.03.2007, 14:15
und wie kann ich text aus einer datei in eine Variable einfügen

So wie auf http://www.cplusplus.com/istream::read beschrieben:



int length;
char * buffer;

ifstream is;
is.open ("test.txt", ios::binary );

// get length of file:
is.seekg (0, ios::end);
length = is.tellg();
is.seekg (0, ios::beg);

// allocate memory:
buffer = new char [length];

// read data as a block:
is.read (buffer,length);
is.close();

EDIT: Wegen buffer = new char [length]; musst du, wenn du buffer nicht mehr benötigtst, delete[] buffer; ausführen.

Mithrandir
21.04.2007, 21:18
gibt es eigentlich auch einen Befehl mit dem ich das cmd Fenster vergrößern kann?
also statt 8x12 10x18

Chris
22.04.2007, 00:24
void setWndSize (int x, int y);

in conio.h. Gut möglich das die bei Devcpp und anderen IDEs mitgelieferten das nicht mehr beinhalten, da hilft das (http://ic.sidewindershome.net/Download.php).

Mithrandir
12.05.2007, 13:51
Wie kann ich ein Multitaskingprogramm schreiben bei dem im hintergrung dinge ausgeführt werden und der benutzer weiterhin andere funktionen aufrufen kann ohne das die hintergrungfunktionen dabei stören ?

Victoria
12.05.2007, 14:15
Wie kann ich ein Multitaskingprogramm schreiben bei dem im hintergrung dinge ausgeführt werden und der benutzer weiterhin andere funktionen aufrufen kann ohne das die hintergrungfunktionen dabei stören ?

Was willst du denn damit? Oder anders rum: bleib erstmal bei einfacheren Konsolprogrammen. Die ImprovedConsole (IC) von Sidewinder ist exellent geeignet, um das staubige Design der handelsüblichen (sprich normalen) Konsole zu verbessern. Damit kannst du zB auch die Schrift- und Hintergrundfarbe verändern.

Wenn du bis zu deinem Multitasking Programm kommst, dann wirst du genug Erfahrung haben, um eigene Wege finden zu können :).

Gruß, Gothic_player

Mithrandir
12.05.2007, 14:21
also sprich wenn ich mal informatik studiere wird das was?

wollt halt ein noch recht langweiliges "strategiespiel" entwerfen bei dem man dann häuser bauen kann, dann läft im hintergrung ne zeit ab werend der benutzer sollange was anderes machen kann allso eigentlich noch nich so wierklich multitasking programm

wurzel^2
12.05.2007, 14:27
unter c++ eigentlich relativ einfach...
selber hab ich es von nem freund gelernt... aber ich ahb mal en tut gegoogelt:
http://www.codeworx.org/cpp_tuts_1_5.php

mfg wurzel^2

Mithrandir
12.05.2007, 14:29
danke für den link

Victoria
12.05.2007, 14:34
also sprich wenn ich mal informatik studiere wird das was?Natürlich kann das was werden, wenn es dir Spaß macht, und du dir ausreichend Mühe gibst :). Ich habe ebenfalls vor, später Informatik zu studieren.


wollt halt ein noch recht langweiliges "strategiespiel" entwerfen bei dem man dann häuser bauen kann, dann läft im hintergrung ne zeit ab werend der benutzer sollange was anderes machen kann allso eigentlich noch nich so wierklich multitasking programm
Ein grafisches Strategiespiel à la Age of Empires oder Anno 1503? Solange du nicht gut mit DirectX oder einer anderen grafischen Schnittstelle arbeiten kannst, ist solch ein Vorhaben in meinen Augen vollkommen sinnlos.
Mit kurzen Schritten kommt man auch ans Ziel.

Gruß, Gothic_player

Mithrandir
12.05.2007, 15:29
nein soll ein konsolen strategie spiel in einem kordinatennetz sein also so einfach wie möglich

thorbinger
14.05.2007, 14:49
TicTacToe (http://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=6357) in C++...

Mithrandir
26.05.2007, 20:22
gibt es eine möglichkeit auser mit PlaSound Lieder in Konsolen programmen laufen zu lassen ?

wurzel^2
26.05.2007, 20:48
ja... musst nur die entsperechenden libarys adden (winmm.lib war des glaub) und <windows.h> und dann kanst du mit PlaySound wave's abspielen...

playsound wird ja von win zur verfügung gestellt, und net zb von ogl doer dx

en tipp: benutze liberys wie zb audiere. sind einfahc einzubinden, aber du aknnst damit danna uch mp3's, ogg vorbis usw abspielen

Mithrandir
26.05.2007, 22:02
und wie genau funktioniert des mit Playsound? Versteh des net mit den ganzen parametern etc
hab des scho oft ausbrobiert hab aber immer linker error bekommen

ld returned 1 exit status
undefined reference to `PlaySoundA@12:

Chris
26.05.2007, 23:06
die Library winmm muss noch dazugelinkt werden.

Mithrandir
27.05.2007, 08:51
#pragma comment(lib, "winmm.lib")

hatte es so

Chris
27.05.2007, 11:06
Weiß ja nicht welchen Compiler du benutzt aber der mingw der ja auch bei devcpp benutzt wird ignoriert das pragma für Bibliotheken sowieso.
Ein -lwinmm unter zusätzlichen Linkerflags in den Compiler Optionen sollte es auch tun.
Oder halt ein Projekt anlegen da steht dann eh irgendwo welche Libraries man dazulinken will.

Mithrandir
27.05.2007, 11:55
danke jetzt funktionierts

Mithrandir
07.06.2007, 20:06
Wie kann ich jede Zeile einer Datei beim einlesen einer eigene variable zuweisen?
kann mir da jemand plz ein codefragment posten?

wurzel^2
09.06.2007, 10:02
http://www.google.de/search?q=datei+zeilenweise+auslesen+c%2B%2B&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a

da findest du jede menge ;) und anstatt auszugeben musst dus halt in ne variabel schreiben.... des dürfte kein problem sein, nimm dazu zb ne matrix

Mithrandir
09.06.2007, 21:39
ok hab ma geschaut danke

neue frage:
wie kann ich mit meinem Programm einen registrierungseintrag machen das es immer zum systemstart ausgeführt wird?
(ich hab mich bis jetzt noch nicht mit registrierungseinträgen auseinandergesetzt würd nur gern wissen wie's aussieht)

wurzel^2
10.06.2007, 09:34
http://www.tutorials.de/forum/visualstudio-mfc/177219-c-registry-eintraege-schreiben-lesen.html €dit: <- das ist für die registry ;)

warum legst du nicht einfach en link zu deinem programm im autostart ordner an?

Mithrandir
10.06.2007, 13:34
http://www.tutorials.de/forum/visualstudio-mfc/177219-c-registry-eintraege-schreiben-lesen.html

warum legst du nicht einfach en link zu deinem programm im autostart ordner an?

weil's da einfache raus zu löschen ist
auserdem hab ich ja nich gesagt das ich des so machen will!

Noch ne Frage:

kann ich bei:

MessageBox( hwnd, (LPSTR) "bla",
(LPSTR) szClassName,
MB_ICONINFORMATION | MB_OK );
return 0;

auch nach bzw for dem "Bla" eine Variable Ausgeben?