If x = 1 and x = 2

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

If x = 1 and x = 2

Beitrag von X360 Andy »

Hab grad in der Sig von KeauHou folgendes gelesen

Code: Alles auswählen

If x = 1 and x = 2
MessageRequester("!!!", "WTF")
EndIf
Eigentlich könnte diese Bedingung nie erfüllt werden.
Aber könnte man sowas nicht mit einem Callback "lösen" ?

Weil bei den beiden Abfragen vergeht ja auch eine teil einer ms und genau in dem Moment könnte man ja X zu 2 ändern oder ?

>> Ja mir ist grad langweilig :D
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Selbst wenn, was genau soll dir das bringen?

Und was hat das mit einem CallBack zu tun?
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Er meint wohl Thread...
(\/) (°,,,°) (\/)
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: If x = 1 and x = 2

Beitrag von cxAlex »

X360 Andy hat geschrieben: Weil bei den beiden Abfragen vergeht ja auch eine teil einer ms und genau in dem Moment könnte man ja X zu 2 ändern oder ?
Eigendlich müsste x von 2 zu 1 werden da die Argumente von hinten nach vorne geprüft werden.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Probier's doch einfach mal, muesste im Prinzip schon funzen. Am besten machst Du 'ne Endlosschleife mit der Abfrage und 'nen Endlos-Thread der staendig x auf 1 und auf 2 stellt... und dann einfach mal laufenlassen und warten bis die erste Meldung hochpoppt ;)
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Es funktioniert :o :o :o :o

Code: Alles auswählen

Procedure Setter(*x.Integer)
  Repeat
    *x\i = (*x\i + 1)%3
  ForEver
EndProcedure

CreateThread(@Setter(), @x)

Repeat
  If x = 1 And x = 2
    MessageRequester("!!!", "WTF")
  EndIf
ForEver
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Meiner Meinung nach ein wirklich sehr schoenes Beispiel, um zu zeigen, wie gefaehrlich und anspruchsvoll gescheite Multithreading-Programmierung sein kann :)
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

cxAlex hat geschrieben:

Code: Alles auswählen

  Repeat
    *x\i = (*x\i + 1)%3
  ForEver
:?:

Code: Alles auswählen

*x\i = 1
  Repeat
    *x\i =  3 - *x\i 
  ForEver
:!: Bild
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Ich wollt unbedingt n Modulo drin haben :cry: :mrgreen:
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

is ja auch banane...

hat auch unterschiedliche anwendungsmöglichkeiten:
deins isn "glide", meins isn "flipflop"...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten