
Bubble
Mitglieder-
Gesamte Inhalte
1565 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Bubble
-
Da Du nur wenige Erfahrungen mit der MFC hast, würde ich davon eher abraten (aufgrund des Zeitaufwandes). Schau Dir evtl. einmal die Windows.Forms Klassen des .NET Frameworks an, oder schau, ob sich Dein Lernspiel nicht mit anderen Mitteln (Flash, o.ä.) nicht schneller+einfacher umsetzen lässt. Wenn Du bei der MFC bleiben willst und C++ bereits kannst, wäre die erste Anlaufstelle die MFC Dokumentation in der MSDN. Ob Dich einführende Bücher zur MFC mit Deinem Spiel weiterbringen, glaube ich nicht so recht, denn ich denke es werden dort viele Beispiele durchgesprochen, die für Dein Spiel vermutlich irrelevant sind, während Aspekte der Spieleprogrammierung vermutlich nicht behandelt werden.
-
Deswegen spricht er ja auch von einem Decoder und nicht von einem Encoder
-
Warum willst Du Dich mit den MFC beschäftigen und wie gross sind Deine bisherigen Kenntnisse? Wenn man Deine Motivation kennt, kann man Dir evtl. eher einen Hinweis geben.
-
Du kannst anstatt CString auch std::string aus der STL nehmen. Mit der Methode c_str() kannst Du Dir ganz einfach einen Zeiger auf einen C-String geben lassen. Wenn Dir die maximale Länge der SQL Anfrage bekannt ist, kannst Du auch einen entsprechend großen Buffer anlegen und mit den ganz normalen C-Funktionen den String zusammensetzen.
-
DVDs verwenden MPEG2 als Video-Codec. Für diesen sind Lizenzabgaben zu zahlen, daher wirst Du praktisch keinen modernen MPEG2 Encoder als Freeware finden, allenfalls zeitlich beschränkte Demoversionen.
-
Bei dieser Vorgehensweise ist zu beachten, ob CString im verwendeten Umfeld Unicode verwendet oder nicht. Wenn es das tut, erfüllt der char * Zeiger auf die Zeichekette unter Umständen nicht die Erwartungen, da Unicode 2 Byte pro Zeichen verwendet.
-
Paralleles Arbeiten an einem Dokument möglich?
Bubble antwortete auf Christian-J's Thema in Anwendungssoftware
Mit allen Problemen, die sich durch den Mergevorgang ergeben. Da ist mir zumindest ein blockierendes (exclusives) Auschecken einer Datei lieber. -
Übers LAN auf andere (Backup-)Festplatten? Müssen natürlich so konfiguriert sein, dass im Normalbetrieb kein (böswilliges) Löschen der Backup-Daten über das Netz möglich ist.
-
Wenn Deine Balken eigenständige Controls sind, also nicht nur einfach so gezeichnet werden, kannst Du die Funktionalität den Controls hinzufügen. Wenn Du jedoch sehr viele Balken auf einmal darstellst, würde ich Dir empfehlen beim Zeichnen zu bleiben und die Mausposition auszuwerten.
-
Er will aber C# und nicht C lernen. @Halligalli12345: Geh am besten einmal in eine größere Buchhandlung und schau in einige Bücher hinein, um festzustellen, welches Dir am besten gefällt. Achte aber darauf, dass auf die Sprache eingegangen wird und sich nicht weite Teile des Buches mit Installation, IDE(s), umfangreicher Wiedergabe der .NET Klassenbibliothek oder evtl. GUI Programmierung beschäftigen, sondern dass primär auf die Sprache und erste Schritte der Programmierung eingegangen wird, am besten kombiniert mit kleineren Programmierübungen.
-
Postfix: Operator steht hinten, die beiden Operanden davor. Ist der eine Operand selbst ein Operator, muss sein Wert mit Hilfe der vor ihm stehenden Operanden gebildet werden. Nimm also Deine Eingabe und verarbeite sie von rechts nach links (von hinten nach vorne). Also besteht die Wurzel des Baumes aus einem "+", ein Blatt/Knoten ist ein "h", das 2. Blatt/Knoten ist der Operator "*". Dieser hat wieder die Unterknoten "g" und "-". So hangelst Du Dich komplett durch, bis Du den Baum aufgebaut hast.
-
- z.B. mit dem CPUID Befehl (Assembler), ist ab Pentium CPUs verfügbar (486er und älter kennen ihn nicht). - Die IP-Adresse solltest Du nicht verwenden, sie kann sich laufend ändern (DHCP, Einwahlverbindungen, usw.). Nimm lieber die MAC eines physikalischen Netzwerkadapters. Weiter wäre noch denkbar (wenn es wirklich nur kurzzeitig funktionieren soll): - CPU-ID (die Nummer, nicht der Befehl, aber nicht bei jeder CPU verfügbar) - Hardware ID der Festplatte - Verwendete Grafikkarte - Hardware-Bezeichnung des optischen Laufwerks - RAM-Ausbau
-
Willst Du eine Art Produktaktivierung entwickeln? Geht nicht. Aber eine Windows-Anwendung ohne Fenster, das ginge. Siehe Platform SDK. Sorry, aber das ist zu umfangreich, um es in einem Beitrag vollständig zu erklären.
-
Wenn Dispose von User-Code aufgerufen wird, dann wird für das Objekt "components" die Dispose Methode aufgerufen. Danach wird die Dispose-Methode der Parent-Klasse in jedem Fall aufgerufen. Für eine genaue Beschreibung zur Implementation von Dispose, lies die Dokumentation vom IDisposeable interface.
-
Die Verbindung ist eigentlich das Fenster von Virtual PC bzw. VMWare. Wie schon gesagt, kannst Du dem virtuellen PC die Netzwerkkarte streichen, aber dann hat er natürlich keine Netzwerk-Konektivität und kann von außen nicht erreicht werden. Mit einem Remote-Tool kannst Du dann folglich nur auf Deinen Host PC zugreifen und darüber indirekt auf das Fenster des Gast-Systems.
-
Die Frage ist nicht verständlich. Innerhalb einer VM kannst Du aber Netzwerkfunktionen auch nach aussen nutzen, wenn der Host-PC über die notwendige Netzwerkkonnektivität verfügt.
-
Die Anbindung verbessern, sofern das Problem nicht bereits beim "Sender" entsteht. Kommt drauf an, ob Du die Daten des Aussetzers nachträglich noch geliefert bekommst, oder ob sie einfach fehlen. Bei Live-Übertragungen macht es einfach keinen Sinn Aussetzer nachzuliefern, da es ja dann einen ungewollten Zeitversatz gäbe. Um welche Sender geht es? Auf die Betreiberseite hast Du vermutlich ohnehin keinen Einfluß.
-
MFC C++ Eine Datei erzeugen und diese dann mit Daten füllen!
Bubble antwortete auf Happymaker's Thema in C++: Compiler, IDEs, APIs
Das sind keine Leerzeichen! Du verwendest einen 2-Byte Zeichensatz und jedes Zeichen belegt demzufolge 2 Byte und diese beiden Bytes werden von "normalen" Editoren als zwei Symbole dargestellt. Es gibt in dem Zeichensatz auch Zeichen, wo das 2. Symbol kein "Leerzeichen" ist! Wenn Du nur einen 1-Byte (ASCII/ANSI) Zeichensatz verwenden willst, dann musst Du Deinen String selbst umwandeln (denn CString unter Windows CE verwendet einen 2-Byte Zeichensatz, unter Windows könntest Du es einstellen), den Namen einer Windows-Funktion dafür Funktion habe ich Dir bereits geschrieben. Mal was ganz anderes, Mein Szenario! Speicher sie an einer Stelle, die Dir angemessen erscheint. Es gibt dafür keine festen Regeln. XML zu schreiben ist eher trivial, das Einlesen ist die Schwierigkeit. Wenn Du .NET verwenden würdest, könntest Du ein DataSet verwenden. Dies kann seinen Inhalt als XML speichern und auch wieder einlesen. -
MFC C++ Eine Datei erzeugen und diese dann mit Daten füllen!
Bubble antwortete auf Happymaker's Thema in C++: Compiler, IDEs, APIs
Es liegt daran, dass Dein Programm Unicode verwendet. Ich glaube für Windows CE kannst Du es nicht abstellen. Wenn Du dennoch "normale" Textdateien aus CString Objekten erzeugen willst, musst Du die Strings vor dem Schreiben konvertieren, z.B. mit der API Funktion WideCharToMultiByte(...). Alternativ kannst Du auch Unicode Textdateien erzeugen, musst dann aber mit fwrite doppelt so viele Bytes schreiben, wie Dein Strings Zeichen enthält, da jedes Zeichen im Unicode Fall 2 Byte beansprucht. Also in meinem Beispiel die Zeile fwrite((LPCTSTR) str, str.GetLength(), 1, f); durch die Zeile fwrite((LPCTSTR) str, str.GetLength()*2, 1, f); ersetzen. Mit einem normalen Texteditor betrachtet hast Du dann allerdings Abstände zwischen vielen Zeichen. -
MFC C++ Eine Datei erzeugen und diese dann mit Daten füllen!
Bubble antwortete auf Happymaker's Thema in C++: Compiler, IDEs, APIs
Das Beispiel eben? Für den Beitrag rasch selbst geschrieben. -
MFC C++ Eine Datei erzeugen und diese dann mit Daten füllen!
Bubble antwortete auf Happymaker's Thema in C++: Compiler, IDEs, APIs
Das wird daran liegen, dass Dein CString Objekt einen 2-Byte Zeichensatz verwendet (z.B. Unicode) und nicht 7 oder 8 Bit ASCII. (In diesem Fall wird mein Beispiel auch nur die erste Hälfte des Strings in die Datei schreiben, da es in diesem Fall eigentlich doppelt so viele Bytes schreiben müsste. Für den Fall von Multi-Byte-Zeichen musst Du die Anzahl zu schreibender Bytes bei fwrite anpassen.) Wenn dich Multi-Byte Zeichen stören, dann musst Du den String konvertieren. Dabei können aber mit 7/8-Bit-Zeichensätzen nicht darstellbare Zeichen verloren gehen. -
MFC C++ Eine Datei erzeugen und diese dann mit Daten füllen!
Bubble antwortete auf Happymaker's Thema in C++: Compiler, IDEs, APIs
Gut, hier ein Beispiel für einen C-String, also ein mit 0 terminierten String (kein MFC CString Objekt), und für ein CString Objekt: #include <stdio.h> ... void Beispiel() { char text[] = "Dies ist ein Satz.\n"; CString str("Ein weiterer Satz in einem CString-Objekt."); FILE *f; f = fopen("Datei.txt","w"); // Flags w, b, a, r, usw. bitte in einem C-Buch nachschlagen, eine vollständige Erklärung aller erlaubten Flags wäre an dieser Stelle zu umfangreich if(f!=NULL) { // C-String schreiben: fwrite(text, strlen(text), 1, f); // Inhalt vom CString-Objekt schreiben, verwende LPCTSTR Operator zum Konvertieren in einen C-String: fwrite((LPCTSTR) str, str.GetLength(), 1, f); fclose(f); } } Alles ungetestet und nur als Beispiel aufgeschrieben. -
MFC C++ Eine Datei erzeugen und diese dann mit Daten füllen!
Bubble antwortete auf Happymaker's Thema in C++: Compiler, IDEs, APIs
Plattformübergreifende File I/O Funktionalität gibt es in C++ z.B. mit ofstream und ifstream aus der STL oder den klassischen C File I/O Funktionen (fopen, fwrite, fclose). -
Richtig, Du musst die beiden Zeiger vertauschen. Schreibe dazu am besten eine Funktion, die als einzigen Parameter einen Knoten bekommt. Diese Funktion vertauscht dann die beiden Zeiger und ruft sich anschließend für die beiden Knoten, auf die die Zeiger zeigen, selbst auf (natürlich nur, wenn die Zeiger gültig sind, also ungleich NULL). Damit hast Du bereits die rekursive Lösung.
-
Wenn es auf eine 100% sichere Synchronität von Bild und Ton nicht ankommt, würde ich für den Ton einfach den Eingang der Soundkarte nehmen. Für Überwachungsaufgaben gibt es auch spezielle Netzwerkkameras, teilweise auch mit WLAN. Wenn Du die Kamera draußen einsetzt, dann achte darauf, dass sie nie direkt in die Sonne blickt, denn Kameras, die dafür nicht ausgelegt sind, können durch langes "in die Sonne schauen" kaputt gehen. Viele Hersteller von Netzwerkkameras bieten auch spezielle Modelle für den Ausseneinsatz an.