29. august 2004 - 17:58Der 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..
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.
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>
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)
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.
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.
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.