Avatar billede acid-head Nybegynder
25. december 2001 - 02:29 Der er 9 kommentarer og
1 løsning

Knappe-halløj i dos...

<acidhead>

Hej eksperter... :)

- Jeg har lige læse en bog omkring C++ bogen handler kun om programmering i dos, og det vil jeg gerne lige øve mig i inden jeg går til windows-programmering... ;)

- Jeg har via. bogen lært det mest nødvendige tror jeg...: Løkker, Klasser, Objekter, Makroer, Arvning osv...

- Så var det jeg tænkte om man ikke, i dos, kunne lave en form for knapper... :) Altså jeg mener nogle man skulle vælge med piletasterne og så ENTER, når man er på den knap man vil vælge...??

- Kan man ikke lave sådan noget?

På forhånd tak...
Avatar billede kamikaze Nybegynder
27. december 2001 - 09:56 #1
Det kan du da godt, men du skal lave det hele selv, og det er et kæmpe arbejde :-)
Avatar billede borrisholt Novice
27. december 2001 - 10:23 #2
Brug Borlands C++ Builder så får du en masse Windows snask foræret .... Så kan du konsentere dig om at programmere ikke at bruge uendelig mængder af tid på at lave knapper.

JEns B
Avatar billede - Nybegynder
27. december 2001 - 15:39 #3
Hej syre-hoved ;)

Det er rigtigt som kamikaze skriver du skal lave det hele, men det er IKKE et kæmpe arbejde.

Med gotoxy kan du sætte en \"->\" til at pege ud for en sætning.
lav en løkken med en getch sætning i og aflæs resultat og flyt \"->\" derefter.
if (pil==0x50)
      ryk_pil_ned();
if (pil==0x4B)
      ryk_pil_venstre();
if (pil==0x4D)
      ryk_pil_hoejre();
osv......
med op/ned kan man så rykke pilen hen til det man vil pege på.

håber jeg har gjort mig forstålig.

Avatar billede kamikaze Nybegynder
27. december 2001 - 17:05 #4
Jeg er helt med på hvad du mener, men synes stadig det er et kæmpe arbejde i forhold til hvad man får ud af det. Jeg har selv lavet div. spil i dos (fx. 4 på stribe, mastermind osv.) hvor man kan flytte en cursor vha. gotoxy(int x, int y), men det bliver ikke særlig lækkert. Det er jo et dos-vindue uanset hvad man gør. Jeg er helt enig med borrisholt i, at Borland C++ builder er et godt skridt efter dos-programmering.
Avatar billede - Nybegynder
28. december 2001 - 13:17 #5
Jeg er enig i at builderen gør det bedre og nemmere, men acidhead ønskede at øve sig i dos-app inden han tog winapps op. Og det lyder i mine øre som en rigtig god ide, da man skal kunne kravle inden man kan gå. Men vi kan sikkert blive enige om at lave en dos-version af 4 på stribe er en sjov og lærerig process (har også lavet det).
Avatar billede acid-head Nybegynder
29. december 2001 - 20:43 #6
Hej alle sammen... :)

- Jeg har skam også planer om at gå til Win-programmering, men først vil jeg som sagt, gerne lige øve mig lidt i dos programmering...

- Så tusiden tark for svarene...

- Jeg lukker ikke spørgsmålet endnu, hvis nu jeg løber ind i en masse problemer...
Avatar billede mummikiks Nybegynder
29. april 2004 - 14:01 #7
Hejsa Jeg kunne godt tænke mig at se en fuld kode til at skifte mellem 4 punkter...synes det lyder spændende!!!
Avatar billede bertelbrander Novice
29. april 2004 - 19:50 #8
Kode der flytter cursoren rundt på skærmen:

#include <conio.h>
#include <stdio.h>

#define KEY_DOWN  80
#define KEY_UP    72
#define KEY_LEFT  75
#define KEY_RIGHT 77

int main(void)
{
  int x = 40;
  int y = 10;
  char c;
  clrscr();
  printf("Hit Left/Right/Up/Down, q to exit\n");

  do
  {
    gotoxy(x, y);
    c = getch();
    if(c == 0)
    {
      switch(getch())
      {
        case KEY_DOWN:
          y++;
          break;
        case KEY_UP:
          y--;
          break;
        case KEY_LEFT:
          x--;
          break;
        case KEY_RIGHT:
          x++;
          break;
      }
    }
  }
  while(c != 'q');

  return 0;
}
Avatar billede mummikiks Nybegynder
30. april 2004 - 01:43 #9
Jeg får følgende fejl når jeg kompilere i .net...hjælp!!
error C3861: 'clrscr': identifier not found, even with argument-dependent lookup
error C3861: 'gotoxy': identifier not found, even with argument-dependent lookup
Avatar billede bertelbrander Novice
30. april 2004 - 02:03 #10
En version der virker, selv med .net:

#include <conio.h>
#include <stdio.h>
#include <windows.h>

#define KEY_DOWN  80
#define KEY_UP    72
#define KEY_LEFT  75
#define KEY_RIGHT 77

void GotoXY(short x, short y)
{
  COORD C;
  C.X = x;
  C.Y = y;
  SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), C);
}

int main(void)
{
  int x = 40;
  int y = 10;
  system("cls");
  printf("\nHit Left/Right/Up/Down, q to exit\n");

  while(1)
  {
    GotoXY(x, y);
    switch(getch())
    {
      case KEY_DOWN:
        y++;
        break;
      case KEY_UP:
        y--;
        break;
      case KEY_LEFT:
        x--;
        break;
      case KEY_RIGHT:
        x++;
        break;
      case 'q':
        return 0;
    }
  }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester