Zum Inhalt springen

S. Bauermann

Mitglieder
  • Gesamte Inhalte

    24
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von S. Bauermann

  1. Also generell ist es eine legitime Sache sein Widerspruchsrecht zu nutzen. Für dieses gibt es klare Regeln und auch ein Formular bei der IHK. Es gibt sogar Schulen/Akademien in Deutschland, die gegen diese Prüfung in Teilbereichen Widerspruch einlegen. Vor genau einem Jahr wurden die Bewertungsschlüssel (Thüringen) schon einmal mit ihrer Wichtung zu gunsten der Prüflingen korrigiert. Ich möchte all denen, deren Arbeit nicht besonders gut gelaufen ist, Mut zusprechen. Ich habe einen Vornotendurschnitt von 1.2 und ein Zwischenprüfungsergebnis von 1.3. Ich gehe aber davon aus, das mein Prüfungsergebnis im Bereich Fachinformatiker(AE) bei unter 50% liegen wird oder aber WISO hier alles noch zum guten werden läßt. Ich habe mit ca. 6 Wochen Vorbereitung jeden abend hart gelernt. Wenn man 30 Jahre alt ist, eine kleine Tochter hat, jeden Abend um 18.30 Uhr vom Praktikum kommt und sich in den neuen Aufgabenbereich einarbeitet, weil man einen Job angeboten bekommen hat (wenn man besteht), dann ist das umso unbegreiflicher, wenn man zeitgleich auch noch seine Projektarbeit schreiben muß und sein Praktikumsprojekt erstellen muß. Den die Abgabe ist am 31.05.2002 und das Projekt muß jetzt in diesen Tagen fertig sein. Ich habe in den zwei Jahren hart gearbeitet und immer erfolgreiche Abschlüsse erreicht. Wenn ich jetzt nicht bestehe, dann ist auch mein Job futsch, denn ein halbes Jahr wartet niemand auf mich. Dann hat die IHK einen weiteren Arbeitslosen mit einer Vornote 1.2 und ZP 1.3 produziert. Einen Arbeitslosen der in Jena aufgrund seiner Leistungen in einer angesehenen und sehr erfolgreichen Firma einen Job angeboten bekommen hatte. Für diese Leistung möchte ich der IHK und allen beteiligten vom ganzen herzen gratulieren. Vielleicht sollten IHK Mitglieder einfach mal in eine Berufsschule und Akademie gehen und ihre Vorstellung mit den Vorstellungen der Auszubildenden abstimmen. Den die Kernqualifikation scheint nicht mehr das Maß der Dinge zu sein. Am schicksten fand ich die Prüfungsbedingungen. Da waren ca. 300 Meschen in einem Saal. Ricfhtig Ruhe kehrte nie ein, ständig war einer am Aufstehen oder Hinsetzen, und das aller schärfste, man hatte in der Breite einen Platz von ca. 70cm. Ich konnte mein Prüfungsbogen nicht aufklappen, geschweige das herrausgetrennte Blatt daneben legen. Mein Tabellenbuch befand sich auf meinen Beinen, weil es einfach keine Platz mehr auf dieser Bank, wo links und rechst - Stuhl an Sthul die Leute sahsen. c-u sven
  2. Ich kann schon nicht mehr schlafen und brauche dringend den Vergleich mit meinen Lösungen. danke sven.bauermann@gmx.net
  3. Also GH1 und GH2 setzten sich fast immer aus jeweils zwei Komplexaufgaben zusammen (insgesamt 4). Jede Themenaufgabe soll praxisbezogen sein. Dazu sage ich jetzt aber nichts. Zu jeder dieser Aufgaben gibt es einige kleinere und größere Augaben, die zu erledigen sind. Was die WISO angeht gibt es ja Gerüchte das sich der Ablauf ändern könnte. Es ist im Gespräch gewesen diese Prüfung nicht mehr multiple choice zu machen, sondern alle Aufgaben müssen formuliert beantwortet werden. Ob das jetzt schon zum Einsatz kommt weis ich nicht. Vielleicht weiß ja jemand etwas mehr. Würde mich auch interessieren. Ansonsten gehört zu WISO alles aus dem Bereich Ausbildung, Gesellschaftsordnungen, Wirtschaftszyklen, Gestzte, Umwelt, Betrieb mit volkswirtschaftlichen- und betriebswirtschaftlichen Gütern, Arbeitsrecht, Betrieb, Firma, Unternehmensform usw. c-u Sven
  4. Weil wir gerade bei Berechnungen sind, hier noch einpaar Sachen zum Bereich Monitor: Pixeltakt = HA * VA * BW * 1,3 HF = BW * HA * 1,05 VF = BW * VA EB = HA * DP BB = BD * 0,8 HA= Horizonzalauflösung VA= Vertikalauflösung BW=Bildwiederholfrequenz HF=Horizontalfrequenz VF=Vertikalfrequenz(Zeilenfrequenz) EB=Elektronenröhrenbreite BB=Bildbreite DP=Dotpitch BD=Bilddiagonale Bei Fehlern bitte korrigieren ! c-u Sven
  5. Auch für den Audioteil eine Alternative: Wir rechnen mit 44100 Hz. Der Faktor 1= 8 bit, der Faktor 2=16 bit usw. Der Faktor 1 für mono der Faktor 2 für Stereo ergibt: 44100* 2* 2* 60s = 105.840.000 byte 105.840.000 byte / 1024 /1024 = 10,1 MB pro Minute c-u Sven
  6. Wir haben ein Breite von 10cm und eine Höhe von 8cm bei einer Auflösung von 600dpi. Bei Scannern geht die Berechnung immer im Quadrat ein also: 10(600/2,54)* 8(600/2,54)* 32/8 = 17.856.035,71 byte 17.856.035,71 byte / 1024 /1024 = 17,03 MB natürlich war das Ergebnis soweit richtig - viele Wege führen nach... c-u Sven
  7. Hallöchen an alle ! Mir hat der Osterhase ein dickes Ei gelegt. Also folgendes: ich habe ein MFC SDI Projekt mit einer Hilfsklasse für diverse Funktionen. Meine Viewklasse ist mit der CListView Klasse überschrieben. Ich habe halt mehrere Column für Hook Messages die in dem CListCtrl geschrieben werden. Die Daten kommen aus einem CArray Objekt, welches in der Hilfsklasse deklariert ist. Alles funktioniert soweit super. Mein Problem ist ein Methodenaufruf für das Löschen der Daten zur Laufzeit des Programms, wenn zum Beispiel jemand neue Recorddaten aufnehmen möchte. Es muß zum einen das CListCtrl im View gelöscht werden, um die sichtbaren Daten zu löschen und zum anderen das CArray Objekt aus der Hilfsklasse sonst währen ja die Daten aus dem View gelöscht aber immernoch via Menübefehl "play" abspielbar. Das soll ja nicht sein. ICh habe beide Funktionen und weiß auch das Sie funktionieren. ICh scheitere an einem SDI Doc/View Problem. Die Methode zum löschen soll ja ein Menübefehl sein "löschen" den kann ich entweder im Doc oder im View auslösen. Mache ich das im View wird das CListCtrl gelöscht aber nicht das Array aus der Hilfsklasse. (Obwohl ich mir in der View ein Objekt der CHilfsklasse instanziere und auch an die Funktion herankomme). Mache ich das in der DocKlasse kann ich das Array löschen aber das CListCtrl bleibt mit Daten gefüllt und es passiert nichts (obwohl ich mit ein Objekt der ViewKlasse instanziere und an die Funktion zum löschen des CLIstCtrl herankomme) Woran liegt sowas. Im Prinzip bräute ich mal ein Codebeispiel bei dem ein CListCtrl bearbeitet wird per Methode die im Doc und nicht im View ausgelöst wird. Das sollte das Problem für mein Verständnisirrtum beseitigen. Vielen Dank und Gruß Sven
  8. Ihr macht Euch heiß über Gesetzte und sonst noch was. Die Frage war: ob man QUELLCODE Dokumentationen in englisch schreiben darf. Und da heißt die Antwort ja, weil das nicht der Projektbericht oder die Präsentation ist, sondern eine technische Dokumentation oder eben die Kundendokumention. Diese Dinge sind als Anhang beizulegen, wenn das als geplante Dokumentation im Projektantrag eingeschrieben worden ist. Ansonsten ist das eine Fachpraktische Geschichte und geht der IHK nicht mal was an. War doch ganz einfaches deutsch oder ? c-u Sven
  9. In Deinem Buch steht sehr wohl was diese Schnittstelle darstellt. Es sind sogar Diagramme dazu zufinden. Die Prozessschnittstelle ist der Bereich in dem Dein Projekt in einen betrieblichen Prozess oder in einem bestimmten Teil eines Ablaufen eingreift oder Implementiert wird. Solche Prozessschnittstellen lassen sich sehr gut mit einem EPK Diagramm darstellen, ist aber nicht zwingend. c-u Sven
  10. Generell ist die Angabe der Programmiersprache nicht wichtig. Das interessiert die IHK auch nicht. Die Thematik, das heißt die Aufgabenstellung muss klar rüberkommen und die Zeot insgesamt muss richtig bemessen werden. Die IHK Thüringen bemängelt sogar wenn ein detaillierter Zeitplan im Projektantrag steht, weil der nun mal Teil der Ressourcenplanung in dem Projekbericht ist. 11 Sollanalyse finde ich bei insgesamt 70 Stunden Maximum etwas übertrieben. Ich kann Dir aber versichern das da zuwenig klar wird das Du etwas programmiern willst. Das klingt denen zu sehr nach Pixelschieber, kannst Du daruaf wetten. c-u Sven
  11. Um das nochmal klarzustellen die Quellcodedokumentation ist eine Kundendokumention Deines Projektes und nicht Dein Projektbericht. Die Quellcodes sind bis auf ganz wenig Ausnahmen immer Anhang und damit auch die englischen Doku's. Wer glaubt seinen ganzen Quellcode in den Projektbericht quetschen zu müssen, liegt falsch. Es interessiert keine S.. ob Du Deine Daten auch via Drag and Drop bearbeiten kannst. Wichtige Bereiche aus dem Fachkonzept der Klassen und gut, ansonsten den Weg , die Kundenanforderungen und die Entwicklung vollständig beschreiben und damit dürfen/sollten die Quellcodedoku's auch englisch sein. Das war's c-u Sven
  12. Also ich kann dem Verfasser dieses Projektantrages nur das Buch Handbuch zur Abschlussprüfung der IT Berufe empfehlen, da hier grundsätzlich nicht verstanden wurde, was ein Projektbericht, was ein Konzeptantrag und was eine Präsentation ist. Nicht die Ausführlichkeit an sich, sondern die Gliederung in die Punkte: Aufgabe, Projektbeschreibung und Dokumentation ist nicht erfolgt. Der Antrag ähnelt eher einer Projektplanung, aber die ist wiederum wärend der Projektarbeit zu erstellen und eventuell(auszugsweise) dem Projektbericht beizufügen. Die Aufgabe ist interessant aber hierzu muß ein vernüftiges Datenbankdesign erstellt werden und klare Definitionen von Auswertungen via script oder diversen Datenbanksprachen erfolgen. Das müsste man dann kurz und knapp gliedern. Der Weg ist viel wichtiger als das Projekt. Hört auf Euch riesige Dinger ans Bein zu binden und dann jemanden erkären zu wollen das könne man in 80 Stunden. Wär schon man in einem Team ein Projekt erstellen mußte und konnte nicht auf vorhandenen Quellcode zurückgreifen, das heißt man mußte wirklich programmieren, der weiß wie weit man dann in 80 Stunden kommt. Die IHK ist nicht mehr so doof, um Euch alles zu glauben. Bei einem solchen Projekt werden die Euch bei der Verteidigung zerlegen, weil ganz einfach der Verdacht des Betruges entsteht. Ein kleine ordentliche Aufgabe reicht völlig, weil der Weg dorthin, einschließlich der Betrachtungen: Kundenorientiert, Effektiv und fachlich Korrekt mit der Beschreibung des Weges dorhin, für den Projektbericht entscheident ist, denn den gebt Ihr ab, nicht das Projekt. Z.B. Planung eines Datenbankmodells Analyse der vorhandenen Daten Erstellung eines ER Modells der Datenbank Programmierung einer Abfragematrix Test und Bericht Präsentation des Produktes beim Kunden Verbesserungen und Korrektur Final Test ------ Dokumentation des ER Modell der Datenbank Erklärung der Abfragequellcodes Bericht der Kundenpräsentation Testdokumentation ------ Und das wars.... Mehr gehört da nicht hin. Ach ja und vorsicht vor solchen breiten Erklärungen wie: Erstellung eines Abfrageformulars einer Datenbank. Das ist nichts was man als Programmierung hinstellen kann. Solche Sachen setzt man bei einem solchen Thema einfach vorraus. Ich hoffe ich konnte einwenig helfen. c-u Sven
  13. Ich wollte Dich auch nicht nervös machen. Aber wie kommt Deine Dozentin darauf das Du nur 35 Stunden ansetzten darst ? Das ist nicht richtig. Es gibt einen Abgabetermin, der Dir bei Zustimmung des Antrages zugesand wird und es gibt die Regel das Du mit dem Projekt erst mit dem Tag beginne darfst, mit dem Dein Projekt genehmigt worden ist. Von da ab bis zum Abgabetermin hast Du freie Hand. Von daher glaube ich kam auch die sicher nicht angebrachte Bemerkung der IHK Dame. Falls Du das Thema durchbekommst, gebe ich rede Wette ab, das man Dich fragen wird, was Dich so sicher macht, das nach 34 Stunden Deine Viren ihre vollständige Aktivität eingestellt haben. Das ist entweder einfach nur eine leichtsinnige Annahme oder aber ein Zeichen dafür das Du die Arbeitsweise dieser Schadprogramm längst kanntest. Ich würde jedenfalls mit genau dem Ding bei der Verteidigung rechnen. Viele Grüße Sven
  14. Hm also nachdem nun fast alle zu dem Thema Presentationmittel abgeglitten sind mal zurück zum eigentlichen Thema. Machst Du Systemintegration oder Anwendung ? Ich mache mir etwas Sorgen zu Deinem Thema und der Zeit. Wenn Du Viren analysierst ist das durchaus ok, doch bedenke im Bereich Systemintegration ist es ein schlecht gewähltes Thema und im Bereich der Anwendung hat sich in den letzten Prüfungen gezeigt das man die IHK nicht so einfach mehr überzeugen kann. ICh hoffe Du beobachtest nicht mir Deinen Augen. Du solltest unbedingt zeigen das Du Bits und Bytes im Griff hast. Ich denke das wäre eine tolle Sache wenn Du die TraceRoutes der Viren im System mittels einer selbsterstellten COM und entsprechenden WH Script auswertest und protokollierst. Ohne eigenen Code gibt das eigentlich immer Äger. 80 Stunden sind für einen Anwender ein guter, wenn auch immernoch knapper Schnitt für ein Projekt. Du wirst mit reichlich 30 Stunden Probleme haben, zu erläutern wie Du in dieser Zeit etwas entwickeln kannst. Der Durchschnitt eines professionellen Developers liegt bei 10 Zeilen Code pro Tag, wenn es um Fachkonzepte geht. Du solltes auch unbedingt den Bereich der Vorarbeit bedenken. Heute sollte man nicht unbedingt Struktogramm oder Pseudocode u.ä. einsetzten. Viel eindrucksvoller wäre zum Beispiel ein UML einer COM Klasse, die dem Fachkonzept entspricht. Der Stress mit den Praktikumsfirmen ist überflüssig. Das Projekt und das Thema unterliegt der Verantwortung des Prüflings. Er kann das Thema frei entscheiden und darüber schreiben und entwickeln. Es ist ein Projektverantwortlicher notwendig, dieser mus aber bei Unstimmigkeiten nicht aus dem Betrieb sein, sonder kann auch dem Ausbildungsbetrieb entstammen und das ist Eure Schule. Ich hoffe das diese Überlegungen beim (wahrscheinlichen) zweiten Versuch etwas helfen. c-u Sven
  15. Ich habe leider noch keine große Erfahrung beim Dateihandling mit C++. Ich möchte die Funktionen JournalPlaybackFunc und JournalRecordFunc für das Aufzeichnen von SystemwideHooks nutzen. Es gibt in den technical Articles der MSDN ein Example zu diesen Thema. Dort werden die Funktionen so definiert das die Recorddaten in ein Array gespeichert werden. So gehen sie gleich nach einmaligen Playback wieder verloren. Ich möchte diese Daten in eine Datei speichern und von dort für das Playback wieder auslesen. Ich habe schon ziehlich viel probiert und kann langsam nicht mehr auf meinem Stuhl sitzen. Könnte mir vielleicht jemand erklären wie das bei diesen Beispiel aussehen muß. Die beiden Funktionen sind für eine dll geschrieben, wegen der Hooks. Kann man überhaupt von einer dll aus Dateien anlegen ? Vielen Dank sagt ein FIA Schüler. Grüße von Sven //--------------------------------------------------------------------------- // JournalPlaybackFunc // // Filter function for the WH_JOURNALPLAYBACK // //--------------------------------------------------------------------------- LRESULT CALLBACK JournalPlaybackFunc (int nCode, WPARAM wParam, LPARAM lParam ) { static int nRepeatRequests; static DWORD dwTimeAdjust; static DWORD dwLastEventTime; HDC hDC; LPEVENTMSG lpEvent; long lReturnValue; HMENU hMenu; if ( nCode >= 0 ) { // No Playback if we haven't recorded an Event // // No Playback While recording. // This is not a limitation of the hooks. // This is only because of the simple event storage used in this example // // We should never get here since the enable / disable menu stuff should // make getting here impossible // if ( lpEventChain == NULL || HookStates[JOURNALRECORDINDEX]) { InstallFilter(JOURNALPLAYBACKINDEX, FALSE); hMenu = GetMenu(hwndMain); CheckMenuItem(hMenu, IDM_JOURNALPLAYBACK, MF_UNCHECKED | MF_BYCOMMAND); EnableMenuItem(hMenu, IDM_JOURNALPLAYBACK, MF_DISABLED | MF_GRAYED | MF_BYCOMMAND); wsprintf((LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], "WH_JOURNALPLAYBACK -- No recorded Events to Playback or JournalRecord in Progress "); hDC = GetDC(hwndMain); TabbedTextOut(hDC, 1, nLineHeight * JOURNALPLAYBACKINDEX, (LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], strlen(szFilterLine[JOURNALPLAYBACKINDEX]), 0, NULL, 1); ReleaseDC(hwndMain, hDC); return( (int)CallNextHookEx(hhookHooks[JOURNALPLAYBACKINDEX], nCode, wParam, lParam )); } if ( lpPlayEvent == NULL ) { lpPlayEvent = lpEventChain; lpLastEvent = NULL; // For the next time we start the recorder dwTimeAdjust = GetTickCount() - dwStartRecordTime; dwLastEventTime = (DWORD) GetTickCount(); nRepeatRequests = 1; } if (nCode == HC_SKIP ) { nRepeatRequests = 1; if ( lpPlayEvent->lpNextEvent == NULL ) { wsprintf((LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], "WH_JOURNALPLAYBACK -- Done Recorded Events"); hDC = GetDC(hwndMain); TabbedTextOut(hDC, 1, nLineHeight * JOURNALPLAYBACKINDEX, (LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], strlen(szFilterLine[JOURNALPLAYBACKINDEX]), 0, NULL, 1); ReleaseDC(hwndMain, hDC); free(lpEventChain); lpEventChain = lpPlayEvent = NULL ; InstallFilter(JOURNALPLAYBACKINDEX, FALSE); hMenu = GetMenu(hwndMain); CheckMenuItem(hMenu, IDM_JOURNALPLAYBACK, MF_UNCHECKED | MF_BYCOMMAND); EnableMenuItem(hMenu, IDM_JOURNALPLAYBACK, MF_DISABLED | MF_GRAYED | MF_BYCOMMAND); } else { dwLastEventTime = lpPlayEvent->Event.time; lpPlayEvent = lpPlayEvent->lpNextEvent; free(lpEventChain); lpEventChain = lpPlayEvent; } } else if ( nCode == HC_GETNEXT) { lpEvent = (LPEVENTMSG) lParam; lpEvent->message = lpPlayEvent->Event.message; lpEvent->paramL = lpPlayEvent->Event.paramL; lpEvent->paramH = lpPlayEvent->Event.paramH; lpEvent->time = lpPlayEvent->Event.time + dwTimeAdjust; wsprintf((LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], "WH_JOURNALPLAYBACK -- Playing Event %d times ", nRepeatRequests++); hDC = GetDC(hwndMain); TabbedTextOut(hDC, 1, nLineHeight * JOURNALPLAYBACKINDEX, (LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], strlen(szFilterLine[JOURNALPLAYBACKINDEX]), 0, NULL, 1); ReleaseDC(hwndMain, hDC); lReturnValue = lpEvent->time - GetTickCount(); // // No Long ( negative ) waits // if ( lReturnValue < 0L ) { lReturnValue = 0L; lpEvent->time = GetTickCount(); } return ( (DWORD) lReturnValue ); } hDC = GetDC(hwndMain); TabbedTextOut(hDC, 1, nLineHeight * JOURNALPLAYBACKINDEX, (LPSTR)szFilterLine[JOURNALPLAYBACKINDEX], strlen(szFilterLine[JOURNALPLAYBACKINDEX]), 0, NULL, 1); ReleaseDC(hwndMain, hDC); } return( CallNextHookEx(hhookHooks[JOURNALPLAYBACKINDEX], nCode, wParam, lParam)); } //--------------------------------------------------------------------------- // JournalRecordFunc // // Filter function for the WH_JOURNALRECORD // //--------------------------------------------------------------------------- LRESULT CALLBACK JournalRecordFunc (int nCode, WPARAM wParam, LPARAM lParam ) { HDC hDC; EventNode *lpEventNode; LPEVENTMSG lpEvent; HMENU hMenu; if ( nCode >= 0 ) { lpEvent = (LPEVENTMSG) lParam; // // Skip recording while playing back // This is not a limitation of the hooks. // This is only because of the simple event storage used in this example // if ( HookStates[JOURNALPLAYBACKINDEX] ) { wsprintf((LPSTR)szFilterLine[JOURNALRECORDINDEX], "WH_JOURNALRECORD\tSkipping Recording during Playback "); hDC = GetDC(hwndMain); TabbedTextOut(hDC, 1, nLineHeight * JOURNALRECORDINDEX, (LPSTR)szFilterLine[JOURNALRECORDINDEX], strlen(szFilterLine[JOURNALRECORDINDEX]), 0, NULL, 1); ReleaseDC(hwndMain, hDC); return 0; } // // Stop recording ? // if ( lpEvent->message == WM_KEYDOWN && LOBYTE(lpEvent->paramL) == VK_F2 ) { wsprintf((LPSTR)szFilterLine[JOURNALRECORDINDEX], "WH_JOURNALRECORD\tRecording Stopped with F2 "); InstallFilter(JOURNALRECORDINDEX, FALSE); hMenu = GetMenu(hwndMain); CheckMenuItem(hMenu, IDM_JOURNALRECORD, MF_UNCHECKED | MF_BYCOMMAND); EnableMenuItem(hMenu, IDM_JOURNALPLAYBACK, MF_ENABLED | MF_BYCOMMAND); return 0; } if ( (lpEventNode = (EventNode *)malloc(sizeof(EventNode))) == NULL ) { wsprintf((LPSTR)szFilterLine[JOURNALRECORDINDEX], "WH_JOURNALRECORD\tNo Memory Available"); InstallFilter(JOURNALRECORDINDEX, FALSE); hMenu = GetMenu(hwndMain); CheckMenuItem(hMenu, IDM_JOURNALRECORD, MF_UNCHECKED | MF_BYCOMMAND); EnableMenuItem(hMenu, IDM_JOURNALPLAYBACK, MF_ENABLED | MF_BYCOMMAND); } if ( lpLastEvent == NULL ) { dwStartRecordTime = (DWORD) GetTickCount(); lpEventChain = lpEventNode; } else { lpLastEvent->lpNextEvent = lpEventNode; } lpLastEvent = lpEventNode; lpLastEvent->lpNextEvent = NULL; lpLastEvent->Event.message = lpEvent->message; lpLastEvent->Event.paramL = lpEvent->paramL; lpLastEvent->Event.paramH = lpEvent->paramH; lpLastEvent->Event.time = lpEvent->time; wsprintf((LPSTR)szFilterLine[JOURNALRECORDINDEX], "WH_JOURNALRECORD\tRecording\tTime:%d\tPRESS F2 To Stop Recording\t%s ", lpEvent->time,szMessageString(lpEvent->message)); hDC = GetDC(hwndMain); TabbedTextOut(hDC, 1, nLineHeight * JOURNALRECORDINDEX, (LPSTR)szFilterLine[JOURNALRECORDINDEX], strlen(szFilterLine[JOURNALRECORDINDEX]), 0, NULL, 1); ReleaseDC(hwndMain, hDC); return 0; } return (CallNextHookEx(hhookHooks[JOURNALRECORDINDEX], nCode, wParam, lParam)); }
  16. Die Exports waren nicht ganz sauber geschrieben. Ich habe es nach einigen Stunden pause gesehen. Gruß Sven
  17. Guten Tag, ich habe eine Facharbeit vor mir, für die die systemwidehooks benötigt werden. Leider lernt man in zwei Jahren nichts zu dll's und der gleichen. Also: Es gibt in der Msdn einen Artikel Win32 hooks in den Technical Articles. Dort findet sich gleich am Anfang ein sample, dessen Files man sich kopieren kann. Es werden der sourcecode und die fertige exe und die dll für die hooks geliefert. Das fertige Programm läuft super. Nun möchte ich ja selbst an diesen Ansatz weitermachen und deshalb die dll auch selber compilieren. Das Projekt scheint nicht gerade kompatibel zu VS 6 zu sein (Makefile welches nicht akzeptiert wird). Es werden die Dateien: Dllstuff.c, Hooks32.c, Hooks32.def, Hooks32.exe, Hooks32.h, Hooks32.ico, Hooks32.rbj, Hooks32.rc, Hooksdll.c, Hooksdll.def, Hooksdll.exp, Hooksdll.lib, Hooksdll.rbj, Hooksdll.rc, Makefile, Message.rc, Hooksdll.dll. geliefert Wobei eben die Hooks32.exe und die Hooksdll.dll die fertigen Files sind. Nun habe ich die exe mal neu compiliert und das war nach Einbindung der Hooksdll.lib für den Linker auch kein Problem. Ich habe dafür eine Win32 Anwendung gewählt und mit der Hooks32.h, der Hooks32.c und der Messages.rc die exe compiliert - läuft. Nun aber die dll. Ich habe eine Win32 Dynamic-Link-Libary als Projekt gewählt. Diesmal habe ich die Hooksdll.c, die Hooks32.h und die Message.rc gewählt. Ich hatte die dll leer angelegt und die Dateien dann für das Projekt importiert. Nun habe ich das ganze compiliert und bis auf zwie Warnungen das nicht alle Steuerelementpfade einen Wert zurückgeben, gabs keine Probleme. Nun sah ich schon das die original dll nur 51 kb hatte meine neu compilierte aber über 200 kb. Gut es ist ja eine neue Linkerversion die Dateien stammen ja von 1992. Doch als ich nun die dll mit der neu erstellten exe öffnen wollte sah ich das Problem: Fehlermeldung: Die Datei HOOKS32.EXE ist verknüpft mit dem fehlenden Export-HOOKSDLL.DLL:InitHooksDll. Nun habe ich alles mögliche ausprobiert aber obwohl das ja nun ein Lehrexample ist kann ich nicht davon lernen, weil ich die dll mit dem sourcecode nicht durchcompilieren kann. Vielen vielen Dank für jeden guten Tip, denn ich würde das Problem gerne lösen. Sven
  18. Kann mir bitte jemand die FIA Abschlußprüfung vom Winter 2001 mailen. Ich möchte gern noch etwas tun, bis es soweit ist. P.S: mit Lösung wäre sehr nett ! Vielen Dank somalinger@gmx.net
  19. Vielen Dank aber es klemmt noch einwenig. Im Prinzip habe ich das jetzt kappiert. Ich habe die Variante mit CBitmap gecheckt. In der OnInitDialog(); von meinem Dialog CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); und dann m_picCtl.SetBitmap(bitmap); geschrieben. Das funktioniert auch. Nun wollte ich ja das das Bitmap mit einer Button CLick Methode gesetzt wird. Also habe ich die Zeile: m_picCtl.SetBitmap(bitmap); in die void CHhhDlg::OnButton1() Methode geschrieben. Die Zeilen: CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); BOOL CHhhDlg::OnInitDialog() { CDialog::OnInitDialog(); Methode verblieben. Nun entsteht leider das mir unerklärliche Problem das das Objekt bitmap in der OnButton1() Methode nicht mehr bekannt ist ??? Obwohl in OnInitDialog der gleichen Klasse deklariert ? --> Im Konstruktor war's das gleiche. Beim Versuch nicht nur SetBitmap sondern auch LoadBitmap komplett in der OnButton1() Methode abzuwickeln erscheint dann leider das Bitmap nicht mehr ! Wieso ? Gruß von Sven...
  20. Hallöchen, also ich möchte in ein PictureControl zur Laufzeit die Bitmaps ändern/laden. Ich habe ein PictureControl angelegt (IDC_BILD) dieser habe ich dann via Wizzard eine Membervariable (vom Typ CStatic/Control) zugewiesen -> m_picCtl. Ich habe dann im Konstruktor meines Dialogs ein Objekt vom Typ CBitmap erzeugt (bitmap) und mit bitmap.LoadBitmap(IDB_BITMAP1); das Bitmap geladen. Beim ButtonClick sollte nun mein Bitmap in das PictureControl geladen werden. Da geanu klemmts. Ich wollte nun in der OnClick() Methode mein setBitmap realisieren. Das ganze müsste dann etwa so aussehen: m_picCtl.SetBitmap(????); Ich dachte hier kann ich das Objekt von CBitmap (bitmap) setzten, nur das ist in dieser Funktion leider gar nicht mehr bekannt. Wer kann mir hier erklärenden Rat geben ? Vielen Dank und Gruß Sven
  21. Hi, ich habe per Konsole ein Programm gebastelt zur Berechnung von Brüchen. Das ganze halt mit Klassen. Nun wollte ich das Proggy als MFC Windows Programm portieren. Ich habe die Header Datei und die cpp Datei eingebunden und bekomme jetzt diese Fehlermeldung: "fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei". Meine Header Datei: #include <iostream.h> #include "stdafx.h" class ratio{ private: int z; int n; void rkuerzen(); public: ratio(const ratio&); ratio& operator = (ratio&); ratio(int za=0, int na=1); ~ratio(); //void print(); ratio operator+(ratio&); ratio operator-(ratio&); ratio operator/(ratio&); ratio operator*(ratio&); bool setratio(int za, int na); friend ostream& operator<<(ostream& o, ratio & r); //Friendfunktion friend istream& operator>>(istream& i, ratio & r); //Friendfunktion }; Meine cpp Datei: #include "cratio.h" /*void ratio: :print(){ cout<<z; cout<<'/'; cout<<n<<" "; }*/ bool ratio::setratio(int za,int na){ z=za; if(na==0) return false; //Nenner ist 0 - Fehler else{ n=na; rkuerzen(); /*direkter Aufruf mit interner Bindung zu dem Objekt, welches setratio gerufen hat*/ return true; //Alles OK } } ratio & ratio: :operator =(ratio& op2){ z=op2.z; n=op2.n; return(*this); } ratio ratio: :operator + (ratio& op2){ ratio erg; erg.z=z * op2.n + op2.z * n; erg.n=n * op2.n; erg.rkuerzen(); return erg; } ratio ratio: :operator - (ratio& op2){ ratio erg; erg.z=z * op2.n - op2.z * n; erg.n=n * op2.n; erg.rkuerzen(); return erg; } ratio ratio: :operator * (ratio& op2){ ratio erg; erg.z=z * op2.z; erg.n=n * op2.n; erg.rkuerzen(); return erg; } ratio ratio: :operator / (ratio& op2){ ratio erg; erg.z=z * op2.n; erg.n=n * op2.z; erg.rkuerzen(); return erg; } int absB(int zahl){ if(zahl<0) return (-zahl); else return(zahl); } void ratio::rkuerzen(){ int gmt, teiler; if(n<0){ z=-z; n=absB(n); } if(z==0) n=1; if (absB(z)<absB(n)) gmt=absB(z); else gmt=absB(n); for(teiler=2;teiler<=gmt;teiler++){ if((z%teiler==0)&&(n%teiler==0)){ z=z/teiler; n=n/teiler; teiler--; } } } ostream& operator <<(ostream& o, ratio & r){ o<< r.z <<'/'<< r.n; return o; } istream& operator>>(istream& i, ratio & r){ int a,b; cout<<"Eingabe Zaehler: "; i>>a; do{ cout<<"Eingabe Nenner: "; i>>b; }while (!r.setratio(a,); return i; } ratio::ratio(int za, int na){ z=za; n=na; rkuerzen(); } ratio::~ratio(){ } ratio::ratio(const ratio&ob){ z=ob.z; n=ob.n; } Danke für die Hilfe. Gruß Sven
  22. Vielen Dank werde das geleich checken. Habe am Freitag eine Klausur und bin eigentlich nicht so recht mit den Informationen im Unterricht zu frinden. Nochmals Danke.
  23. Hi an alle bin gerade am knaupeln. Kann man eine Umrechnung für Dez zu Dualzahlen auch mit einer Rekursiven Funktion mit Procedures lösen ? Laufen soll das mit pascal. Hier mein Code hier zwar rekursiv aber nicht mit Procedures sonder mit Functions. Wer weiß Rat danke ? Beispiel: program dezimaldual; uses crt; var dezimalzahl:longint; dual:array [1..16]of integer; x,z:integer; function dezi(d:integer):integer; var y:integer; begin if d>0 then begin y:=d mod 2; dezi:=dezi(d div 2); write(y); end; end; begin clrscr; writeln; writeln('gieb dezimalzahl ein:'); readln(dezimalzahl); write(^j,'die dualzahl lautet : '); dezi(dezimalzahl); end.

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...