Page 7 of 50

Re: C++ -kysymykset

Posted: Sat Jan 12, 2008 6:59 pm
by Eräs cb koodaaja
En ole koskaan kuullut/lukenut. Mutta mutta... Miten MessageBoxia käytetään? Parametrit? Includet? oon melko noobi näissä c++ jutuissa.

Re: C++ -kysymykset

Posted: Sat Jan 12, 2008 8:09 pm
by jabanii
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.
MSDN. Sieltä saa kaikki WINAPI funktiot. Yleensä riittää pelkästään googletus funktion nimellä, niin ensimmäinen linkki on MSDN:ään. Tässä.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 12:43 am
by koodaaja
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.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 1:53 pm
by Eräs cb koodaaja
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


Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 3:57 pm
by Koodiapina
Miten VC:hen saa SDL:n
http://www.ohjelmointiputka.net/opas.ph ... s#visualc6
Wanhaan VC:hen, mutta ajaa kai asiansa.
Oli muuten ensimmäinen vaihtoehto googlella.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 4:05 pm
by Eräs cb koodaaja
VC 2008 oli tarkoitus saada tuo sdl.
Ja miten niitä dll tiedostoja tehdään VC 2008:lla kun devissä oli pohja valmiina.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 6:21 pm
by koodaaja
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.
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.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 8:27 pm
by Eräs cb koodaaja
Sain asennettua SDL:n tuon ohjeen perusteella, mutta kääntäjä valittaa virheestä:

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 ==========
Mistähän mahtaa johtua? Koodina on ohjelmointiputkan sdl-opaan esimmäinen koodi.
EDIT:

Sama ongelma ilmeni kääntäessäni yhtä Dll-juttua

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.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 9:40 pm
by koodaaja
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.

Re: C++ -kysymykset

Posted: Sun Jan 13, 2008 9:52 pm
by Dibalo
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. ;)

Re: C++ -kysymykset

Posted: Mon Jan 14, 2008 5:01 pm
by Eräs cb koodaaja
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. ;)
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ä.

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?

Re: C++ -kysymykset

Posted: Mon Jan 14, 2008 7:54 pm
by jabanii
Eräs cb koodaaja wrote:
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. ;)
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ä.

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?
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.

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
omadll.cpp

Code: Select all

#define _BUILDING_OMADLL
#include "omadll.h"

int OD_plus(int number1, int number2)
{
	return number1 + number2;
}
Sitten vain includetat tuon projektiisi ja käytät sitä.

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.

Re: C++ -kysymykset

Posted: Tue Jan 15, 2008 5:24 pm
by tuhoojabotti
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

Posted: Tue Jan 15, 2008 8:09 pm
by CCE
Vaikkapa näin.

Code: Select all

teksti$="13"
numero = Int(teksti$) 
Edit:
Ja toisinpäin tietenkin näin.

Code: Select all

numero=13
teksti$ = Str(numero) 

Re: C++ -kysymykset

Posted: Tue Jan 15, 2008 8:35 pm
by Dibalo

Re: C++ -kysymykset

Posted: Sat Jan 19, 2008 5:38 pm
by tuhoojabotti
Dibalo saisko vielä käyttö esaimerkin kun en saanut toimimaan :oops: ja mikähän oisi hyvä 3d kirjasto (ja helppo :P)

Re: C++ -kysymykset

Posted: Sat Jan 19, 2008 7:45 pm
by Dibalo
tuhoojabotti wrote:Dibalo saisko vielä käyttö esaimerkin kun en saanut toimimaan :oops: ja mikähän oisi hyvä 3d kirjasto (ja helppo :P)
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();
Helppo 3D-kirjasto on Irrlicht.

Re: C++ -kysymykset

Posted: Sat Jan 19, 2008 8:17 pm
by Eräs cb koodaaja
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.h

Code: Select all

koodia...
omadll.cpp

Code: Select all

koodia...
Sitten vain includetat tuon projektiisi ja käytät sitä.

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.
Tuo aiheuttaa jotain tällaista:

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 ==========
Missä vika?

Re: C++ -kysymykset

Posted: Sun Jan 20, 2008 11:26 am
by tuhoojabotti
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();
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...

Re: C++ -kysymykset

Posted: Tue Jan 22, 2008 1:03 am
by jabanii
Eräs cb koodaaja wrote:
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.h

Code: Select all

koodia...
omadll.cpp

Code: Select all

koodia...
Sitten vain includetat tuon projektiisi ja käytät sitä.

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.
Tuo aiheuttaa jotain tällaista:

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 ==========
Missä vika?
Koodiini oli tullut kirjoitus virhe, kun en ollut testannut. Nyt se on korjattu.