játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5441
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2186
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] [105] [110] [115] > 120 < [125] [130] [135] [140] [141]
Orphy - Törzstag | 1893 hsz       Online status #24123   2006.08.05 02:56 GMT+1 óra  
Hmm, na az meg pláne furcsa...
Jó lib-eket használ? Mármint rémlik, hogy volt itt nem is olyan régen egy másik FMOD-os gond, és ott felvetődött, h van különbség...

Mindenesetre kicsit belekukkoltam az FMOD cikkbe, és láttam, hogy rá lehet vizsgálni, sikeredett-e az init, ez Daani-éból hiányzott.
A lenti kód kiegészítése:

Kód:
if( FSOUND_Init(44100,32,0) == false )
        // az fmod inicializálása 44100 Hz-en, 32 csatornával
        // ha nem sikerül akkor kilép a program
    {
         //nem sikerült inicializálni az FMOD-ot
        cout << "Az inicializálás nem sikerült... :( " << endl;
        return 0;
    }


Vagy lehet debugolni is...
Mindenesetre elsőkörben be kellene lőni, melyik sornál esik szét.
   
gaborlabor - Moderátor | 4449 hsz       Online status #24120   2006.08.05 02:48 GMT+1 óra  
Ja, és azt is meg kell említeni hogy Daani programja DevC++szal lefordítva működik, csak MS_VC6.0-val nem. Ugyhogy az is közrejátszik ott valamit, szerintem.

   
Orphy - Törzstag | 1893 hsz       Online status #24115   2006.08.05 02:44 GMT+1 óra  
Az nagyon furcsa...
Próbáld meg így, legalább látod, meddig jut el:

Kód:
#include "stdafx.h"
#include <iostream>
#include "fmod.h"

using namespace std;

int main ()
{
//music pointer deklarálása
FSOUND_SAMPLE* music;

cout << "Initializing..." << endl;
FSOUND_Init (44100, 32, 0);

cout << "Loading music... ";
music=FSOUND_Sample_Load (0,"pacman2.wav",0, 0, 0);

if( music )
{
cout << "Succeeded!" << endl;
FSOUND_PlaySound (0,music);
FSOUND_SetVolume(0,200);
}
else
{
cout << "Failed!" << endl;
}

getchar();

if( music )
{
FSOUND_StopSound (0);
FSOUND_Sample_Free (music);
}

cout << "Closing FSound" << endl;
FSOUND_Close();

return 0;
}
   
Daani - Tag | 92 hsz       Online status #24112   2006.08.05 02:33 GMT+1 óra  
Orphy: A pacman2.wav ott volt vele egy mappában és jól is volt írva a neve. Viszont megcsináltam az ellenőrzést az inicializálással, de a program le sem fut. Elindítom és azonnal kiírja a hibaüzenetet.
Practice makes perfect.
   
Orphy - Törzstag | 1893 hsz       Online status #24098   2006.08.05 00:44 GMT+1 óra  
Ja, nagyon úgy tűnik, ilyeneket explicit típuskényszerrel kell hívni...

a

Kód:
függvény( (baseApp*)CGameApp );


megoldás műxik.
Nekem azért volt furcsa, mert főállásban C# alatt nyomom, ott pedig ilyenkor elég az ősosztályt megjelölni. Pl ha "object"-et adsz át, abban gyakorlatilag minden benne lehet.
Igaz, ott utólag kell típuskényszeríteni, ha használni akarod.

Ezt egyébként C++ alatt is elvileg meg kell tennem, ha nem virtual metódusokat akarok hívogatni...

Sebaj, a szigorú típusosság, ugye.
Most már ezt is tudjuk
   
gaborlabor - Moderátor | 4449 hsz       Online status #24094   2006.08.04 16:29 GMT+1 óra  
gymisi, flugi: Köszi! winmm.a -m van, azt linkelem aztán ha nem müxik akkor töltök le valahonnét egy másikat...
----
szerk.:
müködik, probléma elhárítva, köszi mégegyszer!

   
flugi - Tag | 111 hsz       Online status #24092   2006.08.04 16:13 GMT+1 óra  
Idézet
Orphy :
Kód:
void függvény( baseApp* app )
{
...
}

CGameApp* app = new CGameApp();

függvény( app );


Error 1 error C2243: 'type cast' : conversion from 'CGameApp *' to 'baseApp *' exists, but is inaccessible

Erre a gondra valaki?



Explicit típuskényszerítéssel próbáltad már? És ha a statikus típus baseApp* ?

Előfordulhat, hogy a CGameApp-hoz megírták azt az operátort, ami baseApp-ra konverziónál meghívódik, és betették privátba ... Ha az örökösödés olyan, ahogy írtad, akkor natúrba a kódrészletednek mennie kéne.

   
flugi - Tag | 111 hsz       Online status #24091   2006.08.04 16:11 GMT+1 óra  
Idézet
gaborlabor :
Hali. CodeBlocks-ban kapok egy ilyen hibaüzenetet fordításnál:
Kód:
undefined reference to `timeGetTime@0'


Ha a timeGetTime() -t tartalmazó sort megjegyzésbe teszem, lefordul. Tudomásom szerint a timeGetTime az MMSystem.h-ban van definiálva, az MMSystem.h pedig a windows.h-ba van inkludálva. A programban benne van a #include <windows.h>, mégsem müködik ez az egy funkció.
Valakinek van valami ötlete?



a winmm.lib fájlt kell betenni a linkelni való .lib-ek és .a -k közé. Ha nincs ilyened, küldök. (VisualC++ tartalom, sajnos, én is Code::Blocks alól használgatom)

   
gymisi - Törzstag | 212 hsz       Online status #24090   2006.08.04 15:45 GMT+1 óra  
Idézet
gaborlabor :
Hali. CodeBlocks-ban kapok egy ilyen hibaüzenetet fordításnál:
Kód:
undefined reference to `timeGetTime@0'


Ha a timeGetTime() -t tartalmazó sort megjegyzésbe teszem, lefordul. Tudomásom szerint a timeGetTime az MMSystem.h-ban van definiálva, az MMSystem.h pedig a windows.h-ba van inkludálva. A programban benne van a #include <windows.h>, mégsem müködik ez az egy funkció.
Valakinek van valami ötlete?



Linker error -> msdn.com, de megnéztem már: Library: Use Winmm.lib.!

   
gaborlabor - Moderátor | 4449 hsz       Online status #24089   2006.08.04 15:34 GMT+1 óra  
Hali. CodeBlocks-ban kapok egy ilyen hibaüzenetet fordításnál:
Kód:
undefined reference to `timeGetTime@0'


Ha a timeGetTime() -t tartalmazó sort megjegyzésbe teszem, lefordul. Tudomásom szerint a timeGetTime az MMSystem.h-ban van definiálva, az MMSystem.h pedig a windows.h-ba van inkludálva. A programban benne van a #include <windows.h>, mégsem müködik ez az egy funkció.
Valakinek van valami ötlete?

   
Orphy - Törzstag | 1893 hsz       Online status #24078   2006.08.04 13:30 GMT+1 óra  
Személy szerint nem FMOD-oztam,

így ránézésre elsőnek azt nézném meg, tényleg megvan-e a "pacman2.wav"
(file-név elírás, nem máshonnan indítja-e a fejlesztőkörnyezet az exe-t, mint gondolod, ilyenek)

valószínűleg, ha nem találja a file-t, akkor a

Kód:
music=FSOUND_Sample_Load (0,"pacman2.wav",0, 0, 0);


sor után a music értéke NULL lesz bevett szokás szerint, erre megpróbálhatsz vizsgálni.
   
Daani - Tag | 92 hsz       Online status #24077   2006.08.04 12:57 GMT+1 óra  
#include "stdafx.h"
#include <iostream>
#include "fmod.h"

using namespace std;

FSOUND_SAMPLE* music;

int main ()
{
FSOUND_Init (44100, 32, 0);

music=FSOUND_Sample_Load (0,"pacman2.wav",0, 0, 0);
FSOUND_PlaySound (0,music);
FSOUND_SetVolume(0,200);

getchar();

FSOUND_StopSound (0);
FSOUND_Sample_Free (music);
FSOUND_Close();

return 0;
}
Practice makes perfect.
   
Orphy - Törzstag | 1893 hsz       Online status #24075   2006.08.04 12:50 GMT+1 óra  
Idézet
Daani :
Hi!
Csináltam egy elég alapszintü alkalmazást ami hangot képes lejátszani.
Linkeltem libfmod.a-t és az fmod.h-t is oda tettem ahova kell.
A probléma ott lenne, hogy amiután lefordítottam és el akarom indítani az exe-t a program hibát észlel és leáll. Ez miért lehet?
azt még hozzáteszem hogy fmod 3.75-ös verziót használok



Valószínűleg valamelyik pointered rossz helyre mutat/nincs inicializálva.
Ilyenek miatt szokott szétszállni legtöbbször.

Írj kódot, akkor nem csak találgatunk.
   
Orphy - Törzstag | 1893 hsz       Online status #24074   2006.08.04 12:49 GMT+1 óra  
Kód:
void függvény( baseApp* app )
{
...
}

CGameApp* app = new CGameApp();

függvény( app );


Error 1 error C2243: 'type cast' : conversion from 'CGameApp *' to 'baseApp *' exists, but is inaccessible

Erre a gondra valaki?
   
Daani - Tag | 92 hsz       Online status #24073   2006.08.04 12:45 GMT+1 óra  
és visual c++ 6.0 alatt fordítottam
Practice makes perfect.
   
Daani - Tag | 92 hsz       Online status #24071   2006.08.04 12:41 GMT+1 óra  
Hi!
Csináltam egy elég alapszintü alkalmazást ami hangot képes lejátszani.
Linkeltem libfmod.a-t és az fmod.h-t is oda tettem ahova kell.
A probléma ott lenne, hogy amiután lefordítottam és el akarom indítani az exe-t a program hibát észlel és leáll. Ez miért lehet?
azt még hozzáteszem hogy fmod 3.75-ös verziót használok
Practice makes perfect.
   
gymisi - Törzstag | 212 hsz       Online status #24070   2006.08.04 12:41 GMT+1 óra  
hoopszi, 2x ment

   
gymisi - Törzstag | 212 hsz       Online status #24069   2006.08.04 12:40 GMT+1 óra  
Idézet
gaborlabor :
ja erre rájöttem énis de honnét hiényzik? a forráskódból?



nem, a forrásfájl nevéből

   
gaborlabor - Moderátor | 4449 hsz       Online status #24068   2006.08.04 12:37 GMT+1 óra  
MEGALOOOOOL!!!
Nem vettem észe hogy az egyik #include sor végéről hiányzik!!

   
gaborlabor - Moderátor | 4449 hsz       Online status #24067   2006.08.04 12:35 GMT+1 óra  
ja erre rájöttem énis de honnét hiényzik? a forráskódból?

   
gymisi - Törzstag | 212 hsz       Online status #24065   2006.08.04 12:24 GMT+1 óra  
missing '>'

szerény angoltudásom szerint, azt hogy hiányzik egy '>' ilyen jel

   
gaborlabor - Moderátor | 4449 hsz       Online status #24064   2006.08.04 12:19 GMT+1 óra  
Visual C++ 6.0-nál mit akar jelenteni ez a hibaüzenet?
C:\ (program elérési utvonala) : error C2013: missing '>'
Error executing cl.exe.

   
Orphy - Törzstag | 1893 hsz       Online status #24060   2006.08.04 11:27 GMT+1 óra  
Egy CGameApp-ot akarok pointerként átpasszolni egyébként, csak a 2 osztály kereszthivatkozásban van egymással, azért kellett a baseApp...

így akarom átküldeni:

Kód:
void függvény( baseApp* app )
{
...
}

CGameApp* app = new CGameApp();

függvény( app );


És nem eszi meg
   
Orphy - Törzstag | 1893 hsz       Online status #24059   2006.08.04 11:25 GMT+1 óra  
Skacok,

ilyet miért kapok?

Error 1 error C2243: 'type cast' : conversion from 'CGameApp *' to 'baseApp *' exists, but is inaccessible

A CGameApp a baseApp-ból öröklődik, mi a baj?
   
Csaba42 - Törzstag | 946 hsz       Online status #24053   2006.08.04 10:53 GMT+1 óra  
Nekem vannak eredeti szoftvereim, de csak játékok . Amúgy szóljatok, mi kell, átnézem a gyűjteményem (rengeteg, tán már GBnyi cikk), és ha megvan, elküldöm

   
Orphy - Törzstag | 1893 hsz       Online status #24048   2006.08.04 10:22 GMT+1 óra  
Köszi
   
gaborlabor - Moderátor | 4449 hsz       Online status #24045   2006.08.04 10:16 GMT+1 óra  
Én meg már a legeleje óta TUDTAM hogy nem akarok és nem is fogok fizetni. Nyugodtam megkövezhettek, de én még eredeti software-t nem vettem (esetleg a mobicat-et lehet hogy majd megveszem). Nem fizettem a Windowsért, az Office-ért, és ezeknél drágább termékekért sem, majd pont itt kezdjem el?
Orphy abban igazad van, hogy akik csak hátráltatják a vevőket, azok nem érdemlik meg hogy legyenek vevőik...
Mondtam hogy meg fogom szerezni ingyen, ha meglesz, szólok.

   
Orphy - Törzstag | 1893 hsz       Online status #24044   2006.08.04 10:10 GMT+1 óra  
Ja, és gyorsan hozzáteszem, próbálkoztam azzal is, hogy akkor mondjanak egy bankszámlaszámot, és akkor utalok (hátha a bank nem ilyen béna)...

Természetesen nem adtak semmit...
Én mindezek után úgy gondoltam, ha nekik ennyire nem fontos, akkor nekem sem lesz az.
   
Orphy - Törzstag | 1893 hsz       Online status #24043   2006.08.04 10:03 GMT+1 óra  
Hello,

na akkor a gametutorials-ról dióhélyban...

Vannak csábító címszavak, néhány régebbi tutor is megvolt, és tetszett, és úgy gondoltam, na, egyszer élünk, megrendeljük...
Igen ám, de a netes "add meg a hitelkártyád ilyen-olyan adatát, mi meg lehúzzuk róla a pénzt" módszerekben nem bízok... Külön emiatt (csak ezért) nem akartam még egy kártyát csináltatni, szóval sebaj, majd a posta megoldja

A posta megoldotta.
Csak sajna nem állnak kapcsolatban az USA-val, ezért Texas-ba nem tudok pénzt küldeni...
Illetve egy esetben tudok, ha magánszemélyről van szó, ebben az esetben az illetőnek a személyazonosságát igazolnia kell.

Több levélváltás után befejztem a próbálkozást a GameTutorials-al, nem értették meg, hogy nagyon szívesen fizetek, csak nem tudok máshogyan (ráadásul plusz pénz a posta is)...

Ha van valakinek PayPal-ja, és tud fizetni, és még érdekli is a téma, szóljon, szerintem még az is műxik, hogy összedobjuk azt a 11k körüli összeget.

Ha nem, akkor meg valaki privizzen rám is, honnét lehet letölteni
   
BerbeckU - Tag | 506 hsz       Online status #24040   2006.08.04 09:42 GMT+1 óra  
Ha meglesz, akkor közkinccsé tehetnéd, mert ez engem is érdekel...
Ha meg nem, akkor PM!

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
gaborlabor - Moderátor | 4449 hsz       Online status #24035   2006.08.04 07:44 GMT+1 óra  
Idézet
bloodknife :
fogsz egy jó kis brute force programot ami a 21-es portot támadja számszerint a ftp-t és leszeded szépen ami kell onnan...no meglehet utána bekaszniznak pár évre dehát nézd a jó oldalát...MEGVAN A TUTORIAL!!!!


A brute force sokáig tart, és ma már könnyen szűrik, kivéve ha egyszerre csak egy jelszóval próbálkozok, igy meg évtizedekbe telik, mivel még a jelszó hosszúságát sem tudom, ja meg még a gametutorials oldal ftp elérési utját sem ismerem. Belsősöket meg nem ismerek.
De ne aggódjatok, megszerzem én, csak nem onnét...
Hacker: Konkrétan elég sok minden érdekel. Különböző formátumú fájlok betöltése, kezelése, bone animation, stb, meg ha megnézed c++ és opengl alatt azért van néhány csábító címszó.
Mondom, meglesz.
Ki nem állhatom amikor ilyenekért kérnek pénzt. Az ok, hogy a tudást nem adják ingyen, de akkor ne a tutorialt árulja 50$-ért hanem valami komalyobb programot amit ő írt. Na mostmár mindegy...

   
Hacker - Törzstag | 567 hsz       Online status #24034   2006.08.04 07:19 GMT+1 óra  
Gametutorials.com-on nincsenek olyan tutorialok amiket máshonnan nem tudnál letölteni. Lehet, hogy nem ugyanazok írták de a net-en már elég olyan sok dolog van amit ingyen simán meg lehet szerezni. Neked milyen témáról kellene?
No [img] !
Programozz ne háborúzz!!!!

   
bloodknife - Törzstag | 469 hsz       Online status #24033   2006.08.04 07:01 GMT+1 óra  
fogsz egy jó kis brute force programot ami a 21-es portot támadja számszerint a ftp-t és leszeded szépen ami kell onnan...no meglehet utána bekaszniznak pár évre dehát nézd a jó oldalát...MEGVAN A TUTORIAL!!!!
   
gaborlabor - Moderátor | 4449 hsz       Online status #24032   2006.08.04 06:49 GMT+1 óra  
Nem tudom, melyik topicba passzol ezért ide írom.
Van az a www.gametutorials.com, ami elég szívás, mert hiába vannak rajta hasznos dolgok, hizetős. Úgy tudom régebben nem volt fizetős. Tudom, tudom nem szép dolog a warezolás, de most játékfejlesztésről van szó! Ha valakinek megvan a GameTutorials CD tartalma, vagy akár csak valamelyik lecke tartalma (mert ő még ingyen töltötte le), és megosztaná velem, az plz szóljon, és adok valami tárhelyet ahová feltölthetné. Nagyon megköszönném, bárki is az!

   
BerbeckU - Tag | 506 hsz       Online status #24030   2006.08.04 06:31 GMT+1 óra  
Idézet
flugi :
Idézet
BerbeckU :
Idézet
Orphy :
Bocs a hülye kérdésért, de ez pontosan hogyan is működne?




Mégegyszer mondom, a dinamikus valtozó lényege, hogy a valtozo neve egy másik változó értékével van definiálva. És, hogy miért is dinamikus?
Tehát, ha így jobban megérted, pl egy for ciklsuban fel tudod használni, hogy létrehozz 1-5 -ig nevű változókat...




Ilyen C/C++ -ban nem volt és nem is lesz, ugyanis a típusosság elvével ellenkezik. A C/C++ nyelv ugyanis erősen típusos, ami azt jelenti, hogy minden létező változó típusa (statikus és dinamikus) mindenkor tudható. Ez azzal jár, hogy minden változót deklarálni kell, amivel a típusát tisztázzuk.

PHP nyelvben, és egyéb nem típusos nyelvekben a változók jóval szabadabbak, mondhatni kizárólag dinamikus típussal rendelkeznek, ami csak értékadáskor derül ki. Ez rugalmas, de nagy programban hibakeresni ilyen körülmények között nehezebb, ezért rendszerprogramozásra kevésbé alkalmas, inkább kis programok (max 100-300 soros) írására optimális.


Ok, én ezt csak Orphy-nak írtam, mert nem értette. Thx az átfogó magyarázatot.

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
flugi - Tag | 111 hsz       Online status #24029   2006.08.04 06:27 GMT+1 óra  
Idézet
BerbeckU :

Mégegyszer mondom, a dinamikus valtozó lényege, hogy a valtozo neve egy másik változó értékével van definiálva. És, hogy miért is dinamikus?
Tehát, ha így jobban megérted, pl egy for ciklsuban fel tudod használni, hogy létrehozz 1-5 -ig nevű változókat...




Ilyen C/C++ -ban nem volt és nem is lesz, ugyanis a típusosság elvével ellenkezik. A C/C++ nyelv ugyanis erősen típusos, ami azt jelenti, hogy minden létező változó típusa (statikus és dinamikus) mindenkor tudható. Ez azzal jár, hogy minden változót deklarálni kell, amivel a típusát tisztázzuk.

PHP nyelvben, és egyéb nem típusos nyelvekben a változók jóval szabadabbak, mondhatni kizárólag dinamikus típussal rendelkeznek, ami csak értékadáskor derül ki. Ez rugalmas, de nagy programban hibakeresni ilyen körülmények között nehezebb, ezért rendszerprogramozásra kevésbé alkalmas, inkább kis programok (max 100-300 soros) írására optimális.

   
Csaba42 - Törzstag | 946 hsz       Online status #24014   2006.08.04 03:18 GMT+1 óra  
Idézet
BerbeckU :
Nem tudom, hogy ki ajánlotta, de ez a "Teach yourself C++ in 21 Days" nekem nagyon bejön.
Sokkal több mindent megértek belőle angolul, mint a legtöbb könyvből magyarul...


Nekem is megvan, de még nem néztem bele. De ha azt mondod, jó, akkor megnézem (igaz, az angol tudásom említésre sem méltó ).

   
BerbeckU - Tag | 506 hsz       Online status #24011   2006.08.04 02:43 GMT+1 óra  
Nem tudom, hogy ki ajánlotta, de ez a "Teach yourself C++ in 21 Days" nekem nagyon bejön.
Sokkal több mindent megértek belőle angolul, mint a legtöbb könyvből magyarul...

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
Csaba42 - Törzstag | 946 hsz       Online status #24008   2006.08.04 02:12 GMT+1 óra  
Idézet
BerbeckU :
Mégegyszer mondom, a dinamikus valtozó lényege, hogy a valtozo neve egy másik változó értékével van definiálva.


Nah, én is valami ilyesmire szerettem volna kilyukadni

   
BerbeckU - Tag | 506 hsz       Online status #24001   2006.08.04 01:36 GMT+1 óra  
Idézet
Csaba42 :
Na, így reggel megpróbálok okosnak látszani:
A $$valtozo változó a $valtozo változó tartalmára utal. Tehát a $valtozo tartalmát fel lehet használni változóként, nem szükséges deklarálni (illetve az, ha úgy vesszük, megtörtént a $valtozo = "valami";-kor). Az a lényeg, hogy ha a $valtozo tartalmát küldöd a printnek (print $valami), akkor nem ordít a compiler (PHP-ben van ilyen?), hogy nincs deklarálva, mivel a $$valtozo segedelmével már izéééé, és megjelenik a "valami más", naszóval remélem érthető voltam


Mégegyszer mondom, a dinamikus valtozó lényege, hogy a valtozo neve egy másik változó értékével van definiálva. És, hogy miért is dinamikus?
Tehát, ha így jobban megérted, pl egy for ciklsuban fel tudod használni, hogy létrehozz 1-5 -ig nevű változókat...

Kód:
for ( $i=1;$i<=5;$i++ )
{
$$i = 0;
}

Ezzel inicializáltál 5 változót, melynek nevei 1,2,3,4,5.
Tehát ez egyenértékű a következőkkel:
Kód:
$1 = 0;
$2 = 0;
$3 = 0;
$4 = 0;
$5 = 0;


Nem a php-ban nincs így complier, viszont hibajelzés van, amit a szerver ad vissza. Kiírja, hogy milyen szintű (notice, warning stb.) és hogy melyik file melyik sorában (igen nem hülyeség, a file neve és helye, mert ha pl include-olsz egy másik file-t és abban van a hiba akkor te aztán keresheted az eredeti file valószínűleg nem létező sorában a hibát...).
pl UNEXPECTED ; (file helye) in line 155

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
Csaba42 - Törzstag | 946 hsz       Online status #23999   2006.08.04 00:51 GMT+1 óra  
Idézet
Orphy :
Idézet
BerbeckU :
Most jutott eszembe. C++-ban nincsenek dinamikus változók?
Mert az jó lenne... PHP-ban így van megoldva:
Kód:
$valtozo = "valami";
$$valtozo = "valami más";
print $valami;

És akkor azt írja ki, hogy: valami más.
Tehát van ilyen?



Bocs a hülye kérdésért, de ez pontosan hogyan is működne?
Mert amit leírtál, azt simán meg lehet csinálni:

Kód:
string valami;

valami = "valami";
valami = "valami más";

cout << valami << endl;


Ez is azt írja ki, hogy valami más


Na, így reggel megpróbálok okosnak látszani:
A $$valtozo változó a $valtozo változó tartalmára utal. Tehát a $valtozo tartalmát fel lehet használni változóként, nem szükséges deklarálni (illetve az, ha úgy vesszük, megtörtént a $valtozo = "valami";-kor). Az a lényeg, hogy ha a $valtozo tartalmát küldöd a printnek (print $valami), akkor nem ordít a compiler (PHP-ben van ilyen?), hogy nincs deklarálva, mivel a $$valtozo segedelmével már izéééé, és megjelenik a "valami más", naszóval remélem érthető voltam

   
Orphy - Törzstag | 1893 hsz       Online status #23995   2006.08.04 00:33 GMT+1 óra  
Idézet
BerbeckU :
Most jutott eszembe. C++-ban nincsenek dinamikus változók?
Mert az jó lenne... PHP-ban így van megoldva:
Kód:
$valtozo = "valami";
$$valtozo = "valami más";
print $valami;

És akkor azt írja ki, hogy: valami más.
Tehát van ilyen?



Bocs a hülye kérdésért, de ez pontosan hogyan is működne?
Mert amit leírtál, azt simán meg lehet csinálni:

Kód:
string valami;

valami = "valami";
valami = "valami más";

cout << valami << endl;


Ez is azt írja ki, hogy valami más
   
gaborlabor - Moderátor | 4449 hsz       Online status #23985   2006.08.03 15:36 GMT+1 óra  
Idézet
Csaba42 :
Idézet
gaborlabor :
énis annyit tudok php-ül mint norvégul, c++-ban meg kezdő vagyok, szal bocs ha nagy hülyeséget mondtam. (biztos azt mondtam, de a fejemet rá hogy abban a leirásban azt is dinamikus változónak nevezték!)


Az nem dinamikus memóriafoglalás/memóriakezelés volt?


Hát szóval izé... De. Akkor asszem most buktam a fejemet. Legközelebb vigyázok ezekkel a kijelentésekkel.
Na mindegy, remélem tanulok a hibámból.

   
flugi - Tag | 111 hsz       Online status #23983   2006.08.03 14:05 GMT+1 óra  
Idézet
gaborlabor :
dinamikus változó nincs? öö én kezdő c++os vagyok de úgy olvastam van. a pointereknél volt szó rola hogy azokat használhatjuk mutatónak is meg dinamikus változónak is.



Nem jársz messze az igazságtól, ez a dinamikus memóriakezelés. A C/C++ -ban a dinamikus változó olyasforma értelmezése, ami felmerült, leginkább a void* típus, mert azt bármilyen változóra lehet állítani. Ami persze különbözik, az az, hogy mindig típuskényszeríteni kell a dereferenciánál.

   
flugi - Tag | 111 hsz       Online status #23981   2006.08.03 13:58 GMT+1 óra  
az áttekinthetőségről sokféle nézet terjedt el, én a tabulálással kiegészített takarékos írásmód híve vagyok. Ez azt jelenti, hogy ahol csak egy utasítás van, ott nem teszem ki a {} jeleket, mert felesleges. Ha a tabulálás jó, akkor nem okozhat félreértést, hiszen a ciklusmag az egyetlen sor, ami beljebb van.

A { jelet általában a sor végére írom, nem a sor elejére, mert ezzel egy sornyi üres helyet megspórolok, és sokszor az átláthatóság legfontosabb eleme, hogy egy-egy eljárás vagy programrészlet egyszerre látható-e, és ilyenkor a felesleges üres sor nagy luxus.

Osztályok belső változóit mindig aláhúzással kezdem, így a változó neve megmaradhat lekérdezőfüggvénynek, és beállító/konstruktor paraméternek. Az osztályok nevét nagybetűvel kezdem, és minden részszót nagybetűvel írok, de semmiféle C vagy T karaktert nem fűzök hozzá, mint ahogy sok Delphiről áttérő ember szokott csinálni megszokásból (holott én is Pascalt tanultam előbb)

Mindamellett az ilyesmit érdemes minden project elején lefektetni.

   
Csaba42 - Törzstag | 946 hsz       Online status #23980   2006.08.03 13:55 GMT+1 óra  
Idézet
gaborlabor :
énis annyit tudok php-ül mint norvégul, c++-ban meg kezdő vagyok, szal bocs ha nagy hülyeséget mondtam. (biztos azt mondtam, de a fejemet rá hogy abban a leirásban azt is dinamikus változónak nevezték!)


Az nem dinamikus memóriafoglalás/memóriakezelés volt?

   
Csaba42 - Törzstag | 946 hsz       Online status #23979   2006.08.03 13:53 GMT+1 óra  
Huh, most vagy késő van, és nem értem, mi a gond, vagy csak nem tudom megérteni a mondtaok lényegét . Igaz, nemrég akadtam ki, és még nem pihentem ki magam.

   
BerbeckU - Tag | 506 hsz       Online status #23976   2006.08.03 13:14 GMT+1 óra  
Idézet
BerbeckU :
Nah, folytattam Crusader DirectDraw tutorialjat, és eljutottam a DirectDraw megjelenítés 1. részéig (ugye milyen nagy teljesítmény! )
A render() függv után nekem ez jön:
Kód:
LPDIRECTDRAWSURFACE7 MakeSurface(DWORD width, DWORD height)
{

LPDIRECTDRAWSURFACE7 lpDDSurf;

DDSURFACEDESC2 ddsd;
ZeroMemory(&ddsd,sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS |DDSD_WIDTH | DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN|DDSCAPS_VIDEOMEMORY;
ddsd.dwWidth =width;
ddsd.dwHeight =height;

ddsd.ddpfPixelFormat.dwSize = sizeof(ddsd.ddpfPixelFormat);
ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
ddsd.ddpfPixelFormat.dwRGBBitCount = 32;
ddsd.ddpfPixelFormat.dwRBitMask = 0x00ff0000;
ddsd.ddpfPixelFormat.dwGBitMask = 0x0000ff00;
ddsd.ddpfPixelFormat.dwBBitMask = 0x000000ff;
ddsd.ddpfPixelFormat.dwRGBAlphaBitMask = 0x00000000;


hRet = lpDD->CreateSurface(&ddsd, &lpDDSurf, NULL);
if (hRet != DD_OK) {
return NULL;
}

return lpDDSurf;
}


A gond az, hogy a surface színnel való feltöltéséről nem tudom, hogy hova tartozik. A makesurface-be próbálta írni és a
Kód:
lpDDBack->Blt( 0, lpDDPic, 0, 0,0);

pedig a render függvénybe a flip() elé.
Tehát a render függvényem így néz ki:
Kód:
void Render()
{
     HRESULT hRet;

     lpDDBack->Blt( 0, lpDDPic, 0, 0,0);
     hRet=lpDDPrimary->Flip(NULL,0);
}


Namármost erre hibát ír ki a beillesztett sornál. Valami ötlet? (sajna ő sem rakott forráskódot, szóval nem tudom megnézni, hogy ezt ő hogy gondolta....)

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
BerbeckU - Tag | 506 hsz       Online status #23975   2006.08.03 13:13 GMT+1 óra  
upsz ez valamiért kétszer ment el...
Ha moderátor erre jár akkor törölheti...

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
gaborlabor - Moderátor | 4449 hsz       Online status #23968   2006.08.03 11:36 GMT+1 óra  
énis annyit tudok php-ül mint norvégul, c++-ban meg kezdő vagyok, szal bocs ha nagy hülyeséget mondtam. (biztos azt mondtam, de a fejemet rá hogy abban a leirásban azt is dinamikus változónak nevezték!)

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] [105] [110] [115] > 120 < [125] [130] [135] [140] [141]