Sie sind nicht angemeldet.

  • Anmelden

1

22.01.2005, 12:56

C++ coder hier? *g* brauche kurz Hilfe

also ich ich Programmiere mehr oder weniger :D ne Klasse für ne Steuerung

hab alles, wollte eigentlich noch das man sich die Steuerung selbst belegen kann

weiss einer wie das ungefähr geht?

also sieht jetzt ca. so aus ^^

bool TSteuerung::rechtsbelegung(int key)
{

}

2

22.01.2005, 13:31

Ich hab leider ka, was genau du machen willst, vielleicht erklärst du das mal etwas genauer.

3

22.01.2005, 13:35

Wäre hilfreich. Mit so wenigen Informationen wirst Du sonst warten bis Du schwarz wirst, bevor Dir jemand helfen kann ;)

Gruß, Mue

4

22.01.2005, 13:56

also z.B. "irgendwo" abzuspeichern das die standard einstellung z.B. die pfeiltasten sind

und mit rechtsbelegung macht das der alte wer überschrieben wird.. :P

5

22.01.2005, 15:26

auch wenn du es dir nicht vorstellen kannst. mit diesen informationen kann keine sau was anfangen ;)

6

22.01.2005, 15:47

entweder bin ich noch besoffen...ziemlich sicher sogar wenn ichs mir recht überlege ^^ oder ich check einfach net was du willst haunted

7

22.01.2005, 19:51

probiers mal in englisch zu erklären, vielleicht kannst das ja jetzt besser als deutsch ;) ...

Partizan_ch

Erleuchteter

Beiträge: 3 349

Wohnort: Jugoslawien

Beruf: CH

  • Nachricht senden

8

22.01.2005, 19:57

er will in sein proggi hotkeys einbauen.

9

22.01.2005, 21:05

jo, eine erneute erklärung wär gut :)

Ich hab das mal so verstanden:

1.idee:
Du möchtest eine Klasse schreiben, mit der du den Tasten Aktionen zuweist ?

2.idee:
oder aus einer superklasse die tastenbelegung überschreiben?

10

22.01.2005, 21:11

Zitat

Original von WW_Asmodean
probiers mal in englisch zu erklären, vielleicht kannst das ja jetzt besser als deutsch ;) ...

11111111111111111111111111111111 :D :D1 :D111 :D11 :D1111 :D1 :D :D11 :D11 :D11 :D1 :D11 :D :D1 :D1 :D11 :D1 :D11 :D1 :D :D1 :D :D :D :D :D :D :D :D1111 :D1 :D1 :D1 :D11 :D1 :D :D1 :D1 :respekt:

-=)GWC(RaMsEs

unregistriert

11

23.01.2005, 01:30

weisst du eigetnlich wie du die klasse enbindest? erzähl mal bisschen was drum rum!
also die idee mit der superklasse ist eben die beste. und dann deine klasse über superklasse ansprechen und mit factory klasse generieren. so würd ich es machen.

und das abspeichern machst du mit einem feld, die anzahl der tasten ist ja konstant, also kannst du auch allozieren.

Vielleicht ein Stringarray, ich weiss auch gar nicht wie du das ansprechen willst. mehr info!


Du musst beim Laden des Tastaturlayouts eben die ganzen Tasten zuweisen. Du kannst auch in der Superklasse bereits Sachen zuviel.

12

23.01.2005, 10:39

wenn es um hotkeys geht sollte er uns erstma erzählen mit welcher oberflächen-lib er arbeitet. QT/MFC/WXWidgets/GTK/Fox-toolkit ...

ab da kann man ihm evtl konkret einen rat geben ;)

13

23.01.2005, 17:48

ich finds lustig dass sich hier 10 leute ernsthaft gedanken machen, aber dem thredersteller gehts einfach am arsch vorbei :D

tsts haunted :p

14

24.01.2005, 00:13

mh sry hatte viel zu tun mit Cisco lernen und so driss :D

ja klar weiss ich wie man klassen einbindet *g* OOP :(

also die klasse soll einfach Hotkeys speichern, und sie wieder überschreiben können, bzw halt umbelegen.. ?(

so wie partizan schon sagte


ja also mit welcher libary ich arbeite *gg*

Borland C++ Builder 5 :D ka keine bestimmte libary oder so ^^

vll sollte ich doch lieber den lehrer fragen wird mir hier zu unübersichtlich und kompliziert *gg*

edit: hab mich gerade informiert

VCL lib.

kann das sein? *g

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Haunted« (24.01.2005, 00:17)


15

24.01.2005, 00:19

ja das kann sehr gut sein ^^

naja ich kenn mich nur mit der mfc aus und ziehe mich hiermit zurück :D

viel spass noch ^^

16

24.01.2005, 00:47

Ich schreib mal was hin vielleicht hilfts ja.

Main(...)
{
Steuerung x;

x = new Steuerung('a','b');
x.belege(0,'c');
}


class Steuerung
{
private char links;
private char rechts;
// ...

public Steuerung(char param1,char param2)
{
links = param1;
rechts = param2;
// ....
}

public void belege(int key,char value)
{
switch(key)
{
case 0:
links = value;
break;
case 1:
rechts = value;
breaK;
// ...
}
}
}

17

24.01.2005, 00:51

Ist ja sehr toll, dass die Leerzeichen für die Einrückungen gekillt werden :P. Hmm ich denk mal so meinste das aber nicht, sondern du hast mit irgendeiner Entwicklungsumgebung Steuerelemente wie Buttons oder so platziert und willst da jetzt was ändern ?

18

24.01.2005, 01:48

Orca, ich habe mich schon immer gefragt, wozu der Code-Button im Forum gut ist

Quellcode

1
2
3
4
5
class keineAhnung {
	void public sagwas(void) {
		printf("Ich weiss es nicht ^^");
	}
}

19

24.01.2005, 14:47

Zitat

Original von ZwerGOrca
Ist ja sehr toll, dass die Leerzeichen für die Einrückungen gekillt werden :P. Hmm ich denk mal so meinste das aber nicht, sondern du hast mit irgendeiner Entwicklungsumgebung Steuerelemente wie Buttons oder so platziert und willst da jetzt was ändern ?


ja genau!

man soll halt sehen welche atm eingestellt sind und sie ändern können

das ganze ist halt in einer grafischen oberfläche^^

son Windows fenster halt :D


edit: mh joa der quelltext geht schon in eine gute richtung :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Haunted« (24.01.2005, 14:48)


20

24.01.2005, 17:19

Windows Fenster?


Ich weiss zwar immernoch nicht, was du eigtnlich willst (:D), aber vielleicht solltest du dich mal mit der windows API befassen, damit kann man aufjedenfall die Nachrichten an das Programm/Fenster (wozu auch gedrückte Tasten zählen) verarbeiten.

Auf NeHe gibts da imo auch nen Tutorial zu.

21

24.01.2005, 23:02

aaaalso :D


wir sind drauf und dran son snake programm "objekt orientiert" zu programmieren sprich in klassen


ausm hauptmenü aus kann man auf steuerung, und dort halt sein Hotkeys zu belegen um die schlange zu steuern

und die Klasse wie man die hotkeys belegt, ist hier gefragt

verstanden :(?

22

26.01.2005, 21:30

Das ist nicht so ganz genau das was du haben willst aber ich denke da kannst du ganz gut sehen wie sowas im Prinzip geht (hatte keine Lust extra was neues zu machen ^^). Das Bespiel funktioniert ohne MFC oder dergleichen. Bei den Resourcen musst du beim erstellen darauf achten, dass die Namen mit den Namen die ich hier benutzt habe identisch sind oder die Namen entsprechend ändern (also diese Beziechner wie z.B. ID_BUTTON1).

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <windows.h>
#include "resource.h"

BOOL CALLBACK dlgProc( HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{ 
  switch ( iMsg ) {
	  
  case WM_INITDIALOG : { 
	  SetMenu(hwnd, LoadMenu(GetModuleHandle(NULL),MAKEINTRESOURCE(IDM_MENU)));
  break; } 
 
  case WM_CLOSE : { 
      EndDialog( hwnd,IDYES);
  break; }


  case WM_COMMAND: { 
    switch ( LOWORD(wParam) ) 
    { //MenuItems, Buttons
      case IDB_BUTTON1: 
	       DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG), hwnd, (DLGPROC)dlgProc);
	  break;
	  case IDB_BUTTON2:
		   WinExec("Notepad", SW_SHOW);
		   // WinExec("cmd /K dir \r\n", SW_SHOW); 
	  break;
      case IDM_EINTRAG1: 
           MessageBox( hwnd, "Hallo","Testdialog",MB_OK);
      break;
      case IDOK : //(OK)-Button zum beenden
           SendMessage( hwnd, WM_CLOSE, LOWORD(wParam), lParam ); 
           return TRUE;
    } 
  } break; //Ende von WM_COMMAND

 
  } //Ende von switch(iMsg)
  return FALSE;
}


//Hauptprogramm
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hiPrev,PSTR pCmdMain,int iShowMain) 
{
  return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, (DLGPROC)dlgProc);
}


in WinMain kannst du sehen dass es sich um eine DialogBox handelt,wenn du keine Dialogbox nimmst ist die Steuerung mit switch Case aber im Prinzip genauso. Der Wichitige Case ist WM_COMMAND, dort kannst du etwas machen wenn auf die Controls mit den entsprechenden Bezeichnern geklickt wird. Für das was du hast könnte man z.b. verschiedene Textfelder nehmen in denen du dann die Hotkeys eingibst und zum abspeichern der Konfiguration dann einen Button mit aufschrift 'Save Settings' oder sowas.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ZwerGOrca« (26.01.2005, 21:34)


SenF_Monster_

Fortgeschrittener

Beiträge: 273

Wohnort: Kaufungen (Kassel)

Beruf: GER

  • Nachricht senden

23

28.01.2005, 19:12

hui respeckt =)

ich bin gerade bei klassen angekommen aber das hier da steig ich ja noch gar nicht durch ... was habt ihr für ne ausbildung genossen / genießt ?

24

28.01.2005, 19:16

das is np, schau dir erst winapi an, damit du weisst wie windows funzt, denn die MFC (MS) und die Bibliothek von Borland sind ja nur verkapselungen der WinApi strukturen.

wenn man die winapi versteht, dann versteht man windows auch leichter

ich hab die mfc nie verstanden, bis ich mir mal die winapi angesehen habe und verstanden habe wie das mit dem meldungen geht usw
dann war die MFC bzw VLC kein thema mehr

25

28.01.2005, 22:33

was ist VLC?

27

29.01.2005, 13:31

Zitat

ich bin gerade bei klassen angekommen aber das hier da steig ich ja noch gar nicht durch ... was habt ihr für ne ausbildung genossen / genießt ?


Informatik Studium (FH)

Die Sachen sind nicht so schwer wie sie aussehehen. Das blöde bei dem Beispiel sind diese LParam,Wparam etc. Sachen bei denen es eigentlich völlig unnötig ist,dass man sich da selbst drum kümmern muss.
Bei C# reichts zum Beispiel wenn man Seine Klasse von Windows.Form ableitet und dann Application.Run(...) macht.Für die Callbackfunktionen gibts eigene Sprachkonstrukte (Delegate/Event), sodass das auch viel schöner ist. Das hat zurfolge, dass mans da auch gleich versteht und sich nicht mit so Sachen wie Lparam und WParam rumquälen muss bei denen man sich immer fragt :'waren die Leute besoffen die so ein gemurkse entwickelt haben'. ^^
@Haunted : Wenn du oder mitwirkende C# könnt, benutzt das ist einfacher dann.