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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2194
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
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] [142]
VMware28 - Tag | 2 hsz       Online status #207878   2015.07.02 09:52 GMT+1 óra  
Hello, Lead játékfejlesztőt keresek egy nemzetközileg elismert magyar játékfejlesztő céghez. Jó a fizu, jó a csapat. Szívességből írtam ide ki, hátha valakit érdekel. Ha igen, írj nekem az akos.szabadi@hotmail.com címre.

   
Parallax - Tag | 603 hsz       Online status #207778   2015.06.12 00:10 GMT+1 óra  
A program bonyolultságát nem az dönti el, hogy konzolos, vagy ablakos. Kompatibilitási okai vannak a konzolnak régi DOS-os programok miatt. Még ma is vannak olyan fejlesztői eszközök, amik DOS-os kimenetet állítanak elő a programnak pl.: Progress és a mai napig írnak ebben ügyviteli rendszereket kórházaknak stb. Játékfejlesztésnél igazából editornál használunk ablakos nyomógombos felületet, játéknál egy üres render ablak kell csak, amire OpenGL, vagy DirectX-el rajzolunk, a konzolos részt mondjuk logolásra lehet használni.

   
itamas - Tag | 100 hsz       Online status #207764   2015.06.08 19:00 GMT+1 óra  
Hát igen, az Assembly már eléggé hardverközeli nyelv, s valóban, arra mindenesetre jó volt a róla szóló könyv bújása, hogy megtudjam, mik azok a regiszterek, mitől 8, 16, 32 ... bites egy program vagy operációs rendszer (ekkora regisztereket bír kezelni, ha jól értelmeztem).
De a C++-ra visszatérve: a konzolos részét használva is lehet legalább olyan jó progikat készíteni, mint az ablakossal? Egyáltalán: miért van elkülönítve a két rész? Elvileg azért pakolja alapból teli a szerkesztőablakot ablakkezelő kódokkal az induláskor, hogy könnyítse a programozó dolgát - engem inkább elriaszt.
Asylum, jók a cikkeid (ezek alapján is fogok majd nekiállni a tanulásnak) és aranyos a hörcsögöd is.
   
Asylum - Törzstag | 5471 hsz       Online status #207763   2015.06.08 15:14 GMT+1 óra  
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Parallax - Tag | 603 hsz       Online status #207761   2015.06.08 13:16 GMT+1 óra  
A C/C++ (mert azért ez eggyütt használandó sok esetben) elég mély téma, igazán jól művelni sok év kérdése. Assembly-vel C++ állásinterjún szoktak szivatni, igazából nem is maga a nyelv, hanem a hardver ismeret a lényeg, hol mennyi elemi utasítást lehet megspórolni, a memória melyik részére teszi az adatot éppen a program, vagy melyik memóriába, "itt mit csinálhat a compiler" és hasonló kérdésekre tudsz válaszolni és aszerint programozni, vagy mások elszúrt programjait helyrehozni.

   
itamas - Tag | 100 hsz       Online status #207760   2015.06.08 12:57 GMT+1 óra  
Idézet
Nomad :
én egy kis bengabali vok de én tavaly előtt tanultam meg a c++-t internetes tutorialokból szerintem nem volt nehéz megtanulni úgyhogy szerintem nyugodtan kezdhet azzal az ember csak egy kis idő kell mire az ember elkezdhet opengl meg ilyen komolyabb dolgokkal foglalkozni...

Irigyellek, jóeszű gyerek lehetsz. Én pár hónapja beszereztem egy rakás programozási szakkönyvet, de még mindig ott tartok, hogy sehol. Igaz, nem is nagyon volt még időm gyakorolni, de talán most nyáron...
A C++-t hajtanám én is, mert úgy látom, ez a fórumtéma pörög itt a JF.hu-n, nem a sima C-s vagy C#-os, úgyhogy ebből azt szűrtem le, hogy ez a legalkalmasabb a játékfejlesztésre is.
Idézet

(az utóbbi 2 hónapban megtanultam az assembly-t)


Pedig az kemény dió lehet. És van egyáltalán valami létjogosultása az Assemblynek a mostani korszerű és korszerűsített programozási nyelvek között? Vagy azt is fejlesztették?
Annakidején megvettem Agárdy Gábor: Gyakorlati Assembly c. könyvének első kötetét; az eleje még érthető volt számomra kb. a szövegek kiíratásáig, de utána már mintha veszített volna a szájbarágósságából és nem sokat értettem belőle...
   
sasukekarakter - Tag | 16 hsz       Online status #207757   2015.06.06 14:02 GMT+1 óra  
Mivel ugyan az Mint a terep2 Remake-ek mely, CTruck3D vagy is ennek a játéknak
Simon_hasur fejlesztett ládásul köze van a c/c++, openGL Grafikával.


https://youtu.be/B74QvPGyBYM
   
proof88 - Törzstag | 530 hsz       Online status #207589   2015.05.07 21:26 GMT+1 óra  
Bocsi, ezt benéztem. Nem fogtam fel, hogy eleve azt írta, hogy "beépített típusokat".
   
Asylum - Törzstag | 5471 hsz       Online status #207588   2015.05.07 09:37 GMT+1 óra  
Erre gondoltam igen. Ha nem muszáj akkor ne adjunk puskát a programozó kezébe.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Matzi - Szerkesztő | 2525 hsz       Online status #207587   2015.05.06 23:26 GMT+1 óra  
Szerintem arra gondolt, hogy egy sima getter felesleges hogy const referenciát adjon vissza. Az esetek többségében egy sima érték visszaadás is elég, még akár gyorsabb is lehet a végeredmény. Míg ha egy const ref-re ha const castot hívsz, akkor settert csináltál a getterből. Nem szerencsés, még akkor sem ha a a "felhasználó" a hülye.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
proof88 - Törzstag | 530 hsz       Online status #207586   2015.05.06 22:15 GMT+1 óra  
Furcsállom Asylum hogy ezt írtad. A const az én szememben arra való, hogy megmondjuk a fordítónak, hogy mit nem szeretnénk módosítani, így ő vigyáz arra hogy véletlenül se tegyük meg, valamint hogy mit nem szeretnénk ha más módosítana. A const_cast az egy workaround arra hogy ha mégis módosítanánk erőszakkal, a lehetőség megvan, de az már szembeszegül az alkotó által felállított szabállyal, miszerint az ott const. Tehát a felelősség azé aki hülyeséget csinál. Ha egy objektumra szeretnék referenciát visszaadni, akkor inkább azt csinálnám, mint hogy érték szerint adjam vissza, nem? Ptr sem jobb ebből a szempontból. A cpp-ben mindenre van valami apró trükk, de érdemes bizonyos szabályokat betartani.
   
Instalok - Tag | 576 hsz       Online status #207585   2015.05.06 12:06 GMT+1 óra  
Aki const_castot ír, azt le kell lőni.

Egyébként ilyen szempontból ez mindennél probléma, amit nem érték szerint adsz át. Szóval nem kell const_castolgatni, és nincs gond. Egyébként változó, általában enumoknál, booloknál, meg ilyesmiknél érték szerint adom vissza.

   
Asylum - Törzstag | 5471 hsz       Online status #207584   2015.05.06 11:47 GMT+1 óra  
Btw. ilyet ne írj le...

Kód:
const int& getX()


Beépített típusokat mindig érték szerint, mert még a végén ráhív egy const_cast-ot és nézhetsz...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Instalok - Tag | 576 hsz       Online status #207581   2015.05.05 13:03 GMT+1 óra  
Igen, mondjuk lehet, hogy úgy leszek az egésszel, hogy aki szétbirizgálja a headert, annak egészségére (rajtam kívül úgysem fogja használni senki ). Egyébként van forceinline, én a getterekhez azt használtam. Ha jól rémlik az olyasmi, hogy a fordító nem nagyon ellenőrzi le, hogy ez jogos-e inline-nak, hanem azt mondja, h "oké, akkor az lesz".

   
Asylum - Törzstag | 5471 hsz       Online status #207580   2015.05.05 12:34 GMT+1 óra  
Az inline is csak egy hint, semmi nem garantálja, hogy az lesz (dinamikus kötés esetén meg nem is lehet). Ha a fordító még fordítási időben ki tudja következtetni a típust, akkor inlineosíthatja persze.

Teljesítménykritikus dolgoknál le szokták szarni a tervmintákat. Pl. a GLM library csak headerökből áll, így az egész inlineolódik, de bárki belepiszkálhat (ez egyébként is saját felelősség...).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Instalok - Tag | 576 hsz       Online status #207578   2015.05.05 11:56 GMT+1 óra  
Igen, mindkettő ismerős, de nem is gondolkoztam még rajta, hogy ezek valamelyikét használjam. Mármint vannak olyan esetek, amikor használtam, de azt inkább a platformfüggetlenség miatt tettem - például base graphics device osztály, majd abból származnak le a megfelelő osztályok.

Az interface dolog egyébként nekem tetszetősebb, viszont az inline így nem felejtős?
Kód:
// public header
class Base
{
public:
    virtual const int& getX() const = 0;
};

// private (lib) header
class Der : public Base
{
public:
    const int& getX() const { return x; } // override... inline?

private:
    int x;
};

   
Asylum - Törzstag | 5471 hsz       Online status #207577   2015.05.05 11:30 GMT+1 óra  
Interfész tervminta.

Kód:
// headerben:
class IMyInterface
{
protected:
    virtual ~IMyInterface();

public:
    virtual void PublicMethod1() = 0;
    virtual void PublicMethod2() = 0;
};

IMyInterface* CreateInterface();

// lib-ben:
class MyInterfaceImpl : public IMyInterface
{
private:
    // adattagok

public:
    void PublicMethod1() override;
    void PublicMethod2() override;
};


IMyInterface* CreateInterface()
{
    return new MyInterfaceImpl();
}


Ez az egyik megoldás és kicsit zanzásított. Általában nem lehet rá delete-et hívni, hanem van egy Release() metódusa.

A másik megoldás a pimpl idiom (híd tervminta).

Kód:
// headerben:
class MyInterfaceImpl;

class MyInterface
{
private:
    // hiába teszi publikká, nem tud ráhívni semmit
    MyInterfaceImpl* impl;

public:
    MyInterface();
    ~MyInterface();

    void PublicMethod1();
    void PublicMethod2();
};

// libben:
class MyInterfaceImpl
{
public:
    void PublicMethod1();
    void PublicMethod2();
};

MyInterface::MyInterface()
{
    impl = new MyInterfaceImpl();
}

MyInterface::~MyInterface()
{
    delete impl;
}

void MyInterface::PublicMethod1()
{
    impl->PublicMethod1();
}

void MyInterface::PublicMethod2()
{
    impl->PublicMethod2();
}


Ennek az az előnye, hogy elég automatikus változóként deklarálni (MyInterface interf; )

Ezt a hozzászólást Asylum módosította (2015.05.05 11:51 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Instalok - Tag | 576 hsz       Online status #207576   2015.05.05 09:44 GMT+1 óra  
Van két projektem. Az egyik egy static libként fordul, a másik pedig futtathatóként. A static libet hozzálinkelem a futtathatóhoz. Eddig szuper minden, azonban, hogy használhassam a static libet megfelelően, szükségesek annak a headerjei. Viszont szeretném, ha bizonyos függvények és egyebek nem lennének elérhetőek a liben kívülről, azaz a futtatható ne férhessen hozzájuk. Lehet private dologgal szórakozni, azonban, mivel a headert mellékelni kell, így az könnyen módosítható, és talán public/private csere esetén még újrafordítani sem kell.

Hogy lehetne azt szépen megoldani, hogy csak az általam kijelölt memberek legyen elérhetőek?

   
Asylum - Törzstag | 5471 hsz       Online status #207551   2015.04.27 19:37 GMT+1 óra  
Szerintem meg beadandó vmelyik suliba...

Kód:
struct Arfolyam
{
    double E;
    double C;
    int nap;
};

Arfolyam arfolyamok[31] =
{
    { 293.50, 242.33, 1 },
    { 291.33, 243.55, 2 },
     // stb.
};

rendez(arfolyamok);
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Geri - Törzstag | 2194 hsz       Online status #207550   2015.04.27 18:37 GMT+1 óra  
az, úgy érzem, hogy ez megint egy újabb glcreatemmorpg-harcosos sztori lesz

   
Bani05 - Tag | 3 hsz       Online status #207548   2015.04.27 18:19 GMT+1 óra  
És akkor ezt a rendezést ez alapján hogyan kellene átírni? nem akar sikerülni:
double seged;
int j;
for (i = 0; i < 30; i++)
{
for (j = i + 1; j < 31; j++)
{
if (E[ i ]>E[ j ])
{
seged = E[ i ];
E[ i ] = E[ j ];
E[ j ] = seged;
}
}
}

for (i = 0; i < 3; i++)
{
cout << E[ i ] << " ";
}

   
Elodin - Tag | 181 hsz       Online status #207546   2015.04.27 17:33 GMT+1 óra  
Miért nem építesz az elején egy tömböt az indexekből (x. elem = x).
Rendezés közben ebbe a tömbe is cseréld az elemeket párhuzamosan a másikkal, így a végén ki tudod olvasni az eredeti indexeket....

   
Instalok - Tag | 576 hsz       Online status #207545   2015.04.27 17:33 GMT+1 óra  
Az sem gond, csak figyelni kell rá, hogy legfeljebb 3-mat gyűjtsön össze. Ha megvan a 3 legjobb, utána sorrendben meg lehet keresni az adott tömb(ök)ben, hogy az mely indexen van. Ha több helyen is, akkor annyival csökken a megkeresendő elemek száma.

   
Geri - Törzstag | 2194 hsz       Online status #207544   2015.04.27 17:19 GMT+1 óra  
az úgy nem jó, mert mi van, ha több napon is ugyanaz volt az árfolyam?

   
Tunyu - Tag | 449 hsz       Online status #207543   2015.04.27 16:04 GMT+1 óra  
Ha növekvő sorrendbe raktad, utána az első hármat összehasonlítod az eredeti listában levő értékekkel és ha egyezik akkor megvan az indexe is.

   
Bani05 - Tag | 3 hsz       Online status #207542   2015.04.27 15:06 GMT+1 óra  
Én is erre gondoltam de a napok azok az árak indexei és ha rendezem az árakat akkor az első 3ár ami kell, értelemszerűen a 0,1,2 indexet kapja de nekem meg ugye az eredeti indexek kellenének. Bár vszínű hogy ez a járható út csak nem tudom, hogy lehetne indexxel együtt rendezni.

   
Asylum - Törzstag | 5471 hsz       Online status #207541   2015.04.27 13:55 GMT+1 óra  
a napokat is rendezd az árfolyammal együtt
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Bani05 - Tag | 3 hsz       Online status #207540   2015.04.27 13:39 GMT+1 óra  
Sziasztok!
Tudna valaki segíteni ebben a feladatban?
Adott az EUR és CHF párhuzamos tömbökben a március hónap 31 napi Euro és svájci frank átlag árfolyam forintban (HUF):

double E[31] = { 293.50, 291.33, 292.40, 293.25, 291.76, 283.83, 285.94, 295.65, 282.63, 279.85, 277.06, 274.87, 292.18, 270.39, 268.45, 264.91, 291.28, 260.24, 259.48, 258.73, 264.94, 263.37, 266.66, 269.45, 270.93, 275.83, 278.94, 281.38, 291.28, 293.56, 294.05 };
double C[31] = { 242.33, 243.55, 244.02, 237.65, 241.67, 244.88, 243.87, 239.76, 240.23, 238.24, 239.55, 242.01, 241.49, 242.56, 245.28, 250.56, 252.18, 255.89, 260.24, 263.72, 261.52, 258.31, 254.93, 251.28, 249.84, 250.17, 248.73, 246.83, 244.67, 247.38, 243.56 };

e) A hónap melyik három napja volt a legjobb Euro vásárlásához? Milyen Euro és svájci frank árfolyamok voltak ezeken a napokon?

Odáig jutottam el hogy növekvő sorrendbe állítom az eurós tömböt és akkor ugye az első 3 elem lesz ami kell, de így még mindig nem tudom hogy az a 3 ár melyik napokon volt.

   
M4 - Tag | 187 hsz       Online status #207001   2015.03.12 09:52 GMT+1 óra  
Idézet
sasukekarakter :
de abba kell a segítség autó modellt hogyan csináljak az OpenGL segítségével
Mint a terep2-ben?


Opengl-ben minden háromszögekből épül fel. Az meg csúcsokból. Vagyis az opengl-nek meg kell adni egy csúcspontokból álló listát. Majd egy index listát, ami megmondja mely csúcsok alkotnak háromszöget. Ez azért jó, mert így a szomszédos háromszögnél nem kell a közös csúcsokat többször megadni.
A csúcsoknak lehet tulajdonságokat megadni, szín, pozíció stb. De lehet egyszerűbb egy 3D modellező programmal pl Blender.

   
sasukekarakter - Tag | 16 hsz       Online status #206998   2015.03.12 09:33 GMT+1 óra  
Idézet
Instalok :
glezmen
Minden rossz szandek nelkul, szerintem lassits
Eloszor az alapokkal ismerkedj, ne akarj azonnal vilagot megvaltani




Oké
   
Instalok - Tag | 576 hsz       Online status #206996   2015.03.12 08:24 GMT+1 óra  
glezmen
Minden rossz szandek nelkul, szerintem lassits
Eloszor az alapokkal ismerkedj, ne akarj azonnal vilagot megvaltani

   
sasukekarakter - Tag | 16 hsz       Online status #206995   2015.03.12 03:28 GMT+1 óra  
Köszönöm mindenkinek!
hogy mindenki segített a c++ programozásra néhányat meg tanultam
de abba kell a segítség autó modellt hogyan csináljak az OpenGL segítségével
Mint a terep2-ben?

Amúgy code::blockot használok mert linux ubuntut van
a nagy gépemen
   
Instalok - Tag | 576 hsz       Online status #206981   2015.03.10 20:00 GMT+1 óra  
Végül is lehet benne valami. Ha a D osztályt a C részeként tekintjük (mint mondjuk egy függvényét), akkor logikusnak tűnik, hogy miért látja. Mivel azt mondjuk, hogy a B friendje a C (azaz C és annak "részei" látják a B privát adattagjait is), így a D, mint C része is látni fogja a B nem publikus adattagjait is. Először ez így nem esett le, és picit furcsáltam.

   
Asylum - Törzstag | 5471 hsz       Online status #206980   2015.03.10 19:15 GMT+1 óra  
szerk.: a foo() nem kéne menjen, ez bug...
szerk.: g++ al is fordul, wow oO

Ezt a hozzászólást Asylum módosította (2015.03.10 19:26 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Instalok - Tag | 576 hsz       Online status #206966   2015.03.09 13:23 GMT+1 óra  
Ez tényleg logikusnak tűnik.

   
Eldor - Tag | 163 hsz       Online status #206965   2015.03.09 13:07 GMT+1 óra  
Ha belegondolsz, akkor logikus a működése. A C osztály elérheti a B osztály privát adattagját az által, hogy frienddé teszed. Mivel D a C osztály része, ezért az is elérheti B privát adattagját.

   
Instalok - Tag | 576 hsz       Online status #206964   2015.03.09 12:13 GMT+1 óra  
Pedig szerintem azért hasznos, ha van ilyesmi. Gondolj csak bele: van egy osztályod, rengeteg public memberrel, de nem szeretnéd, hogy, ha valakinek van egy példánya, akkor azt fel tudja szabadítani. Vagy eleve meg szeretnéd gátolni, hogy létrehozhasson egyet, lásd: singleton pattern.

Minden esetre nem zárkózom el az áttervezéstől sem, a kódomban elég sok helyen használom a friendet, mivel nem ismerek olyan patternt, ami ezt a működést adná "szépen".

   
__z - Tag | 71 hsz       Online status #206963   2015.03.09 11:33 GMT+1 óra  
Instalok :
Ez csak magánvélemény, de szerintem megér egy próbát, hogy elfelejted a "friend" kulcsszót, és megpróbálod újragondolni a kódot anélkül - lehet, hogy a probléma önmagától megoldódik. Egyébként szerintem nem véletlen, hogy sok nyelv nem alkalmaz hasonló funkciót...

   
Instalok - Tag | 576 hsz       Online status #206962   2015.03.09 11:17 GMT+1 óra  
Példányosítva van minden, még BP-t is tettem oda, bele is megy, és működik is. A friend okozza, csak nem értem, hogy miért.

Itt egy mini-példa, önmagában fordítható. Nálam ez fordul, fut, működik.
Kód:
#include <iostream>

class C
{
public:
    class B
    {
        friend class C;

    protected:
        B() { }
        virtual ~B() { }

        virtual void foo() = 0;

    private:
        int a;
    }; // class B

    class D : public B
    {
        friend class C;

    private:
        D() { }
        ~D() { }

        virtual void foo()
        {
            a = 10;
        }
    }; // class D

    C()
    {
        D d;
        d.foo();
        std::cout << d.a;
    }
}; // class C

   
Asylum - Törzstag | 5471 hsz       Online status #206961   2015.03.09 10:55 GMT+1 óra  
Amíg nem példányosítasz egy metódust, addig nem fog kiderülni a fordítási hiba.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Instalok - Tag | 576 hsz       Online status #206960   2015.03.09 09:11 GMT+1 óra  
Néha idegbajt tudok azért kapni. Ez most vcc bug, vagy elnézek valamit? Lehet a template-tel lesz a gond.
Kód:
class B
{
protected:
    B() { }
    virtual ~B() { }
   
    virtual void getXY() = 0;

private:
    std::string xy;
};

template <typename T>
class TD : public B
{
protected:
    TD() { }
    virtual ~TD() { }
   
private:
    T val;
};

class D : public TD<float32>
{
private:
    D() { }
   
    void getXY() { xy = "alma"; } // <--- működik, wtf?
};

Volt már clean + rebuild is. Ennek nem szabadna működnie.

szerk:
Megvan a gond, csak nem teljesen értem, hogy miért. Ezek belső osztályok, azonban le akartam tiltani, hogy kívülről lehessen példányosítani meg felszabadítani őket. Ilyenkor szoktam friend classozni. Tehát valahogy így néz ki a fenti osztályokkal:
Kód:
class C
{
public:
    class B
    {
        friend class C;

        // ...
    };
   
    template <typename T>
    class TD : public B
    {
        friend class C;

        // ...
    };
   
    class D : public TD<float32>
    {
        friend class C;
       
        // ...
    };
};

Csak azt nem értem, hogy attól, hogy mindegyiknek a barátja a C, attól még miért láthatják egymást?

Ezt a hozzászólást Instalok módosította (2015.03.09 09:29 GMT+1 óra, ---)

   
sasukekarakter - Tag | 16 hsz       Online status #206892   2015.03.04 21:50 GMT+1 óra  
sasukekarakter - Tag | 16 hsz       Online status #206890   2015.03.04 21:37 GMT+1 óra  
OpenGL tök jó
a code::block programot használom és Alapból az OpenGL-től kapok egy kockát és magam
megtanultam formázni a kockát bármely szögel

De a c++ is tanulom
   
sasukekarakter - Tag | 16 hsz       Online status #206883   2015.03.04 19:38 GMT+1 óra  
köszi ^^
Instalok
   
LBandy - Tag | 271 hsz       Online status #206878   2015.03.04 18:03 GMT+1 óra  
Instalok - Tag | 576 hsz       Online status #206876   2015.03.04 18:00 GMT+1 óra  
Asylum blogján nézelődhetsz, ott van például egy C++ cikksorozata. Annak a második leckéje a fejlesztőkörnyezet beállításáról szól.

   
sasukekarakter - Tag | 16 hsz       Online status #206874   2015.03.04 15:34 GMT+1 óra  
Idézet
glezmen :
Idézet
sasukekarakter :
a WinAPI jobb mint a code::block akkor a WinAPI használjam ?



Minden rossz szandek nelkul, szerintem lassits
Eloszor az alapokkal ismerkedj, ne akarj azonnal vilagot megvaltani (latunk erre eleg kozelrol peldakat ). Elso korben ne 3D-s, fizikaval megspekelt autoszimulatort akarj irni, hanem tessek szepen elindulni a Hello World-tol az egyszerubb algoritmusokon es mondjuk amoban keresztul az osszetettebb cuccokig.

Ha mindent egyszerre akarsz megtanulni, akkor semmit sem fogsz.
Kezdd egyszeru szoveges programokkal, akkor tudsz az alaplepesekre koncentralni, aztan ha az megy, lehet tovabb lepni.


Oké épen ezt szeretném De exe fájlt hogyan csináljak ?

Ezt a hozzászólást sasukekarakter módosította (2015.03.04 16:52 GMT+1 óra, ---)
   
glezmen - Törzstag | 381 hsz       Online status #206869   2015.03.04 09:09 GMT+1 óra  
Idézet
sasukekarakter :
a WinAPI jobb mint a code::block akkor a WinAPI használjam ?



Minden rossz szandek nelkul, szerintem lassits
Eloszor az alapokkal ismerkedj, ne akarj azonnal vilagot megvaltani (latunk erre eleg kozelrol peldakat ). Elso korben ne 3D-s, fizikaval megspekelt autoszimulatort akarj irni, hanem tessek szepen elindulni a Hello World-tol az egyszerubb algoritmusokon es mondjuk amoban keresztul az osszetettebb cuccokig.

Ha mindent egyszerre akarsz megtanulni, akkor semmit sem fogsz.
Kezdd egyszeru szoveges programokkal, akkor tudsz az alaplepesekre koncentralni, aztan ha az megy, lehet tovabb lepni.
   
sasukekarakter - Tag | 16 hsz       Online status #206867   2015.03.04 08:06 GMT+1 óra  
Idézet
Instalok :
WinAPI megint:
Olyat terveztem csinálni, mint egy dialog box, a már létező DialogBox függvény nélkül. Azaz létrehozok egy child windowt, és addig a fő ablakot nem lehet bizgerálni, amíg ez aktív. Nos, az elképzelés már megvan, a kivitelezés valahogy kevésbé sikerült.

Amit én elképzeltem, az a következő volt:
Kód:
// saját wndproc, saját class name a dialognak
RegisterClass

// style-nak (WS_CHILD | WS_CAPTION)

// parent handle-nek a fő ablak handle-je átadva
CreateWindow

ShowWindow
SetActiveWindow
SetForegroundWindow
SetFocus

Aztán kezdődnek a problémák. Eredetileg azt terveztem, hogy itt is indítok egy jó kis loopot, ami elkapkodja az üzeneteket, semmi extra, minden a szokásos. Így ameddig a child window él, addig a kód (mivel ez is a fő szálon lett létrehozva) nem megy tovább, mint a MessageBox() függvény esetében.


szerk.:
Ha a WS_CHILD stílus



Szia!
a WinAPI jobb mint a code::block akkor a WinAPI használjam ?
   
Instalok - Tag | 576 hsz       Online status #206865   2015.03.03 20:42 GMT+1 óra  
WinAPI megint:
Olyat terveztem csinálni, mint egy dialog box, a már létező DialogBox függvény nélkül. Azaz létrehozok egy child windowt, és addig a fő ablakot nem lehet bizgerálni, amíg ez aktív. Nos, az elképzelés már megvan, a kivitelezés valahogy kevésbé sikerült.

Amit én elképzeltem, az a következő volt:
Kód:
// saját wndproc, saját class name a dialognak
RegisterClass

// style-nak (WS_CHILD | WS_CAPTION)
// parent handle-nek a fő ablak handle-je átadva
CreateWindow

ShowWindow
SetActiveWindow
SetForegroundWindow
SetFocus

Aztán kezdődnek a problémák. Eredetileg azt terveztem, hogy itt is indítok egy jó kis loopot, ami elkapkodja az üzeneteket, semmi extra, minden a szokásos. Így ameddig a child window él, addig a kód (mivel ez is a fő szálon lett létrehozva) nem megy tovább, mint a MessageBox() függvény esetében.

Azonban a fő ablak is sajnos ugyan úgy kijelölhető, és használható, sőt, a megjelenítés sem működik így teljesen jól. Se a child, se a parent window nem látszik jól, azaz nem frissíti az ablakot rendesen. Valahogy így néz ki:


Valaki csinált már hasonlót? Neten próbáltam keresni, csak kicsit nehéz azt a szót használni WinAPI kontextusban, hogy Dialog - mármint akkor, ha nem a beépített Dialogra szeretnék rákeresni.

szerk.:
Ha a WS_CHILD stílust kiszedem, akkor jobban hasonlít arra, amit szeretnék. Már csak azt kellene megcsinálni, hogy a fő ablak ne legyen használható addig. Ötlet?


szerk. 2:
Oké, úgy tűnik egy EnableWindow megoldja a dolgot. A fő ablakot egy időre kikapcsolom, majd miután végzett a dialog, visszakapcsolom, és hívok rá egy UpdateWindow-t is, hogy újrarajzolja az ablakot. Elég maszek megoldás, de egyelőre működőképesnek tűnik.

Teljes forrás, ha érdekelne valakit:
3257-dlg.txt

Ezt a hozzászólást Instalok módosította (2015.03.03 20:59 GMT+1 óra, ---)

   
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] [142]