Avatar billede stanleydk Nybegynder
29. august 2004 - 17:58 Der er 14 kommentarer og
1 løsning

Menu i opstart

Hej.

Jeg har en del Shareware spil, som skal køres i DOS.
Jeg har tænkt mig, at lave en bootdisk, hvor jeg vil ha´, hvor jeg vælger hvilket spil jeg vil spille.

f.eks
1. Wolfenstein
2. Jazz Jackrabbit
3. Doom

o.s.v.

Hvor kan jeg få hjælp om dette ?

Jeg har leget med noget lign. før, men kan ikke huske hvordan..

På forhånd tak
Avatar billede stanleydk Nybegynder
29. august 2004 - 17:59 #1
der var lige en mangel.
hvor jeg vil ha´ en menu, ......
Avatar billede stanleydk Nybegynder
29. august 2004 - 18:00 #2
og så skal f.eks 1. Wolfenstein bare linke til mit e:\games\wolfenstein
Avatar billede egede Nybegynder
29. august 2004 - 21:03 #3
Skal det være i C/C++? Jeg vil da anbefale et DOS-scriptingsprog såsom en batch-fil eller et-eller-andet...
Avatar billede bertelbrander Novice
29. august 2004 - 23:50 #4
At lave menu'en er sådan set ikke det store problem, nogle printf'er eller std::cout'er samt en fgets eller cin og dertil et kald til system funktionen.

Du skal blot være opmærksom på at det ikke er alle kompilere der kan lave programmer der kan køre i rigtig DOS (som f.ex. MsDos 6.xx), DJGPP og Digital Mars kan, Borland laver også gratis kompilere der kan.

Man kan let lave den slags med batch scripts på Windows-DOS, men det er ikke ret let i rigtig DOS.
Avatar billede stanleydk Nybegynder
31. august 2004 - 22:44 #5
Okay. takker for svar
Avatar billede bertelbrander Novice
31. august 2004 - 22:49 #6
Fik du lavet din menu, eller skal vi strikke en sammen til dig?
Avatar billede stanleydk Nybegynder
21. september 2004 - 07:32 #7
Bertelbrander:

Du må meget gerne prøve at strikke en sammen til mig..
Jeg har godt nok haft noget C++ i skolen, men nu syns jeg det kniber lidt :S
Avatar billede bertelbrander Novice
21. september 2004 - 20:44 #8
En C løsning:

#include <stdio.h>
#include <stdlib.h>

typedef struct
{
  char Title[64];
  char Program[256];
}MenuType;

MenuType Menu[64];

int main(void)
{
  int n, i;
  FILE *f = fopen("mymenu.dat", "rt");
  char Line[32];

  if(!f)
  {
      fprintf(stderr, "Failed to open mymenu.dat\n");
      return EXIT_FAILURE;
  }
  for(n = 0; n < 64 && fscanf(f, "%[^,],%s\n", Menu[n].Title, Menu[n].Program) == 2; n++)
  {}

  for(i = 0; i < n; i++)
      printf("%-2d: %s\n", i, Menu[i].Title);

  do
  {
      printf("Select>");
      fflush(stdout);
      fgets(Line, sizeof(Line), stdin);
      i = (int )strtol(Line, 0, 10);
  }
  while(i < 0 || i > n);

  system(Menu[i].Program);

  return EXIT_SUCCESS;
}


Du laver en fil kaldet mymenu.dat i hvilken du specificerer hvilke programmer der skal kunne startes, den skal se ud som følger:
Ole Bole,d:\program\ng\prog1.exe
Peter,d:\program\ng\prog2.exe

Det der står før , er tittel, resten er programmet.
I programmet skriver du dit valg (tallet ud for titlen) og trykker <enter>
Avatar billede stanleydk Nybegynder
22. september 2004 - 15:55 #9
Tak for det..

Hvordan skal man indsætte den tekst du har givet mig, og hvor skal den indsættes ?
Avatar billede webcreator Nybegynder
22. september 2004 - 18:50 #10
Du smider det bare i en tekst-fil og kompiler det. Problemet er bare, at du først skal have hentet og installeret en sådan compiler. Det er ikke så svært, men det ville være mere oplagt at vælge C# (Udtales C-Sharp) da en compiler til dette sprog ofte ligger i windows (hvis altså du har .NET FrameWork'et installeret, hvilket du nok har)
Avatar billede webcreator Nybegynder
22. september 2004 - 18:54 #11
Kan lige prøve at lave noget lidt simplere til dig i C# :)
Avatar billede webcreator Nybegynder
22. september 2004 - 19:30 #12
Jeg trækker mit tilbud tilbage - brug bertelbranders løsning i stedet :)
Troede man kunne lave det i C# uden brug af .NET frameworket.
Avatar billede bertelbrander Novice
22. september 2004 - 19:53 #13
>webcreator, jeg tror ikke at programmer skrevet i C# kan køre i DOS...

>stanleydk, du skal have fat i en C kompiler der kan lave DOS programmer, f.ex:
http://www.digitalmars.com/
http://community.borland.com/museum/
http://www.delorie.com/djgpp/

Så gemmer du koden (fra første # til sidste }) i en .c fil, f.ex. meunu.c og kompilerer den.
Hvis du fortæller hvilken kompiler du vil bruge kan jeg hjælpe med at kompilere.
Avatar billede stanleydk Nybegynder
23. september 2004 - 19:17 #14
Mange tak for svarene alle sammen.

Jeg må desværre indrømme, at det kniber med konsentrationen og tiden, så derfor vender jeg tilbage en dag..
Har også lidt problemer med at få mine gamle DOS spil til at køre ordentlig først.
Avatar billede stanleydk Nybegynder
13. november 2004 - 13:41 #15
kommer senere
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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis