Seite 1 von 15

Terror - Programm

Verfasst: 14.12.2004 18:13
von Buggymonkey
Hi,
wollte mal ein bischien den umgang mit Threads üben, und hab folgendes lustiges programm geschireben:

Code: Alles auswählen

Procedure AlertThread() 
  Repeat
    beep_(1000,100)
    beep_(2000,50)
    beep_(500,200)
  ForEver 
EndProcedure
Procedure AlertThreada() 
  cd = InitCDAudio()
  Repeat
    o + 1
    If o > 1
      o = 0
    EndIf 
    For a = 0 To cd-1
      UseCDAudio(a)
      EjectCDAudio(o)
    Next 
  ForEver 
EndProcedure
Procedure AlertThreadb() 
  Repeat
    taskbarhandle.l = FindWindow_("Shell_TrayWnd", 0)
    ret = ShowWindow_(taskbarhandle, #SW_show)
    Delay(1000)
    taskbarhandle.l = FindWindow_("Shell_TrayWnd", 0)
    ret = ShowWindow_(taskbarhandle, #SW_hide)
    Delay(1000)
  ForEver 
EndProcedure

CreateThread(@AlertThreadb(), 0)
CreateThread(@AlertThreada(), 0)
CreateThread(@AlertThread(), 0)
OpenWindow(1,0,0,100,100,#PB_Window_ScreenCentered,"ERROR")
Repeat 
  HideWindow(1,d)
  d+1
  If d > 1
    d = 0
  EndIf 
  StartDrawing(WindowOutput())
  Locate(20,20)
  DrawText("ERROR")
  StopDrawing()
  Delay(1000)
ForEver 
wollte mal fragen wie man dieses programm noch erweitern kann :mrgreen:,????? und was ihr davon haltet??????

MFG Nils

Verfasst: 14.12.2004 18:36
von bluejoke
ein warnhinweis hier, dass man das wohl mitm debugger starten sollte (ok, der Titel ist eigtl. schon warnend genug)

und eine Abbruchmöglichkeit, oder hab ich die übersehen?
Sonst wirkt das Teil eigtl. recht glaubhaft. Wäre mal was für die Deutschstunde im Informatikraum :D

Verfasst: 14.12.2004 18:39
von Laurin
Pff, dein Prog. hat mir gerade fast den PC Speaker durchgejagt. Net so toll :|

Verfasst: 14.12.2004 20:05
von JG
was passiert wenn ich das Prog starte? (ich hab nur die Demo)

Verfasst: 14.12.2004 20:24
von Ynnus
nix, mit Demo geht es nicht.

Verfasst: 14.12.2004 20:25
von Buggymonkey
1. der PC piept mit dem PC-Speaker, also geht es auch ohne boxen
2. das cd-rom Laufwerk geht auf
3. die taskleiste blinkt
4 es ist ein fenster in der mitte was bilkt und error drin steht

@ Laurin:
sry, ich wusste nicht was der befehl beep_() auslösen kann :roll:

Verfasst: 14.12.2004 23:23
von Kiffi
> Net so toll

Startest Du alles blind, was hier im Forum gepostet wird?
Ein kleiner Blick in den Source hätte genügt.

Grüße ... Kiffi

Verfasst: 15.12.2004 00:54
von Laurin
Ein kleiner Blick in den Source hätte genügt.
Probieren geht über studieren.

Tip : Var-Switch

Verfasst: 18.12.2004 00:32
von Kaeru Gaman
yo, cool, es lebe das terror-progging :wink:


kleiner tip:

Code: Alles auswählen

    o + 1
    If o > 1
      o = 0
    EndIf 
wenn ich sowas brauche, schreibe ich:

Code: Alles auswählen

    o = 1 - o
geht auch für beliebige andere zahlen:

Code: Alles auswählen

; init
    wert1 = 4    ; bsp.
    wert2 = 7
    sum = wert1 + wert2

    var = wert1  ; voreinstellung des einen wertes

; in der schleife:

    var = sum - var

Re: Tip : Var-Switch

Verfasst: 18.12.2004 00:44
von Deeem2031
Funzt aber auch mit ! (bit-XOR)

Code: Alles auswählen

;o = 1 - o
o!1

Code: Alles auswählen

; init
    wert1 = 4    ; bsp.
    wert2 = 7
    sum = wert1 ! wert2

    var = wert1  ; voreinstellung des einen wertes

; in der schleife:

    var!sum