Vi ska skapa ett enkelt C++-program
som körs i ett textfönster
och inte använder sig av Windows grafiska gränssnitt.
Om man ska skriva ett portabelt C++-program,
alltså ett som också kan kan kompileras och sen köras på en dator med till exempel Mac OS X eller Linux,
så måste man hålla sig till in- och utmatning av text.
De grafiska gränssnitten, och hur man arbetar med fönster och knappar och liknande,
är helt olika på de olika systemen!
Grundspråket C++, alltså det som specificeras av C++-standarden,
innehåller inga grafiska funktioner.
Bild 1: Starta Visual Studio
Visual Studio 2005 finns som ett menyval i Start-menyn:
Bild 2: Visual Studio-fönstret
När Visual Studio 2005 startat ser det ut så här:
Bild 3: Skapa ett nytt projekt
Det som en del andra kanske skulle kalla för ett "program" eller en "mjukvara",
kallar Visual Studio för "projekt".
Vi skapar ett nytt projekt genom att klicka
File -> New -> Project:
Bild 4: Nytt projekt-fönstret
Nu får vi välja vilken sorts projekt vi ska skapa.
Vi ska skapa ett projekt med språket Visual C++,
och det ska vara av typen Win 32 Console Application.
Man måste ge projektet ett namn också.
Bild 5: Guiden med inställningar för programmet
Nu kommer det upp ett fönster där man kan styra projektets inställningar
lite mer i detalj.
Klicka på Application Settings till vänster.
Bild 6: Ändra till ett alldeles tomt projekt
Om man inte säger något annat,
kommer Visual Studio att lägga in lite C++-kod
med Windows-specifika saker,
men vi vill börja med ett helt tomt projekt,
utan några källkodsfiler.
Sätt kryss i rutan Empty project.
Bild 7: Projektet i Visual Studio-fönstret
Nu kan vi börja jobba med vårt nya projekt:
Bild 8: Lägg till en ny källkodsfil
Vi behöver en fil att skriva C++-programmet i,
så vi väljer
Project -> Add New Item:
Bild 9: Ange vad det ska vara för fil, och vad den ska heta
Nu får vi välja vilken sorts sak vi ska lägga till i projekt,
och eftersom vi vill ha en fil med källkod skriven i C++ väljer vi
Code längst till vänster,
och sen C++ File (.cpp).
(Om vi ska skriva programkoden i C och inte i C++,
kan vi få en C-fil genom att helt enkelt ge filen ett namn som slutar på .c
och inte på .cpp.)
Bild 10: Skriv in ett enkelt program
Nu dyker det upp en redigeringsruta i Visual Studio-fönstret,
och vi skriver in ett kort C++-program där:
Bild 11: Bygg ihop programmet så det går att köra
C++-programmet vi skrivit in finns än så länge bara i form av källkod,
och den kan inte köras av datorn.
Därför måste programmet kompileras och länkas,
eller "byggas".
Det gör vi genom att klicka
Build -> Build Solution,
alternativt genom att trycka på snabbtangenten F6.
(Snabbtangenterna kan bli lite olika i olika installationer,
förmodligen beroende på vilka inställningar man har.)
Bild 12: Starta programmet
Sen startar vi programmet genom att klicka
Debug -> Start Debugging,
alternativt genom att trycka på F5.
Bild 13: Va? Inget hände?
Vi startar programmet, men det ser inte ut som att något händer.
Kanske hinner vi se ett fönster dyka upp på skärmen, och sen försvinna direkt.
Det beror på att utmatningen från programmet,
dvs texten Hej, igen världen!,
skrivs ut i ett textfönster,
men sen är ju programmet slut,
och eftersom programmet avslutas så stängs fönstret.
Vi måste modifiera programmet så det inte avslutas direkt efter utskriften:
Bild 14: Programmet körs
Nu fungerar det bättre.
Det är inte förrän vi trycker på RETUR-tangenten som programmet avslutas
och fönstret försvinner.
Men de svenska tecknen blev visst konstiga?
"Bild" 15: Rätta de svenska tecknen
Att de svenska tecknen blev konstiga beror på att Windows använder olika teckenkoder
i det grafiska gränssnittet och i textfönster.
Det har att göra med bakåtkompatibilitet med gamla system.
Vi kan åtgärda det genom att skriva in de särskilda teckenkoderna i C++-programmet:
#include <iostream>
int main() {
std::cout << "Hej igen, v\204rlden!\n";
std::cout << "Tryck RETUR f\224r att avsluta programmet.\n";
while (std::cin.get() != '\n')
;
}
|
Bild 16: Riktiga svenska tecken
Äntligen är allt perfekt!
Thomas Padron-McCarthy
(Thomas.Padron-McCarthy@tech.oru.se),
28 september 2006