Zeit als Bitmapfont

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ozzi789

Betreff: Zeit als Bitmapfont

BeitragDo, Jul 17, 2008 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Ich hab hier einen kleinen Code , welcher die Zeit mit einer Bitmapfont zeichnet
Code: [AUSKLAPPEN]



window = CreateWindow("Bitmap", 800, 0, 480, 320, 0, 5)
can = CreateCanvas(0, 0, 480, 320, window)

aa = LoadAnimImage ("c:\09.bmp", 30, 30, 0, 11)
MaskImage (aa,255,0,255)

SetBuffer CanvasBuffer(can)




while not keyhit(1)



curt$=CurrentTime$()
curd$=CurrentDate$()

hour1$=Left (curt$,1)
hour2$=Mid  (curt$, 2,1)
min1$= Mid  (curt$, 4,1)
min2$= Mid  (curt$, 5,1)
sec1$= Mid  (curt$,7,1)
sec2$= Mid  (curt$,8,1)


DrawImage aa,30,0,hour1$
DrawImage aa,60,0,hour2$
DrawImage aa,90,0,10
DrawImage aa,120,0,min1$
DrawImage aa,150,0,min2$
DrawImage aa,180,0,10
DrawImage aa,210,0,sec1$
DrawImage aa,240,0,sec2$


FlipCanvas can
Wend
End


Ich hab da noch ein paar sachen rausgenommen, wieso zeichnet es die Sekunden immer falsch ?
Also es uodatet die Zahl nur jede 2-3 sekunden Sad


mfg ozzi
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

mabox

BeitragDo, Jul 17, 2008 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
solltest vllt noch hinschreiben das dein Code nur für B+ ist...
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

ozzi789

BeitragDo, Jul 17, 2008 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja das ist er
window = CreateWindow("Bitmap", 800, 0, 480, 320, 0, 5) gibts doch nua bei b+ Smile


Kann mia da niemand helfen ? Crying or Very sad


Code: [AUSKLAPPEN]
window = CreateWindow("My Simple Organizer", 800, 0, 480, 320, 0, 5)
can = CreateCanvas(0, 0, 480, 320, window)

m6=CreateMenu("Shortcut hinzufügen", 6, WindowMenu(window))
m7=CreateMenu("Program", 7,m6)
m8=CreateMenu("Bild", 8,m6)
m3=CreateMenu("Text", 9,m6)
m1=CreateMenu("Tools", 1, WindowMenu(window))
m2=CreateMenu("Rechner", 2,m1)
m3=CreateMenu("Notepad", 3,m1)
m4=CreateMenu("Paint", 4,m1)
m5=CreateMenu("WMP", 5,m1)
m10=CreateMenu("Exec", 10, WindowMenu(window))
m11=CreateMenu("Eintrag löschen", 11, WindowMenu(window))


aa = LoadAnimImage ("c:\09.bmp", 30, 30, 0, 11)
MaskImage (aa,255,0,255)

SeedRnd MilliSecs ()

;RequestFont
;font = LoadFont (schriftart$, höhe [, fett] [, kursiv] [, unterstrichen])

gadget = CreateListBox(230, 50, 220, 200, can)

file_p$="exe"

x_mitte = 400
y_mitte = 300
radius = 100

a=OpenFile ("c:\data.sop")
If Not FileType ("c:\data.sop") <> 0 Then
WriteFile ("c:\data.sop")
a=OpenFile ("c:\data.sop")
EndIf

UpdateWindowMenu window
SetBuffer CanvasBuffer(can)






While Not KeyHit(1)
Cls

If unread=0
unread=1
While Not Eof (a)
n$=ReadLine$ (a)

AddGadgetItem gadget,n$
UpdateWindowMenu window      
Wend
EndIf

If  newfile=1 And unread=1
newfile=0
ClearGadgetItems gadget
While Not Eof (a)
n$=ReadLine$ (a)
AddGadgetItem gadget,n$
UpdateWindowMenu window      
Wend
EndIf

Select WaitEvent(3000)

   Case $803
     End



   Case $1001

If EventData() ="2"
ExecFile "calc.exe"
EndIf


If EventData() ="3"
ExecFile "notepad.exe"
EndIf


If EventData() ="4"
ExecFile "mspaint.exe"
EndIf

If EventData() ="5"
ExecFile "wmplayer.exe"
EndIf



If EventData() ="7"
new_p$=RequestFile ("Shortcut erstellen",file_p$,0)
Print new_p$
WriteLine (a,new_p$)
CloseFile (a)
a=OpenFile ("c:\data.sop")
newfile=1
EndIf



If EventData() ="10"
index =SelectedGadgetItem (gadget)
Print index
af=OpenFile ("c:\data.sop")
While Not dd>index
dd=dd+1
s$=ReadLine (af)
Wend
dd=0
Print s$
CloseFile (af)
ExecFile s$
EndIf


If EventData() ="11"
index =SelectedGadgetItem (gadget)
RemoveGadgetItem gadget, index
af=OpenFile ("c:\data.sop")
WriteFile ("c:\temp.sop")
oaf=OpenFile ("c:\temp.sop")

While Not dd>index-1
dd=dd+1
s$=ReadLine (af)
WriteLine (oaf,s$)
Wend 

dd=0

ss$=ReadLine (af)

While Not s$=""
s$=ReadLine (af)
WriteLine (oaf,s$)
Wend
CloseFile (oaf)
CloseFile (af)


CopyFile ("c:\temp.sop","c:\data.sop")

EndIf

End Select


curt$=CurrentTime$()
curd$=CurrentDate$()

hour1$=Left (curt$,1)
hour2$=Mid  (curt$, 2,1)
min1$= Mid  (curt$, 4,1)
min2$= Mid  (curt$, 5,1)
sec1$= Mid  (curt$,7,1)
sec2$= Mid  (curt$,8,1)


DrawImage aa,30,0,hour1$
DrawImage aa,60,0,hour2$
DrawImage aa,90,0,10
DrawImage aa,120,0,min1$
DrawImage aa,150,0,min2$
DrawImage aa,180,0,10
DrawImage aa,210,0,sec1$
DrawImage aa,240,0,sec2$




FlipCanvas can
Wend
CloseFile (a)
End



Bei dem Code tuts lagen , wen ich nur die Zahlen male dann nicht Confused

EDIT :


Select WaitEvent(3000)
Hab ich aus nem beispiel , is ja klar 3000 millisecs = 3 sekunden -.-*

Mit Select WaitEvent(1000) funktionierts Smile

Edit2 :

Waitevent (900) weil es sonst immer noch leicht lagt Very Happy
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Thunder

Betreff: Re: Zeit als Bitmapfont

BeitragFr, Jul 18, 2008 9:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde den Code einmal so ändern

Code: [AUSKLAPPEN]



window = CreateWindow("Bitmap", 800, 0, 480, 320, 0, 5)
can = CreateCanvas(0, 0, 480, 320, window)

aa = LoadAnimImage ("c:\09.bmp", 30, 30, 0, 11)
MaskImage (aa,255,0,255)

SetBuffer CanvasBuffer(can)




while id<>$803
Cls
id=WaitEvent(1)

curt$=CurrentTime$()
;curd$=CurrentDate$()

hour1$=Left (curt$,1)
hour2$=Mid  (curt$, 2,1)
min1$= Mid  (curt$, 4,1)
min2$= Mid  (curt$, 5,1)
sec1$= Mid  (curt$,7,1)
sec2$= Mid  (curt$,8,1)


DrawImage aa,30,0,Int(hour1$)
DrawImage aa,60,0,Int(hour2$)
DrawImage aa,90,0,10
DrawImage aa,120,0,Int(min1$)
DrawImage aa,150,0,Int(min2$)
DrawImage aa,180,0,10
DrawImage aa,210,0,Int(sec1$)
DrawImage aa,240,0,Int(sec2$)


FlipCanvas can
Wend
End

probiers mal so, ich hab das Bild nicht.


Zitat:

EDIT :


Select WaitEvent(3000)
Hab ich aus nem beispiel , is ja klar 3000 millisecs = 3 sekunden -.-*

Mit Select WaitEvent(1000) funktionierts

Edit2 :

Waitevent (900) weil es sonst immer noch leicht lagt


ja, logisch. WaitEvent wartet wenn du 900 als Parameter übergibst genau 900 Millisecunden darauf, das Etwas passiert, wenn vorzeitig etwas passiert geht das Programm weiter, also bei Programmen mit Canvas etc. würde ich immer WaitEvent(1) schreiben da hast du nur 1 Millisecunde verzögerung und das reicht auch.

Außerdem würde ich den Rückgabewert von Waitevent(1) nicht direkt untersuchen sondern zuerst in einer id Variable speichern.


Aber eine Frage bleibt noch: Wieso willst du die Zeit unbedingt Zeichnen?
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

ozzi789

BeitragFr, Jul 18, 2008 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil ich es cool finde einfach so mal als Test mit Bitmaps zu arbeiten Very Happy
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group