Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Die passende Funktion heißt read. Ich glaube aber nicht, dass dir die weiterhilft. Im Beispielcode wurden wohl nicht ohne Grund ioctl benutzt. Das Problem ist, dass du nicht weißt, was Schlüsselwörter wie struct und static überhaupt bedeuten. Du kannst dieses Problem nicht lösen, ohne vorher den richtigen Umgang mit den Werkzeugen zu lernen. Code zum Auslesen von CDs bringt dir gar nichts, das hat mit deinem Problem nichts zu tun. Such nicht nach Beispielcode. Du bist nicht in der Lage, für dich hilfreichen Code als solchen zu erkennen. Halte dich an die Dokumentation von open, read und ioctl. Und arbeite ein paar Grundlagentutorials durch. Sonst bist du in einem Jahr noch nicht fertig. Das, was du bisher geschafft hast, sollte selbst bei einem Anfänger eigentlich nicht länger als eine Stunde gedauert haben.
  2. Deklarierst du struct mannschaft_t vielleicht mehrfach?
  3. Es ist meist effektiver, wenn man die Fehlermeldungen der Reihe nach bearbeitet. Der Compiler kann nach einem Fehler schon mal "aus dem Tritt kommen". Daher ist auch die Anzahl der Fehler wenig aussagekräftig. Interessant ist zuerst immer nur der erste gemeldete Fehler. Also lass den mal sehen.
  4. Wäre schön, wenn du eine bessere Fehlerbeschreibung liefern könntest als "das funktioniert irgendwie nicht."
  5. Stichwort: MDI. Wenn du dialogartige Fenster willst, kannst du CFormView als Basisklasse für die Viewklasse benutzten.
  6. Nicht ganz. Wenn du ein char-Array ohne Längenangabe mit einem Literal initialisierst, wird die Länge des Literals benutzt, in deinem Fall 1.
  7. Benutzt du irgendwelche großen Arrays in dem Dialog? Wie sieht die Aufrufliste (Call stack) aus?
  8. Das ist das Problem. akt_parameter_name ist ein Array mit einem Element, und zwar dem Stringende-Zeichen. Jeder Zugriff mit einem anderen Index als 0 bewirkt undefiniertes Verhalten.
  9. Der übliche Weg ist der, den Prozess, der die Datei blockiert, zu beenden. Da das in diesem Fall offenbar svchost.exe ist, ist davon abzuraten. Du könntest auch versuchen, das Handle im blockierenden Prozess zu schließen. Das könnte aber die gleichen Folgen haben. Bei so einem Problem drängt sich mir immer die Frage auf: Wozu? Vielleicht kann man das, was du damit zu erreichen versuchst, auch einfacher machen. Und weil das alles nicht mit Standard-C/C++ machbar ist -> Verschoben.
  10. std::map::rbegin
  11. Der Filedeskriptor stellt nur ein Handle dar, mit dem du auf die Schnittstelle zugreifen kannst. Er beinhaltet selbst noch keine ausgelesenen Daten. Daher ergibt es auch keinen Sinn, den "Wert" des Deskriptors auszugeben. Entscheidend ist nur, ob er ungleich Null (nicht größer als Null) ist, denn nur dann hat das Öffnen der Schnittstelle funktioniert.
  12. Funktion ist richtig Aber warum in main? Ich will damit nicht sagen, dass es falsch ist. Aber man sollte schon begründen können, welcher Code wo steht. Sonst erweckt man den Eindruck, dass der Code eher ein Ergebnis spontaner Launen als von ordentlicher Planung ist. Nein, eigentlich nicht. fopen gibt einen Nullzeiger zurück, wenn es fehlschlägt. Ja.
  13. Ich will dich nicht entmutigen, aber wenn Wille allein reichen würde, um Probleme zu lösen... Warum willst du das in main machen? Kennst du printf? Die Frage war eigentlich nicht mit Quellcode zu beantworten Das Problem ist, dass dir eine sehr steile Lernkurve bevorsteht, wenn du gleich mit so etwas komplexen anfängst. Was dir fehlt, müsstest du dir in mehreren Wochen, wenn nicht Monaten aneignen. Das ist nichts, was wir dir hier mal eben erklären könnten. Ich rate dir, mit einfacheren Aufgaben Erfahrung zu sammeln.
  14. Vielen Dank für die Blumen, aber ich weiß leider nicht alles, die MSDN habe ich nur lokal installiert, Geduld habe ich nur, weil Erklären langfristig weniger Arbeit verursacht als fertigen Code hinklatschen, und wenn was funktioniert, ist es meist Zufall. :floet:
  15. Möglicherweise kannst du über die Warteschlange des Druckers erkennen, ob der IE fertig ist. Sobald der Druckjob in der Warteschlange erscheint, sollte es so weit sein. Wie das genau geht, weiß ich nicht. Ich kann dir nur ein paar Stichworte liefern: GetDefaultPrinter OpenPrinter EnumJobs
  16. Vermutlich meint realisticer, dass deine Aufgabe und deine Fähigkeiten so weit auseinanderliegen, dass er nicht glaubt, dass jemand das ernsthaft versuchen würde. Eine Variable "liest" nicht den Port. open_port ist keine Variable, sondern eine Funktion. Diese Begriffe sind aber absolute Grundlagen. In der Funktion open_port öffnest du die serielle Schnittstelle, aber du liest nichts aus. Was willst du "ihm" denn "sagen"? Maulwurf_der_Schlaue meint den Rückgabewert von fopen. Du weißt, was fopen zurückgibt, wenn der Aufruf fehlschlägt? Ohne dir zu nahe treten zu wollen, ich fürchte, diese Aufgabe ist für dich mehrere Nummern zu groß. Du hast noch viel zu große Probleme mit den Grundlagen.
  17. Die Zeiten, zu denen man noch direkt auf die Hardwareports zugreifen konnte, sind vorbei. Moderne Betriebssysteme lassen so etwas nicht mehr zu. Zudem: wer sagt, dass der Drucker an der parallelen Schnittstelle hängt?
  18. Klotzkopp

    Snooker-Aufgabe

    Hier ist meine rekursive Lösung. Müsste halt noch kommentiert werden. Mach ich vielleicht später noch, wenn ich Zeit habe #include <vector> #include <algorithm> #include <iostream> using namespace std; typedef vector<int> sequence; void recurse(vector<sequence>& result, sequence& s, int lowestball, int score) { switch(score) { case 0: result.push_back(s); break; case 1: if(s.size() < 30) { s.push_back(1); result.push_back(s); } break; case 2: // geht nicht break; default: if(s.size() < 30) { s.push_back(1); --score; int maxball = min(score, 7); for(int i=lowestball; i<=maxball; ++i) { sequence test(s); test.push_back(i); recurse(result, test, i, score - i); } } } } int main() { for(int i=1; i<=120; ++i) { vector<sequence> result; sequence s; recurse(result, s, 2, i); cout << "Score: " << i << " No. of sequences: " << result.size() << '\n'; } }[/CODE]
  19. Die MSDN Library ist dein Freund: typedef enum { OLECMDID_OPEN = 1, OLECMDID_NEW = 2, OLECMDID_SAVE = 3, OLECMDID_SAVEAS = 4, OLECMDID_SAVECOPYAS = 5, OLECMDID_PRINT = 6, OLECMDID_PRINTPREVIEW = 7, OLECMDID_PAGESETUP = 8, OLECMDID_SPELL = 9, OLECMDID_PROPERTIES = 10, OLECMDID_CUT = 11, OLECMDID_COPY = 12, OLECMDID_PASTE = 13, OLECMDID_PASTESPECIAL = 14, OLECMDID_UNDO = 15, OLECMDID_REDO = 16, OLECMDID_SELECTALL = 17, OLECMDID_CLEARSELECTION = 18, OLECMDID_ZOOM = 19, OLECMDID_GETZOOMRANGE = 20 OLECMDID_UPDATECOMMANDS = 21 OLECMDID_REFRESH = 22 OLECMDID_STOP = 23 OLECMDID_HIDETOOLBARS = 24 OLECMDID_SETPROGRESSMAX = 25 OLECMDID_SETPROGRESSPOS = 26 OLECMDID_SETPROGRESSTEXT = 27 OLECMDID_SETTITLE = 28 OLECMDID_SETDOWNLOADSTATE = 29 OLECMDID_STOPDOWNLOAD = 30 } OLECMDID; [/code] Allerdings glaube ich auch, dass dir QueryStatusWB nicht weiterhelfen wird. Im Usenet scheinen schon mehrere Leute genau dieses Problem gehabt zu haben, aber eine "schöne" Lösung hat wohl niemand gefunden. IIRC war ein Lösungansatz, die temporäre Datei zu beobachten, die der IE zum Drucken anlegt und wieder löscht, wenn er damit fertig ist.
  20. Kein Fehler, ich wollte nur den Grund klarstellen Dann kann ich verstehen, warum die keinen vollständigen Code rausrücken wollen Ich glaube nicht, dass dir das Codefragment besonders viel nützt. Das scheint ein Auszug aus einem erheblich größeren Programm zu sein. sensorcodes z.B. ist ein Array von mindestens 29 Strings, deren Inhalte dynamisch geprüft werden. Diese Inhalte werden aber in dem Fragment nirgendwo gesetzt. Gibt es eine Dokumentation?
  21. Du tippst Code ab? :eek Das liegt nicht an den Tags im Forum, sondern daran, dass du zum Einrücken Tabs und Leerzeichen gemischt benutzt. Was genau wurde denn da geliefert? Soweit ich das als Linux-Laie erkennen kann, kommt da gar keine Drittanbieterbibliothek zum Einsatz.
  22. typedef enum tagREADYSTATE { READYSTATE_UNINITIALIZED = 0, READYSTATE_LOADING = 1, READYSTATE_LOADED = 2, READYSTATE_INTERACTIVE = 3, READYSTATE_COMPLETE = 4 } READYSTATE; [/CODE] Ich würde auch vorschlagen, in der Warteschleife mal die ReadyState-Werte anzusehen.
  23. Dann solltest du dich an den Lieferanten wenden. Der Code ist fehlerhaft und unvollständig. if (strncmp("01",sensorcodes[i],2) [b]00 =[/B]) // Temperatur auslesenDas soll wohl eher == 0 heißen. Wer immer diesen Code geschrieben hat, hat ihn nicht selbst kompiliert, sonst wäre so etwas aufgefallen. Ja, stimmt. Die "eigenwillige" Einrückung hatte mich getäuscht.
  24. Daran kann es nicht liegen
  25. Das hat TinTin aber schon ein paar Beiträge vorher geschrieben Wieso sollte das nicht gehen? Falls du dich über die :: wunderst: Dein Code steht in einer Memberfunktion einer Klasse, die eine Methode DestroyWindow hat. Es gibt auch eine globale Funktion DestroyWindow, aber innerhalb einer Memberfunktion werden immer zuerst die Methoden nach dem Namen durchsucht, auch wenn dann keine Funktion gefunden wird, deren Signatur passt (hier: CWnd:: DestroyWindow(), ohne Parameter). Wenn du die globale Funktion aufrufen willst, musst du das mit dem Namensraumoperator :: machen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...