Afgelopen november een editie van Linux Magazine gekocht, meteen verslaafd geraakt door de Qt Framework.quote:Op zondag 7 maart 2010 11:56 schreef LucasHulshof het volgende:
Een erg goede en gratis IDE, voor zowel windows/linux, gericht op het ontwikkelen van software met het QT framework (o.a. google earth maakt hier gebruik van)
QTCreator
Het QT Framework verlost je van het broddelwerk genaamd "windows api" en is compleet object georienteerd. Een aanrader voor iedereen die serieus portable software wil schrijven.
en deze natuurlijk ook:quote:Op woensdag 12 mei 2010 11:26 schreef thabit het volgende:
Dit is trouwens ook wel een goed boek om de basisbeginselen van C++ te leren: http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> using namespace std; template <class T> T GetMax (T a, T b) { T result; result = (a>b)? a : b; return (result); } int main () { int i=5, j=6, k; long l=10, m=5, n; k=GetMax<int>(i,j); n=GetMax<long>(l,m); cout << k << endl; cout << n << endl; return 0; } |
ik snap het, hoewel het wat onlogisch overkomt om de grootte van een variabele af te laten hangen van de processor.quote:Op dinsdag 25 mei 2010 12:21 schreef progje het volgende:
een int een long zijn verschillende types.
Een long is een "long-int"
of er daadwerkelijk verschil in de lengte zit, is afhankelijk van je processor...
Dus
een short is 2 bytes
een long is 4 bytes
en een int is 2 of 4 bytes afhankelijk van je processor.
ik heb het programmeren geleerd in qbasicquote:Op dinsdag 25 mei 2010 12:21 schreef thabit het volgende:
Op 16-bitssystemen (mogelijk van voor jouw tijd) was een int 16 bit en een long 32 bit.
Is ook raar.quote:Op dinsdag 25 mei 2010 17:38 schreef minibeer het volgende:
[..]
ik snap het, hoewel het wat onlogisch overkomt om de grootte van een variabele af te laten hangen van de processor.
raar maar waar...quote:Op dinsdag 25 mei 2010 17:38 schreef minibeer het volgende:
[..]
ik snap het, hoewel het wat onlogisch overkomt om de grootte van een variabele af te laten hangen van de processor.
quote:Also, when using SDL, you must have your main() function declared like it is above. You can't use void main() or anything like that.
Ik heb thuis een C++-programmeerboek liggen die datatypes van kleinere groottes heeft. Betreft int en long.quote:Op dinsdag 25 mei 2010 21:06 schreef netolk het volgende:
[..]
raar maar waar...
PS.
Hier de groten van alle data typen
Je kan natuurlijk ook de sizeof(agrument) gebruiken om te zien hoe groot iets is.. uitkomst is overigens wel in bytes
Dan is dat waarschijnlijk een oud boek...quote:Op zondag 30 mei 2010 03:27 schreef Ofyles2 het volgende:
[..]
Ik heb thuis een C++-programmeerboek liggen die datatypes van kleinere groottes heeft. Betreft int en long.
Het gaat om 'Sams Teach Yourself C++ in One Hour a Day'.quote:Op zondag 30 mei 2010 10:24 schreef netolk het volgende:
[..]
Dan is dat waarschijnlijk een oud boek...
sizeof is de grootte die jouw computer er van maakt
dat is dus alleen bij nieuwe systemen zo,quote:Op zondag 30 mei 2010 14:36 schreef Ofyles2 het volgende:
[..]
Het gaat om 'Sams Teach Yourself C++ in One Hour a Day'.
Een pijnlijke fout is dat de auteurs van dat boek vermelden dat de long int en de int van dezelfde lengte zijn.
Van een SDL tutorial.quote:
ja nieuwe systemen hebben dat zo en daarom staat dat er waarschijnlijk aangezien (bijna) niemand die oude systemen nog gebruikt en er zeker geen programma's meer voor gemaakt wordenquote:Op zondag 30 mei 2010 15:03 schreef minibeer het volgende:
[..]
dat is dus alleen bij nieuwe systemen zo,
maar hier staat ook dat de int en de long int even groot zijn:
http://www.cplusplus.com/doc/tutorial/variables/
gewoon int nemen dan zit je altijd goedquote:Op zondag 30 mei 2010 15:06 schreef minibeer het volgende:
[..]
Van een SDL tutorial.
Ik vroeg eerst waarom mensen eigenlijk men een main functie die een int was begonnen, maar dat is dus ook voor dit soort zaken
Oh, oké.quote:Op zondag 30 mei 2010 15:03 schreef minibeer het volgende:
[..]
dat is dus alleen bij nieuwe systemen zo,
maar hier staat ook dat de int en de long int even groot zijn:
http://www.cplusplus.com/doc/tutorial/variables/
Mode 13 is iets van 20 jaar geleden. Tegenwoordig heb je geen palette meer van 256 kleurenquote:Op zondag 30 mei 2010 16:02 schreef minibeer het volgende:
klopt het dat het niet mogelijk is om mode 13 graphics in visual c++ te doen? Dat zou niet werken omdat dat een 32-bits compiler is ofzo (verder snap ik hier de ballen van). Het zou wel kunnen in SDL, maar ik zou liever eerst om te oefenen mijn programmatjes uit qbasic naar c++ 'vertalen'. En dan kijken hoe snel ze zijn natuurlijk...
Maar dit zit er dus niet in?
Met qbasic kan je wel gewoon screen 13 graphics en alles doenquote:Op zondag 30 mei 2010 16:10 schreef Cruise.Elroy het volgende:
[..]
Mode 13 is iets van 20 jaar geleden. Tegenwoordig heb je geen palette meer van 256 kleurenHet heeft niets met de taal te maken, maar meer met het feit dat al die systemen uit het DOS-tijdperk stammen en niet meer 1-2-3 beschikbaar zijn.
Ik kan je aanraden om toch SDL te gebruiken, maar misschien eerst C++ goed onder de knie krijgen.
Ik kom ook uit een QBasic achtergrond, en het is wel even wennen.quote:Op zondag 30 mei 2010 16:21 schreef minibeer het volgende:
[..]
Met qbasic kan je wel gewoon screen 13 graphics en alles doen(tot en met XP werkt dat prima). Beetje jammer, want ik vind graphics wel een van de leukere dingen om te doen, en om nou met SDL te beginnen terwijl ik c++ nog niet echt goed ken... maarja.
dankje!quote:Op zondag 30 mei 2010 16:42 schreef Cruise.Elroy het volgende:
[..]
Ik kom ook uit een QBasic achtergrond, en het is wel even wennen.
Als je echt wilt, kan je heel snel een applicatie uit de grond stampen in win32 met een scherm en een tekencanvas (zonder extra libs te hoeven downloaden)
// maken en registeren van een window:
RegisterWindowEx()
CreateWindowEx ()
ShowWindow()
// functie die je moet maken waarin je events afhandeld
WindowProc()
// maken van een tekencanvas
CreateDIBSection()
GetDC()
SelectObject()
// kopieren van het tekencanvas naar de oppervlakte van je windowBitBlt()
BitBlt()
// Afhandelen van window-events:
GetMessage()
en dan de events:
WM_PAINT (herschrijven van je window)
beetje muis-events afvangen:
WM_MOUSEMOVE
WM_LBUTTONDOWN
Het is even googlen maar dan heb je in een dag wel een werkend framework waar je redelijk snel op kan tekenen. Het is alleen allemaal event driven, dus als je wilt animeren zul je iets met CreateTimer() moeten doen of met GetTickCount() de tijd in ms opvragen en dat in het GetMessage() loopje zelf doen.
Als je een oude C++ compiler pakt kan je wss wel oude DOS-executables maken. Geen idee hoe je dat precies kan regelen maar er zijn compilers voor. Dan blijf je helaas wel hangen in een verouderd systeem en dat is wss gewoon zonde van je tijd.quote:Op zondag 30 mei 2010 17:03 schreef minibeer het volgende:
[..]
ok, ziet er wel ok uit, wordt dit gebruikt voor simpele grafieken binnen windows programma's enzo (zeg maar met de windows.h lib)?
Ik zal er eens naar kijke
maar het lijkt me niet zo makkelijk als screen 13 in qbasic
echt jammer dat er geen optie is voor 16-bit compilen (of is dit onzin wat ik nu zeg:P)
Ja ik wil het sowieso wel bij 1 compiler (per taal) houden, anders vind ik het zo'n gedoe. (Om dan bijvoorbeeld sdl bij beide aan de praat te krijgen)quote:Op zondag 30 mei 2010 17:17 schreef Cruise.Elroy het volgende:
[..]
Als je een oude C++ compiler pakt kan je wss wel oude DOS-executables maken. Geen idee hoe je dat precies kan regelen maar er zijn compilers voor. Dan blijf je helaas wel hangen in een verouderd systeem en dat is wss gewoon zonde van je tijd.
ok thanks manquote:Op zondag 6 juni 2010 15:11 schreef Cruise.Elroy het volgende:
je hebt nu een losse CPP file. Je moet er even een project (solution) omheen draaien.
New project maken met de wizard, doe je gewoon C++ appliclication (met console evt) en dan "empty solution". Dan de inhoud van dat bestand in je main.cpp zetten, of dat bestand importeren in je project.
1 2 3 4 5 6 | 'raytrace.exe': Loaded 'C:\Windows\System32\ntdll.dll' 'raytrace.exe': Loaded 'C:\Windows\System32\kernel32.dll' 'raytrace.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcp90d.dll' 'raytrace.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll' The program '[8152] raytrace.exe: Native' has exited with code -1 (0xffffffff). |
Dit, lijkt me.quote:Op zondag 6 juni 2010 16:41 schreef netolk het volgende:
Wat ben je aan het maken minibeer?
die code ziet er interessant uit
dankje nu hoef ik zelf niet te kijkenquote:Op zondag 6 juni 2010 16:45 schreef minibeer het volgende:
niet van mij hoor zo ver ben ik nog niet
gewoon een voorbeeld van raytracen, van het internet geplukt
in qbasic heb ik nog wel eens een raytracer ding gemaakt
Je zal toch meer moeten posten dan een lege log als je verwacht dat we je kunnen helpen.quote:Op zondag 6 juni 2010 16:39 schreef minibeer het volgende:
[..]
ok thanks manik wist dat het zoiets moest zijn
(ik krijg hem nu alleen nog niet aan de praat:
[ code verwijderd ]
)
ja sorry ik heb nog niet echt de betekenis van die log doorquote:Op zondag 6 juni 2010 18:00 schreef Cruise.Elroy het volgende:
[..]
Je zal toch meer moeten posten dan een lege log als je verwacht dat we je kunnen helpen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <iostream> int main(){ std::ifstream Read("lol.jpg"); if(Read.is_open()){ int i = 0; while(!Read.eof()){ char temp = Read.get(); i++; } Read.close(); std::cout << "i = " << i <<'\n'; } return 0; } |
get() leest 1 byte en char is 1 byte.quote:Op zaterdag 26 juni 2010 19:18 schreef Trollface. het volgende:
Binaire data lees je toch niet met chars.
Ik had daar ook naar gekeken er staat een EM (end of medium) maar ik had dus een test bestandje gemaakt met halverwege zo'n EM maar daar las hij wel gewoon netjes tot het einde van het bestand..quote:Op zaterdag 26 juni 2010 19:51 schreef moeftie het volgende:
Zou het kunnen zijn dat op byte positie 275 het EOF teken staat? Waardoor de boel stopt.
@Trollface: Binaire data kun je in een char lezen, als je er verder toch niks mee doet.
Hehe, best wel stom had ik moeten weten XD maar het werkt dus bedankt thabitquote:Op zaterdag 26 juni 2010 20:33 schreef thabit het volgende:
Het probleem is denk ik dat de constructor van ifstream het bestand standaard als tekstbestand opent. Probeer dus
std::ifstream Read("lol.jpg", std::ios_base::binary);
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |