Zum Inhalt springen

MadMatrix

Mitglieder
  • Gesamte Inhalte

    32
  • Benutzer seit

  • Letzter Besuch

    Nie

Alle Inhalte von MadMatrix

  1. Moin! Jetzt geht's los! Hat einer von euch zufällig mal eine Library oder DLL gesehen, die ich mit einer .mp3 Datei füttere, und die mir dann die Audiodaten (PCM-Format) liefert. Hab zwar schon einiges ausprobiert, bloss bis jetzt hat mich keine Freeware wirklich angesprochen, weil kann nicht kompilert werden, ohne großes umschreiben, oder ähnliches. Das ganze soll am besten schon für Win32 kompilierbar sein. Oder weiß einer, ob ich irgendwo ein Tutorial herkriege, ungefähr mit dem Titel "MP3s dekodieren leicht gemacht"???
  2. Schau dir mal dieseSite an. In Beispiel zwei steht z.B., wie man ein Signal mit einem Slot verbindet. Für dein Prog verbindest du das Signal clicked() des Buttons mit einem Slot deiner Application, in dem du dann nur ButtonObject.setText("Wurde schonmal angeklickt"); aufrufst: QObject::connect(&[i]ButtonObject[/i], SIGNAL(clicked()), &[i]ApplicationObject[/i], SLOT([i]SetTextSlot[/i]));
  3. Du musst, wenn du DirectDraw nutzen willst, dir eine DX7.0 Dokumentation besorgen. In DX8.0a gibt's ja kein DirectDraw mehr.
  4. Spontan fällt mir nur ACE Password Recovery ein, das ist ein Brute-Force-Programm. Such mal bei de.altavista.com nach "ACE Password Recovery", im Notfall musst du dass Lexikon erweitern.
  5. Bist du bereits im Besitz eines Compilers? Oder sogar mit IDE? Tutorial gibt's doch wie Sand am Meer, wäre aber notfalls auch bereit, ein Einsteigertutorial zu schreiben. Hasi hat in einem letzten Thread dazu schon eine gute Seite bekannt gegeben: C++ Tutorials <FONT COLOR="#a62a2a" SIZE="1">[ 06. September 2001 17:47: Beitrag 1 mal editiert, zuletzt von MadMatrix ]</font>
  6. Wie sollen wir wissen, dass du das Archiv öffnen darfst?!?
  7. Die logische Formatierung wird auch High-Level-Formatierung genannt, mit z.B. Format legt du so auf einem Datenträger eine FAT an. Die physikalische Formatierung oder Low-Level-Formatierung findet schon beim Herstellen der Datenträger statt, durch sie findet die Einteilung in Spuren und Sektoren statt.
  8. Kenne zwar den Systemaufbau von Windows Me nicht, aber unter Windows 9x lag das daran, dass der Icon-Cache des Systems Fehler aufweist. Für den Fall gibt es dann in Tools wie TweakUI eine Option um den Cache zu reparieren. Aber eigentlich wird der Cache bei jedem Start neu aufgebaut. Könnte ein Virus sein, ich mach mich mal schlau...
  9. MadMatrix

    NamedPipe

    Wie erstellst du die Pipe auf beiden Seiten? Bei CallNamedPipe zum Bleistift musst du ja die Puffergröße angeben. Poste doch mal einen Sourcecode-Auszug, vielleicht wird's dann einfacher das problem zu finden. <FONT COLOR="#a62a2a" SIZE="1">[ 31. August 2001 17:29: Beitrag 1 mal editiert, zuletzt von MadMatrix ]</font>
  10. Was für Übungsprogramme hättest du denn gern, gibt's vielleicht irgendwelche Themengebiete, die dich besonders interessieren? Du arbeitest, denk ich mal, nicht mit MFC?
  11. Vielleicht liegt's ja daran: Du erstellst am Anfang ein TJPEGImage-Objekt per TJPEGImage *jpg = new TJPEGImage(); (*)Dann setzt du die Varibale jpg auf einen neuen Wert: jpg = (TJPEGImage *)DBImage1->Picture; Von nun an hast du keine Kontrolle mehr über das eben erstellt TJPEGImage-Objekt. Schließlich gibst du das Objekt wieder frei: delete jpg; Nach der Zuweisung bei (*) gibt du aber so ein TJPEGImage-Objekt an der Speicheradresse von DBImage1->Picture frei!!!
  12. Geh doch einfach mal zu TrollTech, da gibt's einiges an freien Qt-Programmen mit Sourcecode.
  13. MadMatrix

    suchen

    Na dann, hier mal ein Versuch: #include "stdio.h" #include "io.h" #include "string.h" #include "afxcoll.h" void AddResult(const char* lpszPath, const char* lpszFilename) { printf("%s%s\n", lpszPath, lpszFilename); } void SearchDirectory(const char* lpszDirectory, const char* lpszFilename) { _finddata_t finddata; long Handle; // dateien suchen char* lpszWildcard = new char[strlen(lpszDirectory) + strlen(lpszFilename) + 1]; strcpy(lpszWildcard, lpszDirectory); strcpy(lpszWildcard + strlen(lpszDirectory), lpszFilename); Handle = _findfirst(lpszWildcard, &finddata); if (Handle != -1) do { AddResult(lpszDirectory, finddata.name); } while (_findnext(Handle, &finddata) == 0); _findclose(Handle); delete lpszWildcard; // unterverzeichnisse suchen lpszWildcard = new char[strlen(lpszDirectory) + strlen("*.*") + 1]; strcpy(lpszWildcard, lpszDirectory); strcpy(lpszWildcard + strlen(lpszDirectory), "*.*"); Handle = _findfirst(lpszWildcard, &finddata); if (Handle != -1) do { if ((finddata.attrib & _A_SUBDIR) && (finddata.name[0] != '.')) { char* lpszSubDir = new char[strlen(lpszDirectory) + strlen(finddata.name) + strlen("\\") + 1]; strcpy(lpszSubDir, lpszDirectory); strcpy(lpszSubDir + strlen(lpszDirectory), finddata.name); strcpy(lpszSubDir + strlen(lpszDirectory) + strlen(finddata.name), "\\"); SearchDirectory(lpszSubDir, lpszFilename); delete lpszSubDir; } } while (_findnext(Handle, &finddata) == 0); _findclose(Handle); delete lpszWildcard; } int main(int argc, char* argv[]) { SearchDirectory("C:\\Programme\\Microsoft Visual Studio\\", "*.cpp"); return 0; } Ich bin davon ausgegangen, dass du das ohne MFC machst, also hab ich dass mal "in richtigem C" geschrieben. Ich hoffe, dein Stack ist groß genug für ein paar rekursive Aufrufe.
  14. MadMatrix

    suchen

    Tja, die gibt's ein Problem. Die Windows-File-Funktionen bieten keine Routinen zur rekursiven Dateisuche. Vorschlag (mit _findfirst() und _findnext()): Du musst im Stammverzeichnis anfangen und (*)überprüfst dort, ob die datei vorhanden ist. Ist dies der Fall, merkst du dir den Pfad, und durchsucht dann das Verzeichnis nach Verzeichnissen. In jedem Verzeichnis startest du dann wieder bei (*). Tip: Such im MSDN nach SCANDIR.C !!! Viel Spaß, werd mal schauen, ob ich dass nicht besser hinkriege als Mikroschrott im Beispiel!
  15. Hast du mehrere CD-ROM-Laufwerke? Wenn ja, ist sicherlich nur eines über ein Audiokabel mit deiner Soundkarte verbunden. In dieses musst du dann halt deine Audio-CDs packen. War's das, mir geht's nämlich so? Frage: Gibt's auch ein analoges Audiokabel mit zwei Eingängen und einem Ausgang?
  16. Also, ich hab da folgendes Problem. Mein Programm macht nutzt DirectX 8. Zuerst erstelle ich einen Thread zur Behandlung von Windowsnachrichten und zum Überprüfen der DirectInput-Events. Nachdem ich in diesem DirectDraw und DirectInput initialisiert habe, erstelle ich einen Thread, in dem ich den eigentlichen Programmcode schreibe. Diese beiden Threads funktionieren reibungslos, nur werden halt auch zahlreiche Dlls beim Start geladen, die anscheinend auch Threads starten. Folgende Debug-Infos erhalte ich während das Programm läuft: (... jede menge dlls ...) The thread 0xFFF18E2B has exited with code 0 (0x0). (^das ist mein Application-Thread) The thread 0xFFF1DEFB has exited with code -1 (0xFFFFFFFF). The thread 0xFFF72F23 has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1A1D3 has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1A34F has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1D877 has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1DBE3 has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1D51F has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1D08B has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1D207 has exited with code -1 (0xFFFFFFFF). The thread 0xFFF1CDB3 has exited with code -1 (0xFFFFFFFF). The thread 0xFFF59D57 has exited with code 0 (0x0). (^ und das war mein System-Thread) Aber wieso werden die von den System-Dlls erzeugten Threads mit -1 als ExitCode beendet??? Ist das der normale ExitCode für Windows-System-Dlls??? Bitte helft, benötige nur die Info, ob das "normal" ist?
  17. Turbo Pascal 5.5 gibt's frei im Internet, also denn Compiler mit IDE. Zum Beispiel bei: www.compiling.de Dort unter Compiler, und dann tp55.zip.
  18. Danke, maddin, dass du das Missverständnis geklärt hast!
  19. Also, tach nochmal! Ich hab mir jetzt mal den MFC-Sourcecode angeschaut, die Nachricht WM_KEYDOWN mit wParam = VK_RETURN wird vom Programmgerüst oft abgefangen. Aber an der richtigen Stelle kann man trotzdem unterscheiden , du musst nämlich die Methode PreTranslateMessage(MSG* lpMsg) überschreiben, dann klappts, z. B.: BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { if (pMsg->lParam & 0x01000000) AfxMessageBox("numpad enter tastendruck!"); else AfxMessageBox("normaler enter tastendruck!"); } return CFrameWnd::PreTranslateMessage(pMsg); } Hab's nochmal ausprobiert, es funktioniert.
  20. Moin! Also unter 32-bit Platformen machen CFile::Read() und CFile::ReadHuge sowieso dasselbe (laut MSDN). Das mit dem Array ist aber einfach : ... CStringList StringList; CString String; CStdioFile TextFile; if (TextFile.Open("test.txt", CFile::modeRead)) while (TextFile.ReadString(String)) { StringList.InsertAfter(StringList.GetTailPosition(), String); } TextFile.Close(); } ... Viel Spaß! <FONT COLOR="#a62a2a" SIZE="1">[ 29. August 2001 13:57: Beitrag 2 mal editiert, zuletzt von MadMatrix ]</font>
  21. Hallo erstmal! @Crash2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> Aber was für Werte zeigt der denn dann an beim dritten und vierten %d an, wenn ich dahinter nicht die zu benutzenden Variablen hinschreibe? Weiss das vielleicht noch jemand?
  22. Tja, das ist noch ein Relikt aus DOS-Tagen. Da (nicht nur) die Pfeiltasten ein Teil der erweiterten Tastatur sind, wird beim Drücken dieser zuerst ein char mit dem wert 224 generiert, und im folgenden dann der eigentlichen charcode übermittelt. Für die Pfeiltasten sieht das im Quelltext so aus: int main(int argc, char* argv[]) { char c; char extc; bool bDone = false; printf("Drücke 'q' um zu beenden...\n"); while (!bDone) { while (!_kbhit()) { // idle tasks } switch (_getch()) { case 224: switch (_getch()) { case 'H': printf("Pfeil-Hoch-Taste gedrueckt!\n"); break; case 'K': printf("Pfeil-Links-Taste gedrueckt!\n"); break; case 'P': printf("Pfeil-Unten-Taste gedrueckt!\n"); break; case 'M': printf("Pfeil-Rechts-Taste gedrueckt!\n"); break; } break; case 'q': case 'Q': bDone = true; break; } } printf("Programm beendet!"); return 0; }
  23. Demnach schreibst du das mit MFC? Dann musst du mit dem Class Wizard für das entsprechende Fenster einen Windows-Message Handler für das WM_KEYDOWN-Ereignis erstellen, in dem du dann folgendes tust: void [i](OBJECT)[/i]::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default if ((nChar == VK_RETURN) && (nFlags & 0x100)) // erweiterte Entertaste else // normale Entertaste [i](Vorige Instanz)[/i]::OnKeyDown(nChar, nRepCnt, nFlags); }

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