Seite 1 von 2
					
				Boolean
				Verfasst: 19.02.2010 15:54
				von BloodyBambus
				Hallo,
Ich benötige eine boolean Variable also eine Variable die entweder 1 oder 0 sein kann.
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 15:58
				von Mok
				Gibts in PB nicht.
Nimm einfach eine Long- oder Word-Variable, die du dann auf 
#True (1) oder 
#False (0) setzt.
Edit: Willkommen im Forum 

 
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:01
				von Kaeru Gaman
				es gibt keine expliziten Booleans in PureBasic.
auch in Anderen Sprachen wird dazu eine Registergröße herangezogen, also .i, niemals ein einzelnes Bit weil es viel zu aufwendig wäre das zu isolieren.
du kannst in PB jeden beliebigen Typ benutzen.
der Test 
wird immer auf <> 0 testen, der Test
testet auf = 0
dir stehen auch die numerischen Konstanten #True ( =1 ) und #False ( =0 ) zur Verfügung.
Beachte dabei dass 
And, 
Or und 
Not rein logische Operatoren sind,
sie sind 
nicht dafür ausgelegt, einen Zahlenwert zurückzuliefern der in Berechnungen einfließen kann.
Sogenannte Boole'sche Ausdrücke, die aus einem Vergleich einen Zahlenwert zurückliefern werden nicht von PureBasic unterstützt.
 
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:04
				von BloodyBambus
				Ich hab jezt aber eine library der ich den Wert übergebe will.
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:06
				von Kaeru Gaman
				bitte genauer.
... es ist anzunehmen, dass diese ein Long (32bit) erwartet.
das ist aber kein Versprechen, genaueres kann man nur sagen, wenn man die Lib und die Ausgangssprache kennt.
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:16
				von BloodyBambus
				DirectX library, 
C:\WINDOWS\system32\d3d9.dll
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:20
				von Mok
				BloodyBambus hat geschrieben:DirectX library, 
C:\WINDOWS\system32\d3d9.dll
Hast du schon probiert, ob es funzt, wenn man eine Long-Variable mit Inhalt #True (oder eben #False) an die Funze schickt?
 
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:29
				von Kaeru Gaman
				BloodyBambus hat geschrieben:DirectX library, 
C:\WINDOWS\system32\d3d9.dll
welche Funktion? hast du die Beschreibung der Funktion irgendwo online? (MSDN z.B.)
dann gib mir mal den Link, ich les sie mir mal durch und sag dann bescheid.
 
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 16:58
				von BloodyBambus
				ich hab eigentliche keine direkte anleitung für die dll ich habe nur eine vom directX sdk und daraus versuche ich es abzuleiten.
I habe 2 Datien eine main und in der andere sind die structuren defeniert.
Die erste "Main":
Code: Alles auswählen
XIncludeFile "structures.pb"
OpenLibrary(1,"C:\WINDOWS\system32\d3d9.dll")
OpenWindow(1,10,10,300,300,"D3D Test")
OpenConsole()
CallFunction(1,"Direct3DCreate9",32)
d3dpp.D3DPresent_Parameters
d3dpp\Windowed = True
d3dpp\SwapEffect = 0
d3dpp\BackBufferFormat = 0
Repeat
  EventID = WaitWindowEvent()
  
  If EventID = #PB_Event_CloseWindow
    Close = 1
  EndIf
Until Close = 1
und die zweite "Structures":
Code: Alles auswählen
Structure D3DPresent_Parameters
  BackBufferWidth.l ;sollte ein Unsigned integer sein
  BackBufferHeight.l ;sollte ein Unsigned integer sein
  BackBufferFormat.l ;sollte ein D3DFormat sein hab aber in der header Datei gefunden das es auch nur ein Unsigned integer ist.
  BackBufferCount.l ;sollte ein Unsigned integer sein
  MultiSampleType ;sollte ein Multisampletyp sein, vermutlich auch nur ein integer
  MultiSampleQuality.w ;sollte ein MultisampleQuality sein, vermutlich word
  SwapEffect ;Swapeffect, vermutlich integer
  hDeviceWindow.l ;Device Window
  Windowed.l ;sollte ein boolean sein
  EnableAutoDepthStencil.l ;sollte ein boolean sein
  AutoDepthStencilFormat.l ;D3DFormat, vermutlich integer
  Flags.w ;sollte word sein
  ;/* FullScreen_RefreshRateInHz must be zero For Windowed mode */
  Screen_RefreshRateInHz.l ;sollte Unsigned integer sein
  PresentationInterval.l ;sollte UNsigned integer sein
EndStructure
 
			 
			
					
				Re: Boolean
				Verfasst: 19.02.2010 19:39
				von edel
				Flags und MultiSampleQuality ist falsch, das ist ein DWORD (DoubleWord), also 4 Bytes (Long).
BOOL ist 4 Bytes gross, also auch Long, genauso wie MultiSampleType. Der Rest sieht gut aus, zumindest fuer 32 bit.
Suche am besten uber google 
z.b.
http://www.google.de/search?as_q=D3DPre ... =&safe=off