Anonymní profil Huge – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Huge – Programujte.comAnonymní profil Huge – Programujte.com

 

Příspěvky odeslané z IP adresy 88.102.203.–

Offtopic › Divnej dotaz, navíc těžko zo…
26. 8. 2008   #83643

Zdravíčko, mám v hlavě tento offtopic:

Který programovací jazyk je v současnosti nejpoužívanější? Ale pozor, mám tu hodnotící kritéria, která nejsou zcela nepoužitelná:)

1. Aktuálnost programu určím tímto vzorcem: (1 - (datum_dnes - datum_produkce) / (datum_dnes - 1.1.1955) )^2
2. Indexem aktuálnosti (nabývá hodnot z intervalu <0; 1>) vynásobíme množství znaků napsané programátorem pro každý program, nebo jen část kódu (cracking v asm), který napsal člověk.

Tak který programovací jazyk je podle vás a toho vzorce nejpoužívanější? To, zda započítat i skriptovací jazyky (php, bash), nechám na vás.

PS: Ten vzorec mi dal ale zabrat, ale myslím, že fakt není špatnej. :smile14:

C / C++ › openGL tetris
26. 8. 2008   #83632

:)) Vykreslovat se to musí (text, který chceš vypsat daným fontem). Ale neměl bys je opakovaně vytvářet, protože bys měl v paměti kupu stejných dat, což moc moudré není.
Co ty potřebuješ, je mít několik objektů té struktury ukládající font, na začátku programu si (3) potřebné fonty jednou vytvořit a pak při vykreslování dávat font jako parametr nějaké tvojí funkci zobrazující texty.

Pascal › Spuštění programu přes celou…
26. 8. 2008   #83620

Laaca ti to říká, jen si nejsem jistý, jestli jsi to od něj pochopil:) Taky bys mohl uvést, jestli je to program konzolový, WinApi, nebo Delphi uživatelský layer.
Jestli je to ve WinApi, tak je tu na serveru jeho kurz, kde to najdeš.

C / C++ › Selhání assertu pro funkci i…
16. 8. 2008   #82953

Zdravím, nevíte
proč použití isspace na 'š' způsobí selhání Assertu, jehož účelem je ověřit, zda je c charakter a který vypadá následnovně:

_ASSERTE((unsigned)(c + 1) <= 256);

Výpis proměnných z watche:
c -25; (unsigned)(c+1) 4294967272

0sobně se domnívám, že je to špatným přetypováním intu c (který ovšem představuje char) na unsigned int, čekal bych spíše, že dojde k oříznutí znaménka, než k čisté reinterpretaci bitů.
Můžete mi doporučit, zda a případně jak (static_cast?) bych mohl tuto kontrolu opravit, aby byla stále funkční, ale nevyhazovala chyby, kde nemá? Přijde mi divné, že by se to dělo u standartní knihovny, v MSVS a ve chvíli, kdy nemá.
Problém nastává přirozeně pouze v módu debugingu (definováno makro _DEBUG), ale je to otravné při ladění a celkově podivné.
Tuším, že tuto problematiku možná řeší knihovna locale (locale.h), ale nemám s ní zkušenosti, pokud vy ano, prosím napište.

C / C++ › struktura
15. 8. 2008   #82951

Ne, věřte Quiarkovi, To, co používá tazatel i Earl je syntaxe jazyka C. Pokud se bavíme o standardním jazyce C++, funguje to jak říka Quiark.

C / C++ › Prosím pomoc , potreboval by…
15. 8. 2008   #82950

Jednou jsem slyšel, že toto není warforum:( Ale na druhou stranu, tuto knihu mám na disku jako fotky, což není právě optimální řešení (180 MB), takže pokud ji někdo má v čistém .pdf (nevygenrovaném z těch fotek, ale text), tak mi ji prosím taky pošlete:) Mail je v profilu.
Díky.

C / C++ › vector a erase
21. 3. 2008   #69308

Vrátím se k tvému původnímu kódu a řeknu ti, že když vymažeš prvek pod iterátorem, tak se iterátor zneplatní a pak děj se vůle boží.
Tedy, co musíš udělat je, uložit si po smazání prvku do iterátoru prvek, jež se nachází za smazaným, tím se problémům vyhneš.
A další prvek je navrácen funkcí erase, takže kód má vypadat takto:

kos = kos.erase(beg);


Kdyby to nefungovalo, tak si stěžuj, netestoval jsem to, ale je to triviálnost a fachat by to mělo.

Huge
C / C++ › template header
28. 2. 2008   #67330

Podporou klíčového slova export je proslulý kompilátor Comeau C++, něco více (moc ne) se dočtete zde
http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B
Tam pak najdete odkaz na domovské stránky comeaucomputing, kde je možno komilátor stáhnout.

C / C++ › Nabíhání
11. 1. 2008   #61928

Inu pavdu máš. Ale podívej se, co píšeš. Předpokládám, že pod 3 tečkami si představuješ ten výkonný kód.
Ale v tom případě bys musel jen vykonávat jeden a ten samý kód 10x, což se zas tak často nestává.
Spíše máš několik funkcí, které chceš vykonat a vedle toho v pravidlených intervalech vypisovat tu tečku. Něco jako samostatný vlákno.
Ačkoli v takovém případě bych netušil ani jak určím celkový čas běhu kódu v těch funkcích.

Offtopic › merac objemu stiahnutých dát
22. 12. 2007   #59334

Zajímala by mě jedna věc, jestli některý z uvedených programů umožňuje svoje informace schraňovat někde na ftp, prostě někde na síti. Protože když má člověk například router a připojuje s s více počítači, tak je mu měření jen na jednom z nich na prd.

C / C++ › C++ -&gt; WinApi -&gt; Dialo…
20. 12. 2007   #59075

Kdyby snad někdy někdo měl podobný problém, jako ten, se kterým jsem se dotazoval já (horní příspěvek), tak tady je řešení:
Celý problém je v použití nesprávné funkce DialogBox, místo níž je potřeba použít DialogBoxParam a v posledním parametru předat ukazatel na objekt tj. v rámci metody let_set_new_game stačí použít this asi takto:

bool game_class::let_set_new_game (void)

{
return DialogBoxParam(NULL, MAKEINTRESOURCE(DLG_SETTINGS),
NULL, (DLGPROC)setting_procedure, (LPARAM)this);
};


Ukazatel this je nastaven až při provádění WM_INITDIALOG, takže pokud chcete v rámci téže zprávy použít "object" tak jej musíte explicitně v rámci obsluhy WM_INITDIALOG nastavit, protože GetWindowLongPt, který byl volán na začátku procedury jestě neměl platný nastavený ukazatel. Takže nějak takto:
case WM_INITDIALOG: 

SetWindowLongPtr(hWnd, DWLP_USER, (LONG_PTR)lParam);
object = (game_class*)lParam;
// a ted muzete v ramci zpravy WM_INITDIALOG pouzit treba object->pokusne
...
break;


Návrhy na vylepšení › &gt;&lt;
14. 12. 2007   #58484
C / C++ › C++ -&gt; WinApi -&gt; Dialo…
14. 12. 2007   #58480

Jen btw, jak se dá na tomhle fóru editovat nadpis příspěvku (jesli je to teda vůbec nějak možné)?

C / C++ › String ve třídě
14. 12. 2007   #58479

To, že je parametr té funkce typu const char* ještě neznamená, že jí musíš předávat ukazatel na konstantu.
To jen říká, že obsah toho ukazatele nebude měněn, vpodstatě to, že parametr bude použitý jen pro čtení.
Takže tomu můžeš předat libovolný Cčkovský řetězec typu char* případně použít metodu třídy string c_str pro získání konstantního ukazatele na 1. znak dat ve stringu.

C / C++ › C++ -&gt; WinApi -&gt; Dialo…
13. 12. 2007   #58454

Taky se Vám ve fóru název tématu zobrazuje takto?
C++ -> WinApi -> DialogBox -> Objekt načtený p...
tedy místo > se zobrazí ->
Inu volaké pojebané to tu máte. Držím vám, palce, že se vám to brzo podaří opravit.

C / C++ › String ve třídě
13. 12. 2007   #58453

Vydím tam jen jednu chybu a ta není fatální, no možná je to horší...:
subject pred[i]; - To není správně vytvořené pole (A chtěl jsi vůbec vytvářet pole?), lepší je subject* pred = new subject[i], udělá to totéž, ale mnoohem čistěji.
No a teď už by ti mohlo být jasné, kde by měla být chyba. V následujících řádcích několikrát voláš pred[i], kde pole pred je však indexováno v intervalu <0, i-1>, takže voláš prvek, který v tom poli není, saháš do nepovolené paměti a KABOOM.
Měj se.

C / C++ › C++ -&gt; WinApi -&gt; Dialo…
13. 12. 2007   #58452

Zdravíčko, mám drobný problém s použitím smyčky zpráv jako členské metody třídy.
Ta samozřejmě musí být static, je to popsáno zde: http://zezula.net/cz/prog/wndproc_v_tride.html

Kritický kód vypadá asi takhle:



bool game_class::let_set_new_game(){
return DialogBox(NULL, MAKEINTRESOURCE(DLG_SETTINGS), NULL, DLGPROC(setting_procedure));
}

LRESULT CALLBACK game_class::setting_procedure(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
game_class* object = (game_class*)(GetWindowLongPtr(hWnd, DWLP_USER));

switch(message){
case WM_INITDIALOG:
// Nastavení reference na objekt pro dialog:
SetWindowLongPtr(hWnd, DWLP_USER, (LONG_PTR)lParam);
// Potud je to vpořádku - otestováno.
// A nyní k jádru pudla:
object->POKUSNE; // Pokusné je int člen třídy. Tento řádek proběhne vpořádku.
int i = object->pokusne; // !!! ??? Zde však program padá s typickým ...došlo k problému a je třeba aplikaci zavřít.


Jestli někdo tušíte, čím by to mohlo být, prosím napište, budu moc vděčný.

C / C++ › Jak nastavit kopírovací kons…
5. 12. 2007   #57440

pokud bys to mel pro jednu tridu tak pristup k private memberum mas automaticky, tedy nemusis to deklarovat jako frienda.


Oops, to jsem nevěděl (přestože je to poměrně základní věc), díky i za příklad, už to chápu.
Jen ještě jedna věc mi není jasná, jak bys zařídil, aby ty dvě třídy měly vzájemně zpřátelené konstruktory??
Protože vždycky ta třída, jejíž metodu chceš dát friend musí být celá definovaná a to by s dvěma třídami vzájemně jaksi technicky nešlo. Napadlo mě to udělat přes společného předka, jímž by byla čirá třída s virtuálním kopírovacím konstruktorem. Funkčností takové konstrukce si však nejsem příliš jist...

C / C++ › Jednoduchá hra?
3. 12. 2007   #57237

Řeknu ti to takhle, lze to udělat naprosto primitivně, ale taky hodně profesionálně. Pokud by ti opravdu stačilo jen načtení nějakého textu z disku podle jedné z nějakého počtu voleb, pak to rozhodně problém nebude. Bohužel teď musím programovat seminárku, takže ti s tím asi nepíchnu...

C / C++ › Jak donutit překladeč vytvoř…
3. 12. 2007   #57213

Jo, to by bylo celkom fajn, nebo pokud máš takovou možnost a není to zas tolik stránek, tak bys to mohl i nascanovat a poslat to třeba na mail nebo uploadovat (doufám, že teď nenabádám k nějakému strašlivému warezu, který by byl proti pravidlům tohoto fóra...)
Jinak advanced by nemusel být problém, už nejsem úplná lama (doufám).

C / C++ › sablona - bin. operatory
2. 12. 2007   #57098

Myslím, že Gadael chtěl slovem binární říci, že přijímá 2 operandy a že tedy není unární+.
Jinak myslím, že to, co tady zmínil Johnyzz by mělo fungovat.

// Takto bude vypadat hlavička té členské fce:

template <typename Type, int N> // Šablona třídy.
template <typename Type2> // Šablona funkce (specifikuje typ parametru, jeho délka musí být stejná jako u prvního parametru.
Vector<Type, N> // Navrací hodnotou Vektor podle šablony třídy.
Vector<Type, N>::operator+ // Název metody.
(const Vector<Type2, N>& druhy) { // Druhý parametr za this.
// Ještě třeba dodat, že musí existovat operator+ mezi typy Type a Type2.

Mimochodem se mi ten jeden parametr šablony (int) zdá zbytečný, na to ti přece postačí konstruktor.

C / C++ › Nevíte, proč nefunguje impli…
2. 12. 2007   #57097

Hlavička šablony:

template<class class_specifier = long double> class hhb;

Udělal jsem i explicitní deklaraci té třídy:
template class hhb<long double>;

Avšak když jsem zavolal:
hhb new_one;

tak to nahlásilo chybu:
missing template arguments before "new_one"
zkusil jsem dát i:
hhb<> new_one;

ale to skončilo hláškou:
no matching function for call to 'point<long double>::point()'
což mi přijde jako kravina.
Poradí někdo, jak na to? Kompiloval jsem v Dev-C++, to je nějakej Mingw kompilátor.

C / C++ › Jak donutit překladeč vytvoř…
2. 12. 2007   #57095

Sturučně: Jak donutit překladeč, aby podle celočíselného (int ccc) parametru šablony vytvořil konstruktor s ccc parametry (určitého typu stejného pro všechny param. fce.)?

Dlouze: Máme třídu bod, která je šablonová, jako parametr šablony přijímá počet rozměrů, tedy počet dimenzí, v kterých má být určen. Podle toho se vytvoří pole, kde bude určena jeho pozice. Nicméně nyní nastává drobný problém v konstruktoru.
Mohu samozřejmě udělat konstruktor, jehož parametrem je pole hodnot, které bodu přiřadím.
Nicméně to podmiňuje, aby uživatel třídy vytvářel zbytečné pole navíc.
Já chci mít konstruktor, jenž bude mít přesně takový počet jako je parametr šablony třídy bod. To znamená, že již v době překladu je znám počet i typ parametrů chtěného konstuktoru.

Nicméně neznám cestu, jak toto rozumně zaznamenat v syntaxi jazyka C/C++.
Jediná reálná možnost, jež mě napadla je výpustka (třítečka), jenže pak nemám kontrolu nad typem parametrů ani jejich počtem, což je docela smutné.
Víte-li někdo jak tuto strast vyřešit, napište.

(Na vytváření vlastních maker pro zavedení něčeho podobného se necítím.)

C / C++ › Dotaz ohledně dostupnosti pa…
2. 12. 2007   #57092

Lze nějak získat informaci o parametru v šabloně třídy i z nečlenské funkce?
template<int cislo> class abc{
...
friend int f(abc&){
}

int f(abc& cba){
return cba::cislo; // Takto asi ne.
}

Ideálně bych potřeboval vědět jak z jedné instance té šablony tříd přistupovat k parametru jiné instance téže šablony (viz. jiná moje otázka s kopírovacím konstruktorem).

C / C++ › Jak nastavit kopírovací kons…
2. 12. 2007   #57090

Hodně záludná (ale zásadní) otázka ohledně syntaxe C++:
Jde pomocí friend nebo jakkoli jinak zařídit aby konstruktor nějaké třídy, jež má jako parametr nějakou instanci téže třídy (typicky kopírovací konstruktor), měl přístup k private členům parametru??
// Takto
class name{
private:
Typ data;
public:
name(name&); // Copy constructor.
friend name.name(name&); // Constructor jedné instance chce být friend jiné v parametru.
// Kompilátor vypíše expected unqualified-id before '.' token

C / C++ › Prosím radu, jak obdělat dia…
5. 11. 2007   #53871

Zdravím všechny,
potřeboval bych udělat následující: při zapnutí programu se objeví výzva k přihlášení usera či registraci. Po přihlášení se mu nabídne další okno, kde by měly být nějaké edit boxy, z kterých si po potvrzení tlačítka opět uložím hodnoty. Podle těchto parametrů se pak vytvoří pomocí WinApi a OpenGL scéna - toto poslední zvládám,
potřebuji tedy pouze poradit, jak jednoduše a bezbolestně udělat ty nabídky, nejlépe pomocí resources a designeru ve Visual Studiu 2005.
Snažil jsem se něco najít v nápovědě, ale našel jsem jen nějaký Windows Forms, které se mi i celkem líbily, ale mám podezření, že jsou určeny jen pro .net framework. Já bych chtěl čisté WinApi, ale aby to šlo jednoduše napojit na to okno s OpenGL.

Díky za jakoukoli radu, či odkaz na tutoriál pro MSVS.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý