Gå til innhold

Nybegynner prøver å lage et program.


Anbefalte innlegg

Har nettopp tatt opp igjen C++ programmeringen min, og tenkte eg skulle bruke system(); for å kjøre et program fra programmet mitt. Men nå finner eg ikke funksjonen i MSDN lenger....

 

Har prøvd med ShellExecute, men da fikk eg bare en haug med feilmeldinger da eg prøvde å inkludere ShellAPI.h.

 

Noen som vet hvor eg kan finne info om system(); ?

Endret av _TT_
Lenke til kommentar
Videoannonse
Annonse

Det funket. takker.

 

Men støtte på enda et problem:

 

system("C:\Program Files\Windows Media Player\wmplayer.exe");

 

hvordan får eg cpp til å forstå at den skal ta med mer enn bare c:\program ? Altså hvordan får eg den til å ta med mellomrommene? Eg prøvde med:

 

system("\"C:\Program Files\Windows Media Player\wmplayer.exe\"");

 

men dette fungerte tydeligvis ikke.

Lenke til kommentar

Du kan alltids gjøre det slik:

 

 

 

#include <iostream>
#include <windows.h>

void gotoxy(int, int);

int main()
{
   gotoxy(25, 25);
   std::cout << "Hello, world!\n";
return 0;
}

void gotoxy(int x, int y)
{
   COORD coord;
   coord.X = x;
   coord.Y = y;
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

Endret av Myubi
Lenke til kommentar

Takker så meget! Den fungerte bedre..

 

Men eg har et aldrig så lite problem til :p :

 

Har system() problemer med mellomrom? Burde ikke dette gå:

 

system("\"c:\\Program Files\\Windows Media Player\\wmplayer.exe\" \"d:\\mappe\\fil.avi\"");

Endret av _TT_
Lenke til kommentar

Nei det er det nok ikke.

 

Skrev bare feil her i forumet.. :blush:

Men rettet det nå.

 

Hvis eg skriver "c:\program files\windows media player\wmplayer.exe" "d:\mappe\fil.av" i et cmd vindu fungerer det jo. Men hvis eg prøver å kjøre det fra system slik kommer den ikke over første mellomrommet. Kan det være at eg ikke kan bruke mer enn 2 " ?

Endret av _TT_
Lenke til kommentar

Du kan bruke ubegrenset med ", så lenge du husker å "escape" dem (altså \"). system() funker praktisk talt helt likt som å skrive kommandoer i selve kommandolinja, med unntak av at du må skrive \\ for \, og \" for ". Sånn ca.

Endret av Myubi
Lenke til kommentar

OK. Da får eg drite i det system() skitet da og gå videre til neste problem som eg har møtt på.

 

Har listet alle filene i en mappe med FindFirstFile() og FindNextFile(), men vil at det skal være mulig for brukeren å bare skrive inn nummeret på filen og så åpnes den. Da må eg vel bruke en array?

 

Poenget er det at eg ikke har så stor erfarin med array's, så er det noen som kunne gitt et eksempel?

Lenke til kommentar

int tall[100]; //det er nå 100 int i en array

 

tall[0] = 10; //en array starter på 0 ikke 1

 

tall[10] = 30; //en av variablen i arrayen inneholder nå 30

 

if (tall[10] == 30)

{

//alt funker

}

 

navn på variablen

|

| nr i arrayen, må være av typen int

| |

tall [100]

 

 

 

håper du fikk med deg det meste :)

Lenke til kommentar

Jeg begynner å bli litt lei av å reklamere for STL, men som oftest vil du bruke en std::vector eller std::list i steden for et vanlig array.

 

Akkurat i dette tilfellet er kanskje et vanlig array greit å bruke, hvis du har et bestemt antall filer. Men det er kanskje "like greit" å bruke en std::vector?

 

Uansett, du kan søke på google etter Standard C++ Library Documentation og se om du liker hva std::vector har å tilby :)

Lenke til kommentar

Eg har ikke noe bestemt anntall filer. det listes filer fra mapper, og en skal kunne legge til og fjerne derfra.

 

Men det med array tingen så litt komplisert ut, men skal se om eg klarer å få til noe når eg kommer hjem... :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...