Alle Beiträge von Klotzkopp
-
100mbit - 1000mbit problem?
Auf die durchschnittliche kommst du, indem du die übertragene Datenmenge durch die Dauer der Übertragung teilst. Die maximale kannst du nicht ausrechnen.
-
Popup bei Worteingabe
Du musst die Tastenabfolge, auf die du reagieren möchtest, in deinem Hook ablegen. Dann definierst du einen "Zeiger", den du auf das erste Element dieser Sequenz setzt. Immer, wenn dein Hook einen Tastendruck erkennt, setzt er diesen Zeiger entweder um einen Position weiter (wenn der Tastendruck der richtige war) oder eben zurück auf den Anfang (wenn es der falsche war). Wenn der Zeiger am Ende der Abfolge angekommen ist, kannst du die Aktion auslösen. Dieser Algorithmus hat allerdings ein paar Probleme, wenn das erste Zeichen auch nochmal innerhalb der Sequenz vorkommt.
-
Buch gesucht: Damit 2 generationen einer Meinung sind
Den Buchtitel finde ich nur als Zitat aus dem Film "Wag the Dog". Bist du sicher, dass es das Buch wirklich gibt?
-
Context Menü bei CListCtrl
Wie sieht denn dein Aufruf von TrackPopupMenu aus?
-
Tastenkombination & GetKeyState
Hast du eine Konsolenanwendung? Da wird Strg+C gesondert behandelt. Siehe: http://msdn.microsoft.com/library/en-us/dllproc/base/ctrl_c_and_ctrl_break_signals.asp SetConsoleCtrlHandler(0, TRUE);am Anfang deines Programms sollte also schon ausreichen.
-
Linker Problem mit SQLite
LordK, welchen Compiler bzw. welche Entwicklungsumgebung benutzt du? Je nachdem, kannst du nämlich direkt die .def-Datei linken oder mit entsprechenden Tools aus .def und .dll die passende .lib erzeugen lassen.
-
Einen markierten Bereich im Explorerfenster in den Sichtbereich scrollen
Was steht denn nach dem Aufruf in res?
-
ListView mir ProgressBar
Welches Steuerelement benutzt du denn? Gebaut oder "geklaut"? Und wie verwendest du diese Struktur? Ohne diese Informationen dürfte es schwierig werden, dir zu helfen.
-
Frage an Programmierer
Viele Programme werden nicht von einer einzelnen Person erstellt. Solches Wissen geht im Projekt gern mal verloren. Die eigentliche Ursache ist aber IMHO, dass die Entwickler die Installations- und Deinstallationsroutinen nicht selbst schreiben, sondern ein Installerpaket dazu benutzen. Der Umgang mit diesen Paketen ist nicht immer ganz problemlos - das mag an den Benutzern oder den Installern liegen - und daher kommt es da häufiger zu Schwierigkeiten, die nur mit viel zeitaufwändigem Testen behoben werden können. Zeit ist Geld, und gerade das Funktionieren der Deinstallationsroutine steht da ganz weit hinten. Kaum ein Softwareunternehmen wird die meist ohnehin schon knappe Zeit darauf verwenden, dass eine vergleichsweise unwichtige Funktionalität in möglichst vielen Konfigurationen richtig arbeitet, zumal diese Funktionalität nur von "Ex-Kunden in spe" benutzt wird.
-
MySQL++
Das war nicht so gut. Üblicherweise kopiert man nicht die Bibliothek zum Programm, sondern stellt in der Entwicklungsumgebung ein, wo nach Headerdateien gesucht werden soll. Leider hast du nicht geschrieben, welche Entwicklungsumgebung du benutzt, deshalb nur der allgemeine Tipp. Ich bin mir auch nicht sicher, ob du das richtige Paket runtergeladen hast. Hast du mal die FAQs auf der Seite und die READMEs gelesen? P.S.: Bei C und C++ spricht man allgemein nicht von "Skripten".
-
Integer in Float/Double umwandeln
float hat nur 7 Stellen Genauigkeit, dieser Datentyp ist mit solchen Werten schlicht überfordert.
-
Integer in Float/Double umwandeln
Wandle mindestens einen an der Division beteiligten Wert in double um, bevor du dividierst.
-
Integer in Float/Double umwandeln
Und das ist auch richtig so. Ich hab doch gerade erklärt, wieso. :confused: setprecision "sieht" 5 Stellen vor dem Komma, als hört's da auf mit der Darstellung. Wenn du noch Nachkommastellen dazu willst, solltest du einen höheren Wert als 5 angeben. Nur nochmal als Tipp: time_t t = time(0); COleDateTime odt(t); DATE d = odt.m_dt;[/CODE]
-
Integer in Float/Double umwandeln
Ach so. Ganz einfach: setprecision zählt alle Stellen, nicht nur die Nachkommastellen. Bei einer Zahl >= 10000 siehst du also mit setprecision(5) keine Nachkommastellen. Übrigens: Falls du MFC benutzen kannst, wäre COleDateTime vielleicht etwas für dich.
-
Integer in Float/Double umwandeln
1113325003 / 86400 + 25569 + 3600 ist bei mir etwa 42054,7. Wenn man berücksichtigt, dass du da eine Integerdivision machst, 42054. Keine Ahnung, wie du auf 38453,95834 kommst. Deine Formel verstehe ich auch nicht. Was du mit "Windowsformat" meinst, ist auch unklar.
-
Verzeichniss kopieren
Du solltest die gesamte Struktur mit 0 initialisieren. Sonst haben Member, die du nicht zuweist, zufällige Werte. Das ist nicht in deinem Interesse: SHFILEOPSTRUCT shCopy [B]= {0}[/B];pFrom und pTo brauchen doppelte Nullterminierung (sagt die MSDN Library). Ansonsten kann ich nur auf meine Signatur verweisen. Welchen Rückgabewert bekommst du denn?
-
Verzeichniss kopieren
Ja, kann ich. Aber in der MSDN Library steht's auch. Gibt es ein konkretes Problem?
-
Verzeichniss kopieren
Doch, gibt es: SHFileOperation.
-
Und nochmal ich :)
Die Ausgabe von rekursiven Funktionen kann verwirrend sein. Vertrau mir. Zu welchem Zweck? Was soll dabei am Ende rauskommen? Der Rückgabewert ist ja immer 0. Syntaktische Fehler hast du nicht drin, sonst würde sich der Compiler beschweren. Offensichtlich ist nur, dass du dringend ein Codereview brauchst, dann käme man den logischen Fehlern viel einfacher auf die Schliche. Wir sind aber nicht in der Kirche Als jemand, der nach eigener Aussage mit seinen C++-Kenntnissen gerade am Anfang steht, solltest du den Leuten hier - die teilweise mehrere Jahre Erfahrung haben - etwas mehr zutrauen, und deinem Bauchgefühl (prüfen willst du ja nicht) etwas weniger. Der Zweck wäre für den Anfang schon ausreichend. Es liegt weniger an dem Codeschnipsel, als daran, dass der Zweck des Codes nicht klar ist, und du auf Erkenntnissen beharrst, die IMHO aus Bauchgefühlen gewonnen wurden. Wenn du noch etwas beitragen möchtest, PN an mich. -> Geschlossen.
-
Und nochmal ich :)
Woraus schließt du, dass "er" in den case 3 reingeht? Hast du das mit dem Debugger geprüft? Wie beliar schon sagte, du brauchst "this->" nur dann, wenn du auf eine lokale Variable zugreifen willst, die genause heißt wie eine Membervariable. Für Methodenaufrufe brauchst du es auf keinen Fall. Vermutlich kannst du in deinem Code jedes this-> einfach löschen. Was meinst du mit "ansehen"? Ich bin nicht in der Lage, aus dem Code zu erkennen, was der Zweck des Ganzen ist. Ich vermute aber, dass man den ganzen Code auf etwa 10% der Größe zusammenstreichen könnte. Nein, leider nicht. Es ist immer noch nicht klar, was der Code tun soll. Was bedeuten die cases überhaupt? Warum die leichten Unterschiede in den 4 case-Blöcken? Nach welchem System rufst du setDirection oder setNextBegin auf? Ist die Rekursion beabsichtigt?
-
Und nochmal ich :)
Leider ist weder aus der Problembeschreibung noch aus dem Code zu erkennen, was du mit "3 Schritte" meinst. Einen Vektor sehe ich auch nicht. Wenn du wenigstens auf diesen "this->"-Unsinn verzichtet hättest - ich habe den Eindruck, dein Code wäre nur noch halb so lang - und auf eine ordentliche Einrückung geachtet hättest, dann wäre Code halbwegs lesbar geworden. Aber so verstehe ich nicht im geringsten, wo das Problem liegt. Der Betreff, den du gewählt hast, hilft auch nicht weiter. "Und nochmal ich :)" sagt nichts über das Problem aus. Normalerweise ändere ich so was ab, aber da ich bei dir absolut nicht erkennen kann, was das eigentliche Problem ist, bin ich machtlos. Also bitte: Nachbessern. Ich nehme an: cout << "last direction (goNorth2): " << this->getDirection() << endl; [/code] Hier bekommst du als Ausgabe 1. Dir ist klar, dass case 3 vor der Ausgabe noch eine weitere Funktion aufruft (goWest oder goEast), die du zwar nicht gezeigt hast, die aber womöglich ähnliche Ausgaben erzeugen?
-
2dim Arrays mit Werten füllen -> Endlosschleife..wtf?
Wie sieht denn die Deklaration der structs aus?
-
EVENT für Dockingstation
Eben gefunden: DBT_CONFIGCHANGED. Das kommt in Form einer WM_DEVICECHANGE-Nachricht. Könnte funktionieren.
-
EVENT für Dockingstation
Du könntest regelmäßig die Einträge in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM durchsuchen (zumindest unter XP).
-
EVENT für Dockingstation
Möchtest du eine allgemeingültige Lösung, oder nur für diesen konkreten Fall? Wenn letzteres: Gibt es ein Gerät (z.B. COM Port), das nur vorhanden ist, wenn der Rechner gedockt ist?