C++ -kysymykset
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: C++ -kysymykset
_getch() @ conio.h palauttaa painetun näppäimen ASCII-koodin.
Re: C++ -kysymykset
Googletin koko eilisillan mutta en löytänyt tähän vastausta: kuinka nappaan wxWidgets kijastoa käyttäen ikkunan sulkemis eventin? Eli sen kun painetaan X:ää. Nyt ohjelmani vain sulkeutuu, eikä heitä käytäjää messageboxilla. (josta voisi peruuttaa sulkemisen) Valikoista sulkeminen oli lasten leikkiä, mutta tämä tyssäsi. Eli lyhesti: minkä ID/eventin/jne. ohjelma heittää kun X:ää painetaan ja kuinka se napataan kiinni?
-On selkeästi impulsiivinen koodaaja joka...
Re: C++ -kysymykset
Googletus: wxWidgets close window event. Siitä ensimmäinen linkki wxWidgetsin omaan doxygen dokumentaatioon: wxCloseEvent. En tiedä mitä sitten eilen googletitJATothrim wrote:Googletin koko eilisillan mutta en löytänyt tähän vastausta: kuinka nappaan wxWidgets kijastoa käyttäen ikkunan sulkemis eventin? Eli sen kun painetaan X:ää. Nyt ohjelmani vain sulkeutuu, eikä heitä käytäjää messageboxilla. (josta voisi peruuttaa sulkemisen) Valikoista sulkeminen oli lasten leikkiä, mutta tämä tyssäsi. Eli lyhesti: minkä ID/eventin/jne. ohjelma heittää kun X:ää painetaan ja kuinka se napataan kiinni?
Nappaaminen tapahtuu varmaankin samalla tavalla kuin muidenkin eventtien kanssa, itse en ole tuohon wxWidgetsiin perehtynyt
Re: C++ -kysymykset
Nop. Ei mitään uutta, oli toisin hieman paremmin selitetty. Hommassa on nimittäin se, että haluaisin käyttää Connect() funktiota määrittämään eventien handlerit. Nuo event-tablet ja makrot ei oikein kiinnosta. (huonon näköisiä ja sekoittavat koodia)
-On selkeästi impulsiivinen koodaaja joka...
Re: C++ -kysymykset
Napakymppi! Kiittos, Galgoneer! (Tajusit varmaankin miksi en löytänyt vastausta suoraan googlettamalla.. )
-On selkeästi impulsiivinen koodaaja joka...
Re: C++ -kysymykset
En ole ennen ohjelmoinut kuin CB:llä ja aion alkaa harjoitella C++:aa.
Mikä olisi paras ohjelma tähän tarkoitukseen?
Mikä olisi paras ohjelma tähän tarkoitukseen?
Re: C++ -kysymykset
Itse käyttelen Dev-Cpp:tä IDE:nä ja sen mukana tulevaa mingw/gcc:tä kääntäjänä. Sitten jos haluaa vähän "ammattimaisempaa" softaa niin hommaa ilmainen Microsoftin Visual C++ Express Edition.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: C++ -kysymykset
Ei IDE:tä itseasiassa tarvitse mihinkään. Tietenkin muutama helppokäyttöominaisuus jää saamatta, mutta kyllä sitä mainiosti ilmankin pärjää. Itselläni on tällä hetkellä gedit & g++ yhdistelmä ja on kyllä pakko sanoa, että kätevyydessä löytyy. Ei puhettakaan debug-kansioista tai ihme-filuista millä en ainakaan itse tekisi yhtikäs mitään. Projektin kansiossa vain lähdekoodit sekä ajettava ohjelma - Siinä yksinkertaisuus.
Tuosta DevC++:sta vielä. On muuten ihan sairaan buginen IDE, että en todellakaan suosittele kellekkään. Koko homma kaatuu mitä ihmeellisimpiin vikoihin mistä ei ole devillä itselläkään mitään hajua. Käynnistettäessä uudestaan äsken niin failaavat linkkerin asetukset ovatkin nyt käypää tavaraa. Luokka-listassa näkyykin yhtäkkiä jotain ihmeellisiä NULL-kansioita? Sisennys on päin mäntyä pastetellessa pastebiniin oli smarttabit tai ei... Eihän sellaista kestä pää.
Ehdotan Code::Blocksia vaihtoehdoksi.
Tuosta DevC++:sta vielä. On muuten ihan sairaan buginen IDE, että en todellakaan suosittele kellekkään. Koko homma kaatuu mitä ihmeellisimpiin vikoihin mistä ei ole devillä itselläkään mitään hajua. Käynnistettäessä uudestaan äsken niin failaavat linkkerin asetukset ovatkin nyt käypää tavaraa. Luokka-listassa näkyykin yhtäkkiä jotain ihmeellisiä NULL-kansioita? Sisennys on päin mäntyä pastetellessa pastebiniin oli smarttabit tai ei... Eihän sellaista kestä pää.
Ehdotan Code::Blocksia vaihtoehdoksi.
Re: C++ -kysymykset
Testannut vain beta 5:sta joka on keskeneräinen? Itsellä on 4.9 versio eikä ole kaatuillut.Grandi wrote:Tuosta DevC++:sta vielä. On muuten ihan sairaan buginen IDE, että en todellakaan suosittele kellekkään. Koko homma kaatuu mitä ihmeellisimpiin vikoihin mistä ei ole devillä itselläkään mitään hajua.
Re: C++ -kysymykset
Kokeilin Code::Block:ia mutta en saanut suoritettua projektia.
Miten se tehdään? Laitoin Build -> Run mutta ei toiminut..
Miten se tehdään? Laitoin Build -> Run mutta ei toiminut..
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: C++ -kysymykset
Kumpaakin olen käyttänyt ja kyllähän tuo 5.x enemmän kaatuili. Muut bugit kuitenkin lähes samat molemmissa, varmaan ne saadaan vielä korjattua, mutta henkilökohtaisesti luottamus kyseiseen softaan on tyystin mennyttä. Sen verran kireiksi veti hermot aika-ajoin.temu92 wrote:Testannut vain beta 5:sta joka on keskeneräinen? Itsellä on 4.9 versio eikä ole kaatuillut.
Re: C++ -kysymykset
Koska Code::Blocks on tehty useammalle kielelle kuin vain C++:lle sekä sen mukana ei tule kääntäjää, sinun pitää itse määrittää asetuksista se mistä IDE löytäisi kääntäjäsi. Itse en ole käyttänyt ko. IDEä muuta kuin ihan vähän asmin kirjoitteluun ja nekin käänsin itse suoraan komentoriviltä, joten en osaa neuvoa miten.Character wrote:Kokeilin Code::Block:ia mutta en saanut suoritettua projektia.
Miten se tehdään? Laitoin Build -> Run mutta ei toiminut..
Re: C++ -kysymykset
Mitä IDE valittaa? käännösvirhe vai jotain muuta? Valaise ongelmaasi hieman. Tuon perusteella en osaa sanoa muuta kuin, että millaisen version asensit IDE:stä? Tuliko siinä esim. mingw kääntäjä mukana?Character wrote:Kokeilin Code::Block:ia mutta en saanut suoritettua projektia.
Miten se tehdään? Laitoin Build -> Run mutta ei toiminut..
-On selkeästi impulsiivinen koodaaja joka...
Re: C++ -kysymykset
Anti olla.. Asensin sittenkin Crimson Editorin.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: C++ -kysymykset
Mistä saisin revittyä CoolBasicin GetAngle() funktion vastineen C/C++ kieliin? Googletin vaikka millä mitalla, mutta tuli vain matemaattisia kaavoja joista en ymmärrä yhtikäs mitään. Siis ihan valmista funktiota pyytelen, itse en moista osaa tehdä.
Re: C++ -kysymykset
Irrlicht:ssä on getRotation, mutta SDL:stä en tiä, enkä juuri muistakaan.
Edit: Olisi varmaan taas pitänyt ensin katsoa mitä tuo GetAngle()-funktio edes tekee. Eli tolla getRotation:lla ei saa sitä mitä CB:ssä GetAngle:lla.
Edit: Olisi varmaan taas pitänyt ensin katsoa mitä tuo GetAngle()-funktio edes tekee. Eli tolla getRotation:lla ei saa sitä mitä CB:ssä GetAngle:lla.
Last edited by phons on Thu Jan 22, 2009 9:27 pm, edited 1 time in total.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: C++ -kysymykset
Käytän toki koodissani atan2():sta. Tässä viritelmäni joka ei toiminut, korjatkaas mahdolliset virheet:
Code: Select all
double distance(double x1,double y1,double x2,double y2) {
return sqrt(pow(x2-x1,2)+pow(y2-y1,2));
}
double getAngle(double x1,double y1,double x2,double y2) {
if (x1<x2 && y1<y2)
return 360 - atan2(distance(0,y1,0,y2),distance(x1,0,x2,0));
else if (x1>x2 && y1<y2)
return 180 + atan2(distance(0,y1,0,y2),distance(x1,0,x2,0));
else if (x1>x2 && y1>y2)
return 180 - atan2(distance(0,y1,0,y2),distance(x1,0,x2,0));
else if (x1<x2 && y1>y2)
return atan2(distance(0,y1,0,y2),distance(x1,0,x2,0));
else if (x1==x2 && y1>y2)
return 90;
else if (x1==x2 && y1<y2)
return 270;
else if (x1>x2 && y1==y2)
return 180;
else
return 0;
}
Re: C++ -kysymykset
Aika paljon turhaa tuohon teit, kun ottaa huomioon atan2:sen hyödyt. Lisäksi minua ärsyttää tuo tapa laskea kahden samalla akselilla olevan pisteen etäisyys distance-funktiolla, kun on olemassa operator- eli perus miinuslasku ( tyyliin x2-x1, lienee hieman kevyempi, kuin turhat potenssiin korotukset ja neliöjuuret ) tässä olisi minun toteutukseni:Grandi wrote:Käytän toki koodissani atan2():sta. Tässä viritelmäni joka ei toiminut, korjatkaas mahdolliset virheet:Code: Select all
koodia
Code: Select all
double GetAngle(double x1, double y1, double x2, double y2){
double tmp=atan2(y2-y1,x2-x1)*180/3.14159265; // C:n standardikirjasto käyttää radiaaneja, joten tuossa muutetaan ne asteiksi
return tmp<0?360+tmp:tmp; //jos ei tykätä miinusmerkkisistä asteista, niin tällä saadaan esim. -45:n sijasta 315
}