C++ -kysymykset
Re: C++ -kysymykset
Mites suljen ohjelman kun olen for -loopissa? system("exit") ei toimi koska se siirtyy ilmeisesti vain pois silmukasta.
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: C++ -kysymykset
Komento break rikkoutuu ulos silmukasta. Myös "return 0;" missä tahansa kohdassa main-funktiota tarkoittaa ohjelman virheetöntä lopettamista.DJ-Filbe wrote:Mites suljen ohjelman kun olen for -loopissa?
EDIT:
Komento system käynnistää järjestelmän komentotulkin ja antaa ohjelman kontrollin sille, kunnes annetut komennot on suoritettu ja kontrolli palaa tulkkia kutsuneeseen ohjelmaan. "system('exit');" siis vain käynnistää komentotulkin ja sulkee sen saman tien.system("exit") ei toimi koska se siirtyy ilmeisesti vain pois silmukasta.
Last edited by SPuntte on Fri Sep 03, 2010 6:37 pm, edited 1 time in total.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: C++ -kysymykset
Olisimpa älynnyt tuon "ritöörn zero" :nSPuntte wrote:Komento break rikkoutuu ulos silmukasta. Myös "return 0;" missä tahansa kohdassa main-funktiota tarkoittaa ohjelman virheetöntä lopettamista.DJ-Filbe wrote:Mites suljen ohjelman kun olen for -loopissa? system("exit") ei toimi koska se siirtyy ilmeisesti vain pois silmukasta.
Re: C++ -kysymykset
Ehm, latasin tuon SDL_gfx paketin, missä mahtaa olla ne .obj tiedostot?
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: C++ -kysymykset
Eikös siellä pitäisi olla .lib, .a ja .dll -tiedostoja?MaGetzUb wrote:Ehm, latasin tuon SDL_gfx paketin, missä mahtaa olla ne .obj tiedostot? :)
Re: C++ -kysymykset
Niitä ei ole. Sinun täytyy kääntää kirjasto. (jolloin tuloksena on staattinen .a kirjasto, koska taidat kääntää kirjastoa nimen omaan MinGW:llä) Tämä on jo hieman hankalampi toimitus. Code::Blocks säästää pienen vaivan kun importtaat VC++ solution filun ("SDL_gfx.sln") editoriin jolloin samalla mukaan tulee kaikki SDL_gfx:n projektit ja testit.MaGetzUb wrote:Ehm, latasin tuon SDL_gfx paketin, missä mahtaa olla ne .obj tiedostot?
Tämän jälkeen projektin asetukset pitää syynätä tarkasti. 1) Tarkista että Release buildtargettin kuuluu oikeat tiedostot.
2) Projektin tyyppi on oikea. (Static library)
3) Buildtargetin kääntäjän flagit ja asetukset on oikein. (mm. Debuggausta ei tarvita!) (VC++ projektien importtaus Code::Blocksiin heittää ne päin puuta, kun käytetään MinGW:tä)
4) kirjasto (SDL_gfx.a) ja objekti filut (filu.o) pusketaan järkeviin kansioihin.
Tämän jälkeen voi koettaa iskeä F9:ä. Jos kaikki meni tuurilla, kirjasto on käännetty. (Aploodit!)
5) Anna linkkerille tarpeeksi kirjastoja! jos linkkeri huutaa, koeta keksiä mikä kirjasto (esim. kernel32, opengl32, libSDL) ect. parametri puuttuu.
6) Lisää kirjaston kansio kääntäjän search hakemistoihin! (ei mielellään projekin asetuksista vaan suoraan globaaleihin kääntäjän asetuksiin) muuten mm. #include <SDL/SDL_gfx.h> ja linkkaus eivät onnistu.
Nämä ohjeet on siis tarkoitettu vain ainoastaan Code::Blocks (10.04), MinGW, SDL_gfx yhdistelmälle.
Jos et saa toimimaan ylemmällä tavalla, kokeile pommin varmaa: kopioi SDL_gfx:n sorsat omaan projektiisi (vain .h ja .c tiedostot!) ja lisää ne projektiin mukaan. Hit the F9 and be done. Tässä on vain se huono puoli SDL_gfx:n sorsien sisällyttäminen omaan projektiin ei ole kovin nättiä ja älykästä: kun teet seuraavan projektin koko komma pitää tehdä uudestaan. Lisäksi pelkän kirjaston päivittäminen on vaikeaa.
Last edited by JATothrim on Thu Sep 09, 2010 11:34 am, edited 1 time in total.
-On selkeästi impulsiivinen koodaaja joka...
Re: C++ -kysymykset
Miten C++ :lla piirretään piste CB:n Dot -komennon tapaan? Pöyristyttävää että neuvoja ei löydy googlettamalla...
Re: C++ -kysymykset
Mitähän kirjastoa mahdat käyttää?DJ-Filbe wrote:Miten C++ :lla piirretään piste CB:n Dot -komennon tapaan? Pöyristyttävää että neuvoja ei löydy googlettamalla...
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: C++ -kysymykset
Jos ihan ilman kirjastoja tahtoo niin menee melkein inline assemblyksi jossa asetat grafiikkatilan ja naksautat pisteen suoraan näyttömuistiin, mutta enpä suosittelisi sitä enää oikein kellekään nykypäivänä.
Jos kovin lähelle rautatasoa tahtoo niin OpenGL ja DirectX ovat tutustumisen arvoisia, jos haluat yksinkertaisempaa graffaa niin WinApilta voi noutaa sopivan tason piirtämistä varten tai käyttää SDL:n ja allegron tapaisia kirjastoja.
Jos kovin lähelle rautatasoa tahtoo niin OpenGL ja DirectX ovat tutustumisen arvoisia, jos haluat yksinkertaisempaa graffaa niin WinApilta voi noutaa sopivan tason piirtämistä varten tai käyttää SDL:n ja allegron tapaisia kirjastoja.
Re: C++ -kysymykset
Vaihdan kysymyksen. Mikä on suhteessa nopein ja helpoin tapa piirtää viivoja, pisteitä ja ympyröitä C++ :lla?TheFish wrote:Mitähän kirjastoa mahdat käyttää?DJ-Filbe wrote:Miten C++ :lla piirretään piste CB:n Dot -komennon tapaan? Pöyristyttävää että neuvoja ei löydy googlettamalla...
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: C++ -kysymykset
Riippuu ihan laitteistostasi. Ilman kovin tehokasta näytönohjainta nopein tapa lienee tosiaan inline ASM + Bresenhamin algoritmi -yhdistelmä, muuten jokin laitteistokiihdytystä hyödyntävä grafiikkakirjasto, eli käytännössä OpenGL tai Direct3D.DJ-Filbe wrote:Mikä on suhteessa nopein ja helpoin tapa piirtää viivoja, pisteitä ja ympyröitä C++ :lla?
Itse tekisin kyllä helpoimmalla, tai helpoiten opittavalla tavalla. Esimerkiksi OpenGL + GLFW-yhdistelmä on varmaan yksi helpoimmista.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: C++ -kysymykset
Suhteessa nopein tapa on edelleen inline-assembly,DJ-Filbe wrote:Mikä on suhteessa nopein ja helpoin tapa piirtää viivoja, pisteitä ja ympyröitä C++ :lla?
EDIT:
helpoin taas joku kirjasto joka ne viivat sinulle piirtelee. Kaikki muu on siitä välistä.Laitteistokiihdytys on tosiaan nopeampi. OpenGL.
Saatat tykätä SFML-kirjastosta.
Re: C++ -kysymykset
Ehkä aloittelija ystävällisin olisi SDL + SDL_gfx (en ole vain itse vieläkään saanut linkitettyä sitä).
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: C++ -kysymykset
-lSDL_main -lSDL -lSDL_gfx ?MaGetzUb wrote:Ehkä aloittelija ystävällisin olisi SDL + SDL_gfx (en ole vain itse vieläkään saanut linkitettyä sitä). :D
Re: C++ -kysymykset
Saitko siis buildattua sen SDL_gfx kirjaston? SDL_gfx.a tiedoston pukkasi ulos? Lisää se plus perus SDL:n kirjastot linkkerille. Ohjeessani sainoin, että pitää lisää hakemistoja etsittäväksi kääntäjälle/linkkerille. Tämä tarkoitti myös sitä, että linkkerikin löytäisi käännetyn SDL_gfx:n vain kirjoittamalla "libSDL_gfx" "Linker Libraries" listaan Code::Blocksissa.MaGetzUb wrote:Ehkä aloittelija ystävällisin olisi SDL + SDL_gfx (en ole vain itse vieläkään saanut linkitettyä sitä).
-On selkeästi impulsiivinen koodaaja joka...
Re: C++ -kysymykset
Eli siis kysymys olisi Nokian Qt c++ ohjelmointi kieltä koskevista kysymyksistä.
1. Yksinkertaisesti miten voin käynnistää toisen ohjelman?
2. Tehdä monta eri desing (.ui) ikkunaa?
2,5. Miten sitten niitä voisi vaihtaa?
3. Kumpaa suosittelette tätä vai Flashia vai Javaa?
1. Yksinkertaisesti miten voin käynnistää toisen ohjelman?
2. Tehdä monta eri desing (.ui) ikkunaa?
2,5. Miten sitten niitä voisi vaihtaa?
3. Kumpaa suosittelette tätä vai Flashia vai Javaa?
Re: C++ -kysymykset
Qt ei ole ohjelmointikieli vaan kehyskirjasto, jonka avulla voi mm. ikkunoida alustariippumattomasti.legend wrote:Eli siis kysymys olisi Nokian Qt c++ ohjelmointi kieltä koskevista kysymyksistä.
1. Yksinkertaisesti miten voin käynnistää toisen ohjelman?
2. Tehdä monta eri desing (.ui) ikkunaa?
2,5. Miten sitten niitä voisi vaihtaa?
3. Kumpaa suosittelette tätä vai Flashia vai Javaa?
1. QProcess
2. Samoin kuin yhdenkin
2,5. Avaa toinen ja sulje edellinen?
3. Tätä.
Re: C++ -kysymykset
Kiitti, mutta on vielä pieni ongelma nyt osaan (kun ohjelma käynnistyy) määrätä mikä .ui ikkuna aukeaa, mutta vaihdossa on pientä ongelmaa. Yritin käyttää samaa koodia kuin millä se käynnistetään, mutta mitään ei tapahdu.esa94 wrote:Qt ei ole ohjelmointikieli vaan kehyskirjasto, jonka avulla voi mm. ikkunoida alustariippumattomasti.legend wrote:Eli siis kysymys olisi Nokian Qt c++ ohjelmointi kieltä koskevista kysymyksistä.
1. Yksinkertaisesti miten voin käynnistää toisen ohjelman?
2. Tehdä monta eri desing (.ui) ikkunaa?
2,5. Miten sitten niitä voisi vaihtaa?
3. Kumpaa suosittelette tätä vai Flashia vai Javaa?
1. QProcess
2. Samoin kuin yhdenkin
2,5. Avaa toinen ja sulje edellinen?
3. Tätä.
Vaihtamis koodi (kohta) näyttää tältä. Eli kun painan Siirto1 nappulaa , nykyisen ikkunan pitäisi tuhoutua ja uusi pitäisi avata.
Code: Select all
void MainWindow::on_Siirto1_clicked()
{
MainWindow a;
a.destroy(true);
Dialog w;
#if defined(Q_WS_S60)
w.showMaximized();
#else
w.show();
#endif
}
Re: C++ -kysymykset
legend wrote:Eli kun painan Siirto1 nappulaa , nykyisen ikkunan pitäisi tuhoutua ja uusi pitäisi avata.Code: Select all
void MainWindow::on_Siirto1_clicked() { MainWindow a; a.destroy(true); Dialog w; #if defined(Q_WS_S60) w.showMaximized(); #else w.show(); #endif }
Code: Select all
void MainWindow::on_Siirto1_clicked()
{
Dialog w;
#if defined(Q_WS_S60)
w.showMaximized();
#else
w.show();
#endif
this->destroy(true);
}
Re: C++ -kysymykset
äähh.. Mikään ei onnistu
Nyt kun yritän tehdä jotain yksinkertaista, eli ohjelmaa joka käynnistäisi flash sovelluksen, mutta koko ajan tulee errori "ei ole tiedostopolkua".
Esimerkki voisi olla paikallaan tai hyvät ohjeet..
koodin pätkä
Nyt kun yritän tehdä jotain yksinkertaista, eli ohjelmaa joka käynnistäisi flash sovelluksen, mutta koko ajan tulee errori "ei ole tiedostopolkua".
Esimerkki voisi olla paikallaan tai hyvät ohjeet..
koodin pätkä
Code: Select all
int QProcess::execute("c:\testi.swf");