ZeroCool8
-
Gesamte Inhalte
36 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von ZeroCool8
-
-
Du hast die Funktion WndProc deklariert, aber du hast sie nicht definiert. Sie fehlt schlicht und einfach.
Also wie meinst du definiert kannst du mier aufschreiben
wo ich das definieren muss
?
pls.
-
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;
}
-
Laut deinem Code passiert auch nichts.
wieso ?
Hab ich's falsch programmiert?
Wenn ja was hab ich falsch gemacht?
-
Sagen wir mal so. Compilieren läst es sich bestimmt. Ist nur die Frage ob dein gewünschtes Ziel erreicht wird.
Es öffnet nur einmal den Cd Room und wenn ich es zu mache passiert nix.
-
Lass bitte die Finger von diesen Scherzprogrammen und lerne statt dessen ordentlich die Grundlagen. Ich hatte dir das auch schon mal in einer PN geschrieben, aber die hast du ja nicht gelesen.
-
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?
-
Also wäre das hier richtig :
mciSendString ("set CDAudio Door Open", NULL, NULL, NULL);
mciSendString ("set CDAudio time format milliseconds 10", NULL, NULL, NULL);
sleep (14);
system ("Pause");
return 0;
-
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
-
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.
-
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;
}
-
Bitte keine Vollzitate
Gibt es vlt. nicht einen leichteren Quelltext?
-
Hey weis vlt. jemand wie man eine Tonaufnahme in C programmieren kann?
mit mciSendString?
Kennt vlt. jemand den Quelltext?
-
Doch, gibt es. Den Hinweis auf GetUserName hast du doch schon bekommen.
AnsiString GetLoginName(void)
{
TCHAR siBuffer[256];
LPTSTR siValue = siBuffer;
DWORD siBuffSize = 256;
GetUserName(siValue, &siBuffSize);
return AnsiString(siBuffer);
}
ist das der Code???
-
Doch, gibt es. Den Hinweis auf GetUserName hast du doch schon bekommen.
Kannst du mir bitte den Code aufschreiben pls.
-
Hallo ich hab ne Frage
Wisst ihr vielleicht wie man einen Prozess beenden kann in C
Kennt ihr vlt. den Code?
Wenn ja könntet ihr ihn aufschreiben?
Liebe Grüsse
-
Die entscheidende Funktion in diesem Codestück ist es nicht.
Gibt es keinen Code in C
wie man benutzer auslesen kann?
-
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
- wenn Du maschinennah arbeiten möchtest, dann wäre wohl C eine gute Wahl
-
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:
Danke für die Website
-
Gut Danke viel mal für die Hilfe
Ich geh mal lernen bb
-
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
-
Ich bin 14 Jahre alt welche Programmiersprache wäre für mich die beste zum beginnen?
Die leichteste meine ich
-
Man lern die Sprache, die im Unternehmen eingesetzt wird und eventuell noch eine andere in der Berufsschule.
Frank
Ich bin 14 Jahre alt welche Programmiersprache wäre für mich die beste zum beginnen?
-
Und in anderen Firmen nützt dir vielleicht keine der von robotto genannten. Du hörst nicht zu, es gibt keine Pflichtsprache für einen Entwickler.
Ja aber wenn man die Lehre macht lernt man doch nicht alle Programmiersprachen
-
In der Ausbildung ja. In den Fachabteilungen bei uns kann dann später noch Cobol, Visual Basic, ABAP oder C++ hinzukommen. Das hängt davon ab in welcher Fachabteilung man ist.
Frank
Danke
Problem bei Fensterprogrammierung
in C++: Compiler, IDEs, APIs
Geschrieben
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;-)