Alle Beiträge von Klotzkopp
-
gleichungen mit phyton
Dazu musst du sagen, was gegeben ist, und was errechnet werden soll.
-
Laufwerke und ihre Buchstaben
MSDN sagt: Du musst also einen Zeiger übergeben, der auf auf eine DWORD-Variable zeigt. Dein Zeiger ist uninitialisiert und zeigt damit irgendwo hin, aber nicht auf eine exisiterende DWORD-Variable. Eigentlich müsste dir das mit einer Schutzverletzung um die Ohren fliegen. DWORD SerNum; GetVolumeInformation(CDDrive, CD_Name, MAX_PATH, &SerNum, NULL, NULL, NULL, NULL); [/CODE]
-
LPCSTR und CString
Mein Fehler, sorry Hier darf als letzter Parameter nicht die Gesamtlänge, sondern nur die Länge des letzten Strings stehen, in deinem Fall also 21.
-
LPCSTR und CString
ReleaseBuffer ist void, gibt also nichts zurück. return str; sollte schon reichen. Die 17 musst du erst ausrechnen, falls die Strings test, ste und sst keine feste Länge haben (Länge von test + Länge von ste + Länge von sst + Länge von "ende" + 3 für die drei Nullzeichen dazwischen).
-
Hardwareempfehlung: USB Memory Stick
Im oberen Preisbereich würde auch eine 2,5-Zoll-Festplatte samt USB2-Gehäuse in Frage kommen. Passt einfach mehr drauf.
-
LPCSTR und CString
"Geht nicht" ist keine ausreichende Fehlerbeschreibung. Was bedeutet "geht nicht"? Wie sieht dein Code aus?
-
Laufwerke und ihre Buchstaben
Bei mir funktioniert es. Zeig doch mal deinen Code.
-
LPCSTR und CString
Du kannst keine der CString-Funktionen benutzen, wenn du so etwas machen willst. Das schließt auch den operator+ ein. Folgendes funktioniert: CString str,test,ste,sst,ende; test="test";ste="ste";sst="sst";ende="ende"; LPSTR p = str.GetBuffer(17); memset(p, 0, 17); memcpy(p, test, test.GetLength()); p += test.GetLength() + 1; memcpy(p, ste, ste.GetLength()); p += ste.GetLength() + 1; memcpy(p, sst, sst.GetLength()); p += sst.GetLength() + 1; memcpy(p, ende, ende.GetLength()); str.ReleaseBuffer(17); [/CODE]
-
LPCSTR und CString
Nein, eigentlich nicht. Die Nullzeichen zwischen den Teilstrings bekommst du mit Format nicht rein. CString str; LPSTR p = str.GetBuffer(17); memcpy(p, "test\0ste\0sst\0ende", 17); str.ReleaseBuffer(17);[/CODE] Das wiederum brauchst du gar nicht. CString hat einen Konvertierungsoperator dafür.
-
zahl zu serie zuweisen
Im zweiten Beitrag
-
Timer als Thread in C++
Drei Tipps von mir: 1. Wenn deine main-Funktion beendet ist, endet auch dein Programm. 2. Du kannst mit Sleep keine genaue Zeitsteuerung hinbekommen. Sleep sorgt dafür, dass der aufrufende Thread frühestens nach der angegebenen Zeitspanne wieder ausgeführt wird. Es kann aber durchaus auch später sein - bei Dir wird es immer später sein. Beim Multitasking werden ja erstmal die anderen Threads ausgeführt. Wenn die unter Volllast laufen, nutzen sie ihre ganze Zeitscheibe aus, bis der Windows-Scheduler auf den nächsten Thread wechselt. Allgemein ist die Auflösung der Sleep-Anweisung maximal nur so groß wie die Zeitscheibe des Betriebssystems. 3. Wenn du mit Threads zu tun hast, verlässt du die Welt von Standard-C++. Daher verschoben: -> C++: Compiler, IDEs, APIs
-
C++ Programm in Setup-Programm
Wenn mscoree.dll fehlt, bedeutet das, dass du ein .NET-Programm auf einem Rechner auszuführen versuchst, auf dem das .NET-Framework nicht installiert ist. Siehe auch: http://support.microsoft.com/?kbid=316091
-
_beginthreadex funktioniert nicht
Du musst den Compiler anweisen, die Multithreaded-Version der Laufzeitbibliothek zu benutzen. Das sollte mit einem Kommandozeilenschalter (bei MSVC: /MT) gehen, oder über die Projekteinstellungen deiner Entwicklungsumgebung. Und weil das kein Standard-C++-Problem ist: Verschoben: -> C++: Compiler, IDEs, APIs
-
Daten eines TreeCtrl's an ein anderes übergeben
Du kannst dem zweiten Dialog doch einfach einen Zeiger auf das Quell-Treecontrol übergeben und die Daten in OnInitDialog kopieren.
-
Daten eines TreeCtrl's an ein anderes übergeben
Es gibt da keine vorgefertigte Funkion. Du musst die Items des Quellbaums "zu Fuß" durchgehen und in den anderen Baum kopieren. Am einfachsten geht das rekursiv. Benutzt du die MFC?
-
[Pascal] bubblesort sortiert erst nach einigen durchläufen korrekt
Du darfst getauscht nicht bei jedem Schleifendurchlauf auf false setzen, sondern nur einmal, vor der Schleife. Sonst überschreibst du den true-Wert von einem vorausgegangenen Durchlauf ja wieder. Dadurch wird der Vorgang nur wiederholt, wenn das letzte und vorletzte Element vertauscht werden mussten.
-
Pascal legt den Turbo ein
Verschoben: --> Delphi/RPG+CL/C#/Sonstige
-
float - Rundungsfehler?
Alternativ kann man die Zahl auch als Bruch darstellen: 0.45 = 45/100 = 9/20. Nur wenn der Nenner eine Potenz von 2 ist, lässt sich die Zahl als float/double ohne Fehler speichern.
-
C++: Enum-Iteration
Die symbolischen Konstanten des enums sind nur zur Compilezeit bekannt. Durch den Cast von int nach months beim Aufruf von function hebelst du die Compilezeit-prüfung aus. Eine Laufzeitprüfung findet grundsätzlich nicht statt.
-
zahl zu serie zuweisen
Entscheidend ist das Teilen durch 15. Das Ergebnis der Division durch 15 erhöht sich um 1, wenn der Dividend um 15 größer wird. Genau so verhalten sich die Karten zu den Serien. Das mit der 1, die am Anfang abgezogen und hinterher wieder draufgerechnet wird, hat nur den Grund, dass sowohl die Karten als auch die Serien bei 1 beginnen. Würden beide bei 0 anfangen, würde es ausreichen, einfach nur durch 15 zu teilen. Naja, das ging mehr oder weniger automatisch.
-
zahl zu serie zuweisen
Sicher geht das einfacher: Von der Kartennummer 1 abziehen, (ganzzahlig) durch 15 teilen und wieder 1 addieren.
-
MS V C++ - Programm bei Minimieren ausblenden
Schau mal hier rein: http://forum.fachinformatiker.de/showthread.php?t=42926
-
Alle .NET-IDEs: Langsam!!
Ganz sicher nicht. Nicht als .NET-Programm. Darum hat MS auch den Native C++ Compiler bei VS.NET 2003 so stark verbessert, was?
-
Alten DLL-Export anpassen (war: Brauche Hilfe in C++)
Lass mal das __saveregs weg.
-
Umrechnungs Proggi von römischen Zahlen in arabische. Komische Reaktion.
Na dann nimm dir doch meinen Rat mal zu Herzen: Wenn i Null ist, solltest du nicht auf eingabe[i-1] zugreifen.