Zum Inhalt springen

ZeroCool8

Mitglieder
  • Gesamte Inhalte

    36
  • Benutzer seit

  • Letzter Besuch

Beiträge von ZeroCool8

  1. Das hier ist eine Deklaration, in C sagt man auch Prototyp:

    LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );

    Damit sagst du nur, dass es die Funktion gibt.

    Du musst in deinem Code auch noch festlegen, was die Funktion tut. Das ist die Definition:

    LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )

    {

    // Hier kommt der Code der Funktion hin

    }

    Irgendwo in deinem Programm, außerhalb der anderen Funktion(en).

    Danke viel mal für deine Hilfe;-)

  2. Könnt ihr mir vlt. helfen

    Dieser Quelltext kann ich nicht kopieren

    es lässt sich nicht kompilieren es steht :

    [Linker error] undefined reference to `WndProc@16'

    ld returned 1 exit status

    C:\Dev-Cpp\Makefile.win [build Error] [Fenster.exe] Error 1

    Wisst ihr vlt. was zu tun ist?

    oder was falsch ist?:confused:

    Danke im Voraus:confused:

    #include <windows.h>

    #include <stdlib.h>

    #include <time.h>

    #define PIXEL 1

    #define LINIE 2

    #define RECHTECK 3

    #define VIELECK 4

    #define ELLIPSE 5

    #define INVALIDATE 6

    #define BEENDEN 7

    HWND bPixel, bLinie, bRechteck, bVieleck, bEllipse, bInvalidate, bBeenden;

    LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );

    LPCSTR MainClassName = "Malen und Zeichnen";

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

    PSTR szCmdLine, int iCmdShow)

    {

    WNDCLASSEX wc;

    HWND hWnd;

    MSG wmsg;

    wc.cbSize = sizeof(WNDCLASSEX);

    wc.style = 0;

    wc.lpfnWndProc = WndProc;

    wc.cbClsExtra = 0;

    wc.cbWndExtra = 0;

    wc.hInstance = hInstance;

    wc.hIcon = LoadIcon(GetModuleHandle(NULL), IDI_APPLICATION);

    wc.hCursor = LoadCursor(NULL, IDC_CROSS);

    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

    wc.lpszMenuName = MainClassName;

    wc.lpszClassName = MainClassName;

    wc.hIconSm = LoadIcon(GetModuleHandle(NULL), IDI_APPLICATION);

    if(!RegisterClassEx(&wc))

    {

    MessageBox(NULL, "Windows Registrations Fehler", "Error!",

    MB_ICONEXCLAMATION | MB_OK);

    return 0;

    }

    hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, MainClassName,

    "Gerätekontext Beispiel",

    WS_SYSMENU | WS_VISIBLE,

    CW_USEDEFAULT, CW_USEDEFAULT,

    400, 300, NULL, NULL, hInstance, NULL);

    bPixel = CreateWindow("button", "Pixel", WS_CHILD | WS_VISIBLE |

    BS_DEFPUSHBUTTON, 310, 0, 80, 30,

    hWnd, (HMENU)PIXEL, hInstance, NULL);

    bLinie = CreateWindow("button", "Linie", WS_CHILD | WS_VISIBLE |

    BS_DEFPUSHBUTTON, 310, 30, 80, 30,

    hWnd, (HMENU)LINIE, hInstance, NULL);

    bRechteck = CreateWindow("button", "Rechtecke", WS_CHILD |

    WS_VISIBLE | BS_DEFPUSHBUTTON,

    310, 60, 80, 30, hWnd,

    (HMENU)RECHTECK, hInstance, NULL);

    bVieleck = CreateWindow("button", "Vielecke", WS_CHILD |

    WS_VISIBLE | BS_DEFPUSHBUTTON,

    310, 90, 80, 30, hWnd,

    (HMENU)VIELECK, hInstance, NULL);

    bEllipse = CreateWindow("button", "Ellipse", WS_CHILD |

    WS_VISIBLE | BS_DEFPUSHBUTTON,

    310, 120, 80, 30, hWnd,

    (HMENU)ELLIPSE, hInstance, NULL);

    bEllipse = CreateWindow("button", "Säubern", WS_CHILD |

    WS_VISIBLE | BS_DEFPUSHBUTTON,

    310, 150, 80, 30, hWnd,

    (HMENU)INVALIDATE, hInstance, NULL);

    bInvalidate = CreateWindow("button", "Säubern", WS_CHILD |

    WS_VISIBLE | BS_DEFPUSHBUTTON,

    310, 150, 80, 30, hWnd,

    (HMENU)INVALIDATE, hInstance, NULL);

    bBeenden = CreateWindow("button", "Beenden", WS_CHILD |

    WS_VISIBLE | BS_DEFPUSHBUTTON,

    310, 180, 80, 30, hWnd,

    (HMENU)BEENDEN, hInstance, NULL);

    if(hWnd == NULL)

    {

    if(MessageBox(NULL, "Fehler beim Erstellen des Fensters!",

    "Error!", MB_ICONEXCLAMATION | MB_OK) == IDOK);

    return 0;

    }

    while(GetMessage(&wmsg,NULL,0,0))

    {

    TranslateMessage(&wmsg);

    DispatchMessage(&wmsg);

    }

    return wmsg.wParam;

    }

  3. Sagen wir mal so. Compilieren läst es sich bestimmt. Ist nur die Frage ob dein gewünschtes Ziel erreicht wird.

    Ja es kompiliert auch

    aber es kommt so eine Meldung :

    The program can't start because msvcr70.dll is missing from you computer.Try reinstalling the programm to fix this problem.

    ich habe msvcr70.dll runtergeladen aber was muss ich jetzt mit msvcr70.dll tun?

  4. hey könnt iher mir helfen ich weis wie man den CD Laufwerk öffnet:

    #include <stdio.h>

    #include <stdlib.h>

    #include <windows.h>

    int main (void) {

    mciSendString ("Set CDAudio Door Open",NULL, NULL, NULL);

    system ("Pause");

    return 0;

    }

    Jetzt will ich nur noch wissen

    wie kann man also wenn ich den Cd laufwerk wieder zu mache das es sich wieder in 10 sekunden öffnet und sich immer wiederholt zb 5 mal wiederholt??

    Danke im Voraus

  5. Wenn Du bei mir das Speichern entfernst und ein paar unnötige Variablen in einem Command zusammenfäßt, hast Du bei mir das gleiche Ergebnis. Ich habe das ganze aus mehreren Stücken zusammenkopiert, daher kann sicher das ein oder andere für eine reine Aufnahme überflüssig sein. Du könntest z.B. die ganzen Structs mit Initialisierung unter den Tisch fallen lassen. Die Fehlerbehandlung ist auch bei Dir nicht vorhanden. Wie es scheint hast Du nicht die Programmiererfahrung, um so etwas selber im Code zu erkennen oder vorzunehmen, sonst hätte sich der letzte Post erübrigt.

    Ja das stimmt ich habe keine Programmiererfahrungen.

  6. Es gibt leider keine Funktion, die mittels Gedankenlesen herausfindet, von welchem Audiogerät in welchem Audioformat in welche Datei du aufnehmen willst.

    Gewöhne dich daran, dass bestimmte Aufgaben, die für den Benutzer ganz einfache oder alltägliche Vorgänge sind, in Programmform sehr sehr aufwändig sein können. Du kannst froh sein, dass dir bei diesem Problem das MCI-Subsystem den größten Teil der Arbeit abnimmt. Mit DirectSound könnte man das auch machen, aber der Code wird ähnlich lang sein, wenn nicht gar länger.

    Es wird seinen Grund haben, dass das Audiorecorder-Tool von Windows, das ja im Grunde nichts weiter tut als das, was du da haben möchtest, über 100 KByte groß ist.

    Der Code ist viel einfacher :

    #include <stdio.h>

    #include <stdlib.h>

    #include <windows.h>

    int start_new_record()

    {

    mciSendString("OPEN NEW TYPE WAVEAUDIO ALIAS Audiorekorder",0,0,0);

    mciSendString("set Audiorekorder time format ms",0,0,0);

    mciSendString("set Audiorekorder channels 1",0,0,0);

    mciSendString("set Audiorekorder bitspersample 8",0,0,0);

    mciSendString("record Audiorekorder",0,0,0);

    }

    int pause_record()

    {

    mciSendString("pause Audiorekorder",0,0,0);

    }

    int resume_record()

    {

    mciSendString("resume Audiorekorder",0,0,0);

    }

    int save_record(char *Dateiname)

    {

    char cmd[500];

    wsprintf(cmd,"save Audiorekorder %s",Dateiname);

    mciSendString(cmd,0,0,0);

    }

    int close_record()

    {

    mciSendString("stop Audiorekorder",0,0,0);

    mciSendString("close Audiorekorder",0,0,0);

    }

    int main(int argc, char *argv[])

    {

    char Datei[900];

    int Wahl=0;

    do

    {

    if(Wahl==0 ||Wahl==2)

    {

    printf("Wie soll die wav-Datei heissen, die Sie erstellen wollen:\n");

    scanf("%s",&Datei);

    getchar();

    system("Cls");

    }

    if(Wahl==0 || Wahl==1 || Wahl==2)

    {

    system("Cls");

    printf("Wenn Sie die Aufnahme starten(fortfuehren) moechten, druecken Sie Enter. Wenn Sie die Aufnahme stoppen oder beenden wollen, druecken Sie noch einmal Enter.");

    getch();

    system("Cls");

    printf("Die Aufnahme laeuft! Druecken Sie Enter um diese zu stoppen.");

    if(Wahl==0 || Wahl==2) start_new_record();

    if(Wahl==1) resume_record();

    getch();

    pause_record();

    }

    system("Cls");

    printf("Sie haben folgende Moeglichkeiten:\n\n");

    printf("<1>Aufnahme fortsetzen\n");

    printf("<2>Aufnahme neu starten\n");

    printf("<3>Aufnahme speichern\n");

    printf("<4>Aufnahme beenden ohne zu speichern(Programm wird beendet)\n");

    printf("<5>Programm beenden\n\n");

    printf("Ihre Wahl: ");

    scanf("%d",&Wahl);

    getchar();

    system("Cls");

    if(Wahl==2 || Wahl==4 || Wahl==5) close_record();

    if(Wahl==3)

    {

    save_record(Datei);

    system("Cls");

    printf("Die Aufnahme wurde gespeichert! Druecken Sie Enter um zurueck ins Menu zu gelangen.");

    getch();

    }

    }while(Wahl!=4 && Wahl!=5);

    return 0;

    }

  7. Das ist ein subjektiver Eindruck. Wenn man jemanden, der bisher nur imperative Sprachen kennt, eine logische Sprache vorsetzt, werden sie sagen "das ist schwer" (umgekehrt ist das analog). Ich würde die Sprache davon abhängig machen, was Du erreichen willst.

    • wenn Du maschinennah arbeiten möchtest, dann wäre wohl C eine gute Wahl
    • möchtest Du eher in den Bereich der Logik gehen, wäre Prolog sinnvoll
    • wenn Du eher mathematisch arbeiten möchtest dann Haskell
    • für Lösung von numerischen / statistischen Problem wären Systeme wie z.B. Matlab, R oder Octave sinnvolle Systeme
    • für symbolische Mathematik kann man sich Maple anschauen
    • für algebraische Probleme wäre z.B. GAP ein Tool
    • wenn man nur eine GUI benötigt wäre Tk eine entsprechende Scriptsprache
    • bei Webanwendungen würde man wohl in die Richtung PHP, Python, JavaScript und/oder Java in Verbindung mit HTML gehen
    • cross-plattform Anwendungen wäre wohl in die Richtung Java, sowie C++ mit entsprechenden Bibliotheken sinnvoll

    Du siehst durch die Aufzählung, dass man hier sicherlich keine konkrete Sprache als "die Beste" nennen kann.

    Danke für die Infos

  8. Darauf gibt es keine eindeutige Antwort und es wurden schon (zu) viele Streitgespräche dazu geführt.

    Grundsätzlich ergibt sich die Programmiersprache oft aus den Anforderungen, d.h. überleg dir was du programmieren möchtest und such dir eine passende Programmiersprache aus. (Lies z.B. bei Wikipedia für was bestimmte Sprachen überwiegend eingesetzt werden und wo ihre Stärken und Schwächen liegen)

    Jemand der sagt: Nimm die Sprache X, das ist die beste und einfachste für alles liegt je nach Anforderung höchstwahrscheinlich falsch.

    Falls dich interessiert welche Sprachen in der Industrie eingesetzt werden (sofern man dies messen kann), schau dir mal folgenden Link an:

    TIOBE Software: The Coding Standards Company

    Danke für die Website

  9. Man sollte hier erst einmal etwas differenzien: Es gibt Markupsprachen wie z.B. HTML, LaTeX usw. und die drei großen Gruppen imperative, logische und funktionalen Sprachen. In der Ausbildung wird man fast ausschließlich mit imperativen Sprachen wie z.B. C++, .NET Sprachen usw in Kontakt kommen. Die logischen & funktionalen wird man wohl eher innerhalb eines Studiums kennen lernen.

    Da Du hier von einem "Informatiker" sprichst würde ich eher sagen, das "Mittel für den Zweck", d.h. anhand einer Problemstellung sollte man die Sprache auswählen, d.h. je mehr Sprachen man kennt um so besser kann man das Problem lösen. Auch wenn die Fraktion der imperativen Sprachen deutlich größer vertreten ist, sollte man immer im Kopf haben, dass es auch andere Sprachen gibt.

    Wie schon alle Vorposter gesagt haben, es gibt keine Richtlinie, die vorschreibt, welche Sprachen für einen "Informatiker" (Lehre & Studium) Pflicht sind. Wichtig ist vor allem, dass man einen Algorithmus unabhängig von der Sprache entwerfen kann, wenn dieser dann implementiert werden muss, sollte man eine Sprache auswählen, mit der man effizient den Algorithmus umsetzen kann und dann eben die Konzepte, die in der entsprechenden Sprache vorhanden sind, anwenden.

    Gut Danke viel mal für die Hilfe

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