C++ -kysymykset
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: C++ -kysymykset
En ole koskaan kuullut/lukenut. Mutta mutta... Miten MessageBoxia käytetään? Parametrit? Includet? oon melko noobi näissä c++ jutuissa.
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
Re: C++ -kysymykset
MSDN. Sieltä saa kaikki WINAPI funktiot. Yleensä riittää pelkästään googletus funktion nimellä, niin ensimmäinen linkki on MSDN:ään. Tässä.Eräs cb koodaaja wrote:En ole koskaan kuullut/lukenut. Mutta mutta... Miten MessageBoxia käytetään? Parametrit? Includet? oon melko noobi näissä c++ jutuissa.
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: C++ -kysymykset
Juu, MSDN on tosiaan windows-ohjelmoinnissa ykkönen, ja standardikirjastojen käyttö (kaikkine hienouksineen ym.) löytyy C++ Reference-nimiseltä sivulta. Google muistaa osoitteen minua paremmin.
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: C++ -kysymykset
Miten VC++:lla voi tehdä dll tiedostoja, kun Devissä oli suoraan dll projekti, mutta VC:stä en sitä löytänyt?
EDIT:
Miten VC:hen saa SDL:n
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: C++ -kysymykset
http://www.ohjelmointiputka.net/opas.ph ... s#visualc6Miten VC:hen saa SDL:n
Wanhaan VC:hen, mutta ajaa kai asiansa.
Oli muuten ensimmäinen vaihtoehto googlella.
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: C++ -kysymykset
VC 2008 oli tarkoitus saada tuo sdl.
Ja miten niitä dll tiedostoja tehdään VC 2008:lla kun devissä oli pohja valmiina.
Ja miten niitä dll tiedostoja tehdään VC 2008:lla kun devissä oli pohja valmiina.
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: C++ -kysymykset
Eikös VC 2008:kin ollut? (olen isosiskon koneella, niin en pysty tarkistamaan) Eli ihan vain projektia luodessa säädät valikoissa. Ja jos ei ollut, niin headeri ja sitten tiedosto ihan niitä funktioita varten, siitä se lähtee. Ja google tuntee ohjelmointioppaat, myös DLL:ien suhteen.Eräs cb koodaaja wrote:VC 2008 oli tarkoitus saada tuo sdl.
Ja miten niitä dll tiedostoja tehdään VC 2008:lla kun devissä oli pohja valmiina.
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: C++ -kysymykset
Sain asennettua SDL:n tuon ohjeen perusteella, mutta kääntäjä valittaa virheestä:
Mistähän mahtaa johtua? Koodina on ohjelmointiputkan sdl-opaan esimmäinen koodi.
Code: Select all
------ Build started: Project: SLDTesti, Configuration: Debug Win32 ------
Compiling...
SLDTesti.cpp
c:\documents and settings\hp_omistaja\omat tiedostot\visual studio 2008\projects\sldtesti\sldtesti.cpp(32) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
Build log was saved at "file://c:\Documents and Settings\HP_Omistaja\Omat tiedostot\Visual Studio 2008\Projects\SLDTesti\Debug\BuildLog.htm"
SLDTesti - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
EDIT:
Tuossa dll-jutussa halusin uuden dll-projektin, ja löysinkin sen sdl:llä säätäessäni kohdasta "Win32 Project", eikä siis mitään ohjelmointioppaita.Sama ongelma ilmeni kääntäessäni yhtä Dll-juttua
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: C++ -kysymykset
Kokeilehan tehdä kuten siinä ehdotetaan ja lisää includeihin #include "stdafx.h". Siis se sanoo, että esikäännettyä headeria etsittäessä tiedosto loppui odottamatta, mikäli et itse saanut selvää. Ei sitten hajuakaan, mitä tuo tarkoittaa, vaikuttaa lähinnä korruptoituneelta tiedostolta, niissä olen nähnyt tuota unexpected end of file -ongelmaa.
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: C++ -kysymykset
En suosittele DLL:ien tekoa heti aluksi. Niiden teossa pitää tietää jo hieman enemmän ohjelmoinnista sekä ymmärtää tiettyjä seikkoja Dll-kutsuihin liittyen. Vaikka pidän itseäni jo melko hyvänä C++ -koodaajana, dll:ien teko tökkii silti ajoittain. Suosittelen aloittelemaan niistä "Hello World"-ohjelmista.
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: C++ -kysymykset
En ole mikään aloittelija C++ puolella. Ongelmia aiheuttaa lähinnä tämä uusi VC++ 2008. Olen kyllä enemmän tehnyt Win 32 Console ja SDL juttuja Devin kanssa, mutta nyt ajattelin VC:n kanssa kokeilla tätä Wintoosa ohjelmointia(Tarkoitin ylempänä, kun sanoin:"Olen aika noobi näissä C++ jutuissa", lähinnä Windows ohjelmointia). Dll juttuja olen lähinnä säätänyt noita CB juttuja Marcoderin ohjeilla ja muokatulla ParamBufferilla( Sekä sisään, että ulos parametrit toimivat CB:ssä), eli en mitään suurempaa vielä.Dibalo wrote:En suosittele DLL:ien tekoa heti aluksi. Niiden teossa pitää tietää jo hieman enemmän ohjelmoinnista sekä ymmärtää tiettyjä seikkoja Dll-kutsuihin liittyen. Vaikka pidän itseäni jo melko hyvänä C++ -koodaajana, dll:ien teko tökkii silti ajoittain. Suosittelen aloittelemaan niistä "Hello World"-ohjelmista.
Ja sain tuon SLD:n toimimaan, mutta Grafiikka esimerkistä (Ohjelmointi putkan SDL-opas sivu 2) Kuvan piirtäminen ei onnistu. Käytän kaksoispuskurointia ja Flippiä. Ohjelma siis aukeaa, mutta kuvaa ei näy. Missä vika?
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
Re: C++ -kysymykset
Windows -ohjelmoinnista on tehty tälläine todella hyvä opas aloittelijoille. DLL:ssä käytetään funktiota __declspec(), joka on sisäänrakennettu C++:n. Parametriksi laitetaan joko dllexport tai dllimport. Sitten viellä pitää käyttää extern "C" (vain C++), joka muuttaa sen C -funktioksi.Eräs cb koodaaja wrote:En ole mikään aloittelija C++ puolella. Ongelmia aiheuttaa lähinnä tämä uusi VC++ 2008. Olen kyllä enemmän tehnyt Win 32 Console ja SDL juttuja Devin kanssa, mutta nyt ajattelin VC:n kanssa kokeilla tätä Wintoosa ohjelmointia(Tarkoitin ylempänä, kun sanoin:"Olen aika noobi näissä C++ jutuissa", lähinnä Windows ohjelmointia). Dll juttuja olen lähinnä säätänyt noita CB juttuja Marcoderin ohjeilla ja muokatulla ParamBufferilla( Sekä sisään, että ulos parametrit toimivat CB:ssä), eli en mitään suurempaa vielä.Dibalo wrote:En suosittele DLL:ien tekoa heti aluksi. Niiden teossa pitää tietää jo hieman enemmän ohjelmoinnista sekä ymmärtää tiettyjä seikkoja Dll-kutsuihin liittyen. Vaikka pidän itseäni jo melko hyvänä C++ -koodaajana, dll:ien teko tökkii silti ajoittain. Suosittelen aloittelemaan niistä "Hello World"-ohjelmista.
Ja sain tuon SLD:n toimimaan, mutta Grafiikka esimerkistä (Ohjelmointi putkan SDL-opas sivu 2) Kuvan piirtäminen ei onnistu. Käytän kaksoispuskurointia ja Flippiä. Ohjelma siis aukeaa, mutta kuvaa ei näy. Missä vika?
Yleensä teen tälläisen esikääntäjä kikkailun, eli teen yhden headerin, jonka includettamalla saa DLL -funtiot käyttöön + tekee DLL:n koodaamisesta helpompaa.
Esimerkki
omadll.h
Code: Select all
#ifndef _OMADLL_H
#define _OMADLL_h
#ifdef _BUILDING_OMADLL
#define OMADLLFUNC extern "C" __declspec(dllexport)
#else
#define OMADLLFUNC extern "C" __declspec(dllimport)
#endif
OMADLLFUNC int OD_plus(int _number1, int _number2);
#endif
Code: Select all
#define _BUILDING_OMADLL
#include "omadll.h"
int OD_plus(int number1, int number2)
{
return number1 + number2;
}
HUOM. Windows -ohjelmointi voi olla todella vaikeaa aloittelijoille, joten lue rauhassa tuo opas läpi. Googleta myös ongelmaasi ja katso löytyykö siitä tietoa MSDN:stä, enne kuin postaat sen tänne.
EDIT: Koodissa oli kirjoitus virhe. Korjattu.
Last edited by jabanii on Tue Jan 22, 2008 1:01 am, edited 1 time in total.
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: C++ -kysymykset
mull ois ongelma pitäis saada stringi intiks ja sit toiste päin googletin jotain vastauksii mut mikään ei tuntunyt toiminaan kerran sain silleen et oli vaan 1 virhe mun en osannut korjata sitä...
Re: C++ -kysymykset
Vaikkapa näin.
Edit:
Ja toisinpäin tietenkin näin.
Code: Select all
teksti$="13"
numero = Int(teksti$)
Ja toisinpäin tietenkin näin.
Code: Select all
numero=13
teksti$ = Str(numero)
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: C++ -kysymykset
String -> Int: http://www.cplusplus.com/reference/iost ... ingstream/
Int -> String: http://www.cplusplus.com/reference/iost ... ingstream/
Int -> String: http://www.cplusplus.com/reference/iost ... ingstream/
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: C++ -kysymykset
Dibalo saisko vielä käyttö esaimerkin kun en saanut toimimaan ja mikähän oisi hyvä 3d kirjasto (ja helppo )
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: C++ -kysymykset
Heitetään riskillä:tuhoojabotti wrote:Dibalo saisko vielä käyttö esaimerkin kun en saanut toimimaan ja mikähän oisi hyvä 3d kirjasto (ja helppo )
Code: Select all
using namespace std;
string str = "1234";
istringstream s = str;
int luku = 0;
s >> luku;
int luku = 1234;
ostringstream s;
s << luku;
string str = s.str();
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: C++ -kysymykset
Tuo aiheuttaa jotain tällaista:DLL:ssä käytetään funktiota __declspec(), joka on sisäänrakennettu C++:n. Parametriksi laitetaan joko dllexport tai dllimport. Sitten viellä pitää käyttää extern "C" (vain C++), joka muuttaa sen C -funktioksi.
Yleensä teen tälläisen esikääntäjä kikkailun, eli teen yhden headerin, jonka includettamalla saa DLL -funtiot käyttöön + tekee DLL:n koodaamisesta helpompaa.
Esimerkki
omadll.homadll.cppCode: Select all
koodia...
Sitten vain includetat tuon projektiisi ja käytät sitä.Code: Select all
koodia...
HUOM. Windows -ohjelmointi voi olla todella vaikeaa aloittelijoille, joten lue rauhassa tuo opas läpi. Googleta myös ongelmaasi ja katso löytyykö siitä tietoa MSDN:stä, enne kuin postaat sen tänne.
Code: Select all
------ Build started: Project: EkaDllTesti, Configuration: Debug Win32 ------
Embedding manifest...
Project : error PRJ0003 : Error spawning 'cmd.exe'.
Build log was saved at "file://c:\Documents and Settings\HP_Omistaja\Omat tiedostot\Visual Studio 2008\Projects\EkaDllTesti\Debug\BuildLog.htm"
EkaDllTesti - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: C++ -kysymykset
ok mun ohjelmassa (visual c++) on 2 textiboksia ja nappi tein napille eventin click sinne .h tiedostoon... niin kun yritin sinne koodatata semmoista laskemis systeemiä eli textbox1->text+textbox2->text niin ne täytyy siis muuttaa inteiksi mutta kun yritän käyttää siellä muuttujaa se alkaa valittaa siitä... ja minne kopioin tuon esimerkkisisi että se toimii... olen lukenut monia c++ oppaita mutta niissä ei oteta asiaa maanläheisesti esim. avaa editori tee uusi proju okei toi vielä on mutta sitten kun editori pistää sinne jotain ihan outoo textii niin minne sitä pitää koodata? mihin väliin jne. oon ihan nobo tein kyllä consoli laskimen nyt yritän saada sen formiin...Heitetään riskillä:Code: Select all
using namespace std; string str = "1234"; istringstream s = str; int luku = 0; s >> luku; int luku = 1234; ostringstream s; s << luku; string str = s.str();
Re: C++ -kysymykset
Koodiini oli tullut kirjoitus virhe, kun en ollut testannut. Nyt se on korjattu.Eräs cb koodaaja wrote:Tuo aiheuttaa jotain tällaista:DLL:ssä käytetään funktiota __declspec(), joka on sisäänrakennettu C++:n. Parametriksi laitetaan joko dllexport tai dllimport. Sitten viellä pitää käyttää extern "C" (vain C++), joka muuttaa sen C -funktioksi.
Yleensä teen tälläisen esikääntäjä kikkailun, eli teen yhden headerin, jonka includettamalla saa DLL -funtiot käyttöön + tekee DLL:n koodaamisesta helpompaa.
Esimerkki
omadll.homadll.cppCode: Select all
koodia...
Sitten vain includetat tuon projektiisi ja käytät sitä.Code: Select all
koodia...
HUOM. Windows -ohjelmointi voi olla todella vaikeaa aloittelijoille, joten lue rauhassa tuo opas läpi. Googleta myös ongelmaasi ja katso löytyykö siitä tietoa MSDN:stä, enne kuin postaat sen tänne.Missä vika?Code: Select all
------ Build started: Project: EkaDllTesti, Configuration: Debug Win32 ------ Embedding manifest... Project : error PRJ0003 : Error spawning 'cmd.exe'. Build log was saved at "file://c:\Documents and Settings\HP_Omistaja\Omat tiedostot\Visual Studio 2008\Projects\EkaDllTesti\Debug\BuildLog.htm" EkaDllTesti - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========