Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Klotzkopp

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von Klotzkopp

  1. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Verpass der rekursiven Funktionen einen weiteren Parameter: void Recurse( int nDepth ) { ... Recurse( nDepth + 1 ); } [/code]
  2. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Das #include "stdafx.h" muss aus der Headerdatei raus und in die cpp-Datei rein. Falls das nicht hilft: (Hab's hier leider nur auf Englisch, also nagel mich nicht auf die genauen Worte fest) Projekt->Einstellungen->(Deine cpp-Datei auswählen)->Register "C/C++". In der Listbox "vorkompilierte Header" auswählen, dann den ersten Punkt ("nicht benutzen") auswählen. Ach ja, #include "stdafx.h" sollte immer vor allen anderen #includes stehen <FONT COLOR="#a62a2a" SIZE="1">[ 16. November 2001 09:27: Beitrag 4 mal editiert, zuletzt von Klotzkopp ]</font>
  3. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    @Saturo: noch ein Hinweis: Modulo 10 liefert Dir Zufallszahlen von 0 bis 9 (!).
  4. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Ich hab hier die Enterprise Edition, und da sind die Components drauf.
  5. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    @Crush: Ist Accept nicht für die "lauschende" Seite gedacht?
  6. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    "wenn allewelt Windows benutzt"? Meinst Du das ernst? Ich weiß ja nicht, was für Dich "allewelt" ist, aber es gibt noch andere Dinge außer Windows-Anwendersoftware. Es gibt Programme, die brauchen kein GUI, und es gibt Programme, die mit GUI nicht denkbar sind. Nicht jeder Programmierer will seine Software von riesigen proprietären Laufzeitbibliotheken abhängig machen.
  7. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Das Programm geht in einer Schleife durch alle Portnummern von 1 bis zur angegebenen und versucht, eine TCP-Verbindung zum Zielrechner auf diesem Port aufzubauen. Falls es klappt (auf dem Zielrechner hat jemand auf diesem Port "gehorcht"), wird "OFFEN!" ausgegeben und die Verbindung gleich wieder geschlossen. Du kannst den Zugriff z.B. beschleunigen, indem Du mehrere Threads startest.
  8. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Noch eine Möglichkeit: Lass "dir" (bzw. "ls") die Arbeit tun, leite die Ergebnisse in eine Datei um, die Du dann einliest. system( "dir c:\\*.xyz /s > find.txt" );
  9. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Du kannst mit FindFirstFile und FindNextFile unter Win32 ein bestimmtes Verzeichnis nach Dateien durchsuchen, wobei Du auch Wildcards (*,?) angeben kannst. Um die Rekursion der Verzeichnisse wirst Du Dich aber wohl oder übel selbst kümmern müssen.
  10. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Versuchs mal mit GetModuleFileName. Ganz ohne MFC .
  11. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    printf ("GONG!!Die Zeit, es ist der %02d.%02d.%04d, %02d.%02d.%02d\n", tbuf->tm_mday, tbuf->tm_mon, tbuf->tm_year + 1900, tbuf->tm_hour, tbuf->tm_min, tbuf->tm_sec);
  12. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Was ist argv1? Wenn das ein char-Array ist, dann muss der Index weg. <FONT COLOR="#a62a2a" SIZE="1">[ 31. Oktober 2001 10:13: Beitrag 1 mal editiert, zuletzt von Klotzkopp ]</font>
  13. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Wenn Du eine Liste von Objekten hast, dann ist es am einfachsten, wenn Du der Objektklasse einen kleiner-Operator verpasst. class CItem { public: operator<( CItem& secondOperand ) { return m_nData < secondOperand.m_nData; } private: int m_nData; }; [/code] Dann funktioniert list::sort auch mit einer Liste von CItem-Objekten. Und wonach sortiert werden soll, kannst Du im Code des Operator selbst bestimmen. Wenn Du nach wechselnden Attributen sortieren willst, könntest Du das z.B. über ein statisches Attribut steuern.
  14. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Wenn Du eine STL-Liste benutzt std::list<int> Liste; dann sollte das reichen, um die Werte aufsteigend zu sortieren: Liste.sort();
  15. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Für gethostname brauchst Du Winsock2.h. Außerdem must Du die Ws2_32.lib reinlinken. Einfacher wärs wahrscheinlich, wenn Du GetComputerName und GetUserName benutzt. Für die brauchst Du windows.h und kernel32.lib bzw. advapi32.lib. Alles natürlich nur für den Fall, dass wir von Windows reden
  16. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Also als erstes brauchst Du eine Thread-Funktion. Rückgabetyp und Parameter sind hierbei festgelegt. Die Thread-Funktion muss entweder global oder statisch sein, damit kein zusätzlicher this-pointer mit übergeben wird. Damit die Thread-Funktion auf die Member Deiner Klasse zugreifen kann, übergibt man meist einen this-Pointer an einen "Threadstart-Funktion", die dann die eigentliche Threadfunktion aufruft. // YourDlg.h class CYourDlg : public CDialog: ... static UINT __stdcall tmpWorkerThread( void* pParam ); void WorkerThread(); ... // YourDlg.cpp UINT CYourDlg::tmpWorkerThread( void* pThis ) { CYourDlg* pDlg = (CYourDlg*) pThis; pDlg->WorkerThread(); } void CYourDlg::WorkerThread() { // was auch immer getan werden muss } [/code] Den Thread startest Du dann mit [code] HANDLE hThread = (HANDLE) _beginthread( tmpWorkerThread, 0, this); CloseHandle( hThread ); Ganz wichtig, leider hab ich die Namen hier nur auf Englisch: In den Projekt-Settings, Register C/C++, Use run-time library: eine Multithreading-Runtime auswählen, in Deinem Fall vermutlich am besten "Debug Multithreaded DLL".
  17. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Der TaskManager von Windows hat seine ganz eigene Auffassung von Prozesszuständen. 'Wird ausgeführt' bedeutet eigentlich 'Wartet', und 'Keine Rückmeldung' heißt soviel wie 'Hat viel zu tun'. Dass Dein Programm, nicht mehr reagiert während es arbeitet, liegt daran, dass der einzige Thread Deiner Anwendung beschäftigt ist. Wenn Du das umgehen willst, dann musst Du einen weiteren Thread starten, der dann die Arbeit erledigt (einen Worker-Thread, wie MS das nennt). Dann kann der erste Thread (der User-Interface-Thread) weiterhin dafür sorgen, dass das Fenster sich so verhält, wie man es von einem Fenster erwartet. Dann ist auch der TaskManager zufrieden. Ein zweiter Thread bringt allerdings einige neue Probleme mit sich. Der 'Splitten'-Button (oder Menü-Eintrag, was auch immer) muss auf 'disabled' gesetzt werden, damit man nicht noch einen dritten Thread starten kann, während der zweite noch läuft. Außerdem solltest Du verhindern, dass das Programm beendet wird, während der Worker-Thread noch läuft, damit die Anwendung in einem definierten Zustand terminiert.
  18. Such Dir besser gleich die Fensterklasse des Buttons mit dem Spy++ raus. Zum Klicken hatte ich schon mal was geschrieben: void MouseClick( HWND hWnd ) { if( !hWnd ) return; RECT rect; POINT mousePos; GetCursorPos( &mousePos ); ::GetWindowRect( hWnd, &rect ); int left = rect.left; int top = rect.top; ::GetClientRect( hWnd, &rect ); int width = rect.right; int height = rect.bottom; SetCursorPos( left + width / 2, top + height / 2 ); ::SendMessage( hWnd, WM_LBUTTONDOWN, MK_LBUTTON, x + 65536 * y ); ::SendMessage( hWnd, WM_LBUTTONUP, MK_LBUTTON, x + 65536 * y ); SetCursorPos( mousePos.x, mousePos.y ); } [/code] Prüf aber bitte, ob die Nutzungsbedingungen von WEB.DE solche Tools nicht verbieten
  19. Initialisiere Dein CTime-Objekt in der OnInitDialog bzw. InitInstance: deinCTimeObject = CTime::GetCurrentTime(); [/code]
  20. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Das hier funktioniert unter VC++, dafür aber wahrscheinlich unter Borland nicht: void MyGotoXY(int x, int y) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition( hStdout, c ); } [/code] Du brauchst dafür <windows.h>.
  21. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Die conio.h von VC++ hat kein gotoxy
  22. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Hier mal ein Beispiel: Erzeugen der Wertes "MeinString" mit dem Inhalt "Mein Stringinhalt" im Schlüssel "HKLM\Software\MeineApp" HKEY hkey; char* pszString = "Mein Stringinhalt"; RegOpenKeyEx( HKEY_LOCAL_MACHINE, "Software\MeineApp", 0, KEY_ALL_ACCESS, &hkey); RegSetValueEx( hKey, "MeinString", 0, REG_SZ, (const BYTE*) pszString, strlen( pszString )+1 ); [/code] Zum Auslesen des Werts den Key wie wie oben öffnen, dann: [code] char pszBuffer[101]; DWORD dwDataSize = 100; RegQueryValueEx( hKey, "MeinString", NULL, REG_SZ, (BYTE*) pszBuffer, &dwDataSize ); Am Rande: Die "Profile"-Methoden (sowohl MFC als auch nicht-MFC) schreiben unter Wintendo (9x,ME) immer noch in die Win.ini (wenn auch in eine gecachte), unter NT/2000 werden die Werte aber in der Registry abgelegt.
  23. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Es gibt nichts vergleichbares unter NT. Aber hier wird eine Alternative beschrieben: http://support.microsoft.com/support/kb/articles/Q262/6/46.ASP
  24. Die Ungenauigkeiten bei Fließkommatypen sind nicht nur durch die festgelegte Stellenanzahl bedingt. Jeder Bruch, dessen Nenner keine Potenz von zwei ist (z.B. 3/10), hat im Dualsystem unendlich viele Nachkommastellen. Man kann eine solche Zahl im Dualsystem nicht mit allen Stellen darstellen.
  25. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Du weist szBuffer in f neu zu. Diese Änderung wirkt sich aber nicht auf den Puffer aus, mit dem Du die Funktion aufrufst. Da Du den Zeiger nicht als Referenz übergibt, wird eine Kopie des Zeigers auf dem Stack angelegt. Diese Kopie wird gelöscht, nachdem f beendet ist. Deklariere f einfach als void f( char*& szBuffer ) Wenn Du new und delete verwenden willst, dann musst Du Dich selbst darum kümmern, den Inhalt des alten Puffers in den neuen zu kopieren und den alten zu löschen. <FONT COLOR="#a62a2a" SIZE="1">[ 12. September 2001 11:31: Beitrag 1 mal editiert, zuletzt von Klotzkopp ]</font>

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.