Alle Beiträge von Klotzkopp
-
Klasse CPropertyPage
Das lässt sich ändern: CPropertyPage ist eine MFC-Klasse, die bei sogenannten Property Sheets Verwendung findet. Das sind diese Dialoge mit den Registern, aber auch Wizards (mit den Vor- und Zurück-Buttons). Property Sheet ist dabei der Begriff für das Ganze, Property Page ein einzelnes Register / eine einzelne Wizard-Seite. Infos zu CPropertyPage: http://msdn.microsoft.com/library/en-us/vcmfc98/html/_mfc_cpropertypage.asp Allg. Info zu Property Sheets: http://msdn.microsoft.com/library/en-us/vccore98/HTML/_core_property_sheets.asp
-
WriteFile und '\n'
Ob "\n" funktioniert, wird davon abhängen, was für eine Art Datei du erzeugst, weil es auf das jeweilige Programm ankommt, das die Datei interpretiert. Versuch mal "\r\n".
-
Zwischenablage
Es gibt EmptyClipboard: http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/DataExchange/Clipboard/ClipboardReference/ClipboardFunctions/EmptyClipboard.asp
-
Hex in Dezimalzahl umwandeln, wer kann helfen??
Das Problem ist, dass Du davon ausgehst, dass index für die erste eingegebene Ziffer 7 ist. Das ist nur bei achtstelligen Zahlen der Fall. Abhilfe: Nach der Eingabe index auf strlen(hex)-1 setzen.
-
Raetsel
Es gibt keine ausgezeichnete Achse, die darüber entscheidet. Die Invertierung genau einer Achse, egal wie sie im Raum liegt, bewirkt den Wechsel von links nach rechts und zurück. Die Begriffe "links" und "rechts" stammen aus aus dem Sprachgebrauch, und haben mit der Lage der gespiegelten Achse nichts zu tun. <schulsachen rauskram> Ein Objekt, das nicht mit seinem Spiegelbild zur Deckung gebracht werden kann, heißt "chiral", vom griechischen Chiro, zu Deutsch Hand(!). Das ist es übrigens auch, was die Unterschiede zwischen links- und rechtsdrehender Milchsäure ausmacht. Das Molekül ist chiral, und die beiden Formen haben unterschiedliche optische Eigenschaften.
-
Raetsel
Hmm, ich glaube, der Ansatz mit dem Vertauschen von vorn und hinten ist schon ganz richtig. Genauer gesagt ist das Bild, das ein Spiegel liefert, entlang einer Raumachse "invertiert". Diese Achse steht senkrecht zur Oberfläche des Spiegels. Bei einem aufrecht stehenden Spiegel wird also tatsächlich "vorn" und "hinten" vertauscht. Der Effekt, dass dabei das Abbild z.B. einer rechten Hand plötzlich eine linke Hand zu sein scheint, liegt daran, wie wir überhaupt entscheiden, ob eine Hand eine "linke" oder eine "rechte" ist. Selbst bei abgetrennten Händen ist diese Unterscheidung ja problemlos möglich. Es ist eine Eigenschaft der Hand selbst, und nicht an die Wahrnehmung gekoppelt. Bei einer flachen Hand mit abgespreiztem Daumen bilden dieser, der ausgestreckte Zeigerfinger, und eine gedachte Achse, die aus der Handfläche herausragt, jeweils zueinander Rechte Winkel (für die E-Techniker: so wie bei der Richtungsbestimmung der Lorentzkraft). Allerdings ist die Ausrichtung - sozusagen das Vorzeichen - der Achsen bei der linken und der rechten Hand nicht gleich. Man kann jeweils zwei Achsen zur Deckung bringen, aber die dritte weist dann in die entgegengesetzte Richtung. Im Umkehrschluss heißt das, dass man durch Umkehren der Richtung einer der Achsen unter Beibehalten der beiden anderen eine linke in eine rechte Hand überführen kann. Und genau das macht der Spiegel. Ein anderes anschauliches Beispiel: Eine Schraube. Es ist egal, in welcher Ausrichtung die Schraube vor dem Spiegel liegt, oder ob ein Mensch oder eine Kamera das Spiegelbild betrachtet: Wenn die Schraube ein Rechtsgewinde hat, hat das Spiegelbild ein Linksgewinde.
-
Prüfungsbereich wählbar
http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=32170&werbeid=12
-
Button
Du weist die Bilder immer demselben Button zu.
-
Button
Der richtige Ort für solche Sachen ist OnInitDialog. Wenn Deine Dialogklasse diese Methode nicht hat, kannst Du sie einfach hinzufügen, indem Du im Klassenassistenten eine Nachrichtenbehandlungsmethode für WM_INITDIALOG einrichtest. UpdateData kümmert sich nur um den Datenaustausch zwischen Value-Membervariablen und Steuerelementen - in die eine oder die andere Richtung.
-
Linker-Warnung 4076 (war: compilerfehler)
Das ist compilerspezifisch, also verschieb ich das mal... MSVC bietet die Möglichkeit, inkrementell zu linken. Das bedeutet, dass die EXE oder DLL nicht komplett neu gelinkt werden muss, wenn ein Modul dazukommt. Dazu erstellt MSVC eine ILK-Datei. Wenn diese Datei korrupt oder schreibgeschützt ist, tritt diese Warnung auf. MSVC linkt dann einfach komplett neu. Ursache kann z.B. sein, dass bei der Verwendung von SourceSafe die ILK-Datei eingecheckt wurde, und daher schreibgeschützt ist. Abhilfe: Die ILK-Datei löschen bzw. den Schreibschutz entfernen.
-
VB: rsDSumme.Fields("Summe") = Null
Wenn die Bedingung wahr ist, wirken sich der IF- und der ELSE-Zweig ohnehin gleich aus, oder sehe ich das falsch?
-
harte nuss
Zu 1: Ein Frequenzspektrum kannst Du über FFT ausrechnen. Bei einer Abtastzeit von 1/100 Sekunde ist die Auflösung allerdings mit 100 Hz recht grob. Zu 2: Dazu musst Du die Datei "parsen", damit Du weißt, an welcher Stelle Du was ändern musst. Wie das im einzelnen geht, hängt vom Dateiformat ab. Infos über das WAV-Format gibts z.B. hier. PS.: Der Titel des Threads ist ungünstig
-
einzelnes Zeichen anhängen ?
if( counter > 0 ) { strncpy( NeuEingabe, Eingabe, counter ); } NeuEingabe[counter] = '\0'; strcat( NeuEingabe, Eingabe + counter + 1 ); [/CODE]
-
Was für eine Größeneinheit ist "HE"
1 HE = Höheneinheit = 44,45 mm = 1,75 Zoll.
-
einzelnes Zeichen anhängen ?
@wasweißich: Das ist ein und dasselbe, es gibt nicht wirklich einen Unterschied zwischen '\0' und (char)0. @gugelhupf: ... unsigned int len=strlen(Eingabe); [COLOR=red]char szTemp[2]; szTemp[1] = 0;[/COLOR] if (len==0) cout << Fest; else { for (counter=0;counter<len;counter++) { [COLOR=red]szTemp[0] = Eingabe[counter];[/COLOR] strcpy(NeuFest,Fest); // es soll sein: NeuFest=Fest+Zeichen !!?? strcat(NeuFest,[COLOR=red]szTemp[/COLOR]); ... [/CODE] Mir ist allerdings nicht klar, was Du mit "NeuEingabe=Eingabe ohne Zeichen" meinst. Soll das Zeichen herausgeschnitten werden? Oder soll alles bis zu diesem Zeichen abgeschnitten werden? Nachtrag: Da das eine rekursive Funktion ist, solltest Du die Arrays besser auf dem Heap anlegen.
-
einzelnes Zeichen anhängen ?
Zunächst mal kannst Du einen char nicht mit einem Stringliteral initialisieren. Selbst wenn das ein Tippfehler war, und da "char* str" steht, darfst Du nichts anhängen, weil kein Speicher für das zusätzliche Zeichen geholt wurde. Zweitens musst Du zum Anhängen strcat verwenden. Allerdings akzeptiert strcat kein char als Argument. Und wenn Du die Adresse von zeichen angibst, hast Du ein dickes Problem, weil an der Speicherstelle danach mit sehr hoher Wahrscheinlichkeit kein Nullbyte steht. strcat fügt aber bis zum Stringendezeichen an. Das sollte es tun: char str[10]; strcpy( str, "Test" ); char zeichen[2]; zeichen[0] = 'G'; zeichen[1] = 0; strcat( str, zeichen );
-
Lord of the Rings: The Two Towers Trailer
Aus gegebenem Anlass wärme ich dieses Thema wieder auf: Es gibt einen neuen Trailer! Die erwartungsvolle Fangememeinde möge sich an die gleiche Adresse wenden, die schon ganz oben steht . Ach ja, die Full-Screen-Version hat etwa 40 MByte. Und man sieht ganz kurz einen Ent, wenn auch nur die untere Hälfte.
-
Mdi
Du brauchst für jede "Art" von Dokument eine Instanz von CMultiDocTemplate. Darin gibst Du die Frame-, View- und Dokumentklasse an. Hier ist ein Beispiel.
-
Zugriff auf serielle Schnittstelle
Die Suchfunktion liefert diese drei Threads, wenn man dieses Forum nach "COM1" durchsucht. Der erste ist Deiner, aber die anderen beiden sollten Dir weiterhelfen. CreateFile ist m.W. im BCB verfügbar.
-
MDI-Anwendung
Bitte die Boardregeln beachten, insbesondere Punkt 9. Danke. --> Thema geschlossen.
-
Textdatei lesen
CStdioFile LesenDatei, SchreibenDatei, RestDatei; LesenDatei.Open( "c:\\datei1.txt", CFile::modeRead ); SchreibenDatei.Open( "c:\\datei2.txt", CFile::modeWrite | CFile::modeCreate ); RestDatei.Open( "c:\\datei3.txt", CFile::modeWrite | CFile::modeCreate ); CString strZeile; while( LesenDatei.ReadString( strZeile ) ) { CString strDaten = strZeile.Left( 15 ); strDaten += strZeile.Mid( 16, 4 ); strDaten += strZeile.Mid( 21, 3 ); strDaten += strZeile.Mid( 25, 9 ); SchreibenDatei.WriteString( strDaten ); CString strRest = strZeile.Mid( 34 ); RestDatei.WriteString( strRest ); } LesenDatei.Close(); SchreibenDatei.Close(); RestDatei.Close();[/CODE]
-
Textdatei lesen
JUSPEPHI16196666500W 0002790 02705 JUSP 123456789012345678901234567890123456789012 (Abzähl-Zeile)[/CODE] Habe ich das so richtig verstanden? 1 bis 15: JUSPEPHI1619666 17 bis 20: 500W 22 bis 24: [Leerzeichen]00 26 bis 34: 2790[Leerzeichen][Leerzeichen]027 Rest: 05[Leerzeichen][Leerzeichen]JUSP
-
Textdatei lesen
Du solltest uns wirklich mal sagen, was genau Du prüfen willst. Niemand wird anhand dieser Zeile erkennen können, was hier relevante Daten sind. Haben die Zeilen einen einheitlichen Aufbau, durch feste Feldgrößen, Delimiter oder Schlüsselworte?
-
Textdatei lesen
1. Wenn pfad ein char-Array oder char* ist, dann darfst Du bei scanf nicht die Adresse angeben. 2. Wenn Du bei fopen pfad in Anführungszeichen setzt, hält der Compiler das für ein Literal, nicht für eine Variable. Also: scanf("%s", pfad); datei1 = fopen( pfad, "r");
-
Textdatei lesen
CStdioFile datei1; if( !datei1.Open( "c:\\datei1.txt", CFile::modeRead ) ) { MessageBox( "Konnte datei1 nicht öffnen!" ); return; } CStdioFile datei2; if( !datei2.Open( "c:\\datei2.txt", CFile::modeWrite | CFile::modeCreate ) ) { MessageBox( "Konnte datei2 nicht öffnen!" ); return; } CString strZeile; while( datei1.ReadString( strZeile ) ) { datei2.WriteString( strZeile ); } datei1.Close(); datei2.Close(); [/CODE]