Forum | | | | - Seite 1 - |
| | Hallo,
also nun da ich ja schon ein wenig weiter bin mit meinem Programm habe ich hier noch die kleine Schwierigkeit den Taster also per Mousepressed mit dem Rolltor zu verknüpfen. Bedeutet ich will das Rolltor per Taster (aber nur solange er gedrückt wird) hoch und runterfahren lassen, sobald man die Taste loslässt soll das Tor aber stehen bleiben. KompilierenMarkierenSeparierenWindow 1,1 - 1024,768
cls
declare hBild1&,hBild2&,hBild3&,hBild4&,hBild5&,hBild6&,hBild7&,hBild8&\
,hBild9&,hBild10&,hBild11&,hBild12&,hBild13&,hBild14&,hBild15&,hBild16&
Proc BMP
hBild1& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tagn0.BMP")
hBild2& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tagn1.BMP")
hBild3& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tart0.BMP")
hBild4& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tart1.BMP")
hBild5& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\nota1.BMP")
hBild6& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\trt1.BMP")
hBild7& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\trt0.BMP") ;Störungsleuchte ein
hBild8& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tabl0.BMP")
hBild9& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tge0.BMP")
hBild10& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\tgn1.BMP")
hBild11& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\sertar1.BMP")
hBild12& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\sertar0.BMP")
hBild13& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\objekte\\druckzr.BMP")
hBild14& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\objekte\\emotl1.BMP")
hBild15& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\Schalter\\lichtschr.BMP")
hBild16& = @create ("HPic",-1,"D:\\Xprofan\\BMP\\objekte\\rolltor.BMP")
Endproc
Proc BMP1
roundrect 600,130-500,300;30,30
rectangle 1,290-200;0
DrawSizedPic hBild1&,40,50 - 30,30;0
DrawSizedPic hBild1&,40,210 - 30,30;0
DrawSizedPic hBild1&,40,170 - 30,30;0
DrawSizedPic hBild1&,40,250 - 30,30;0
DrawSizedPic hBild3&,40,130 - 30,30;0
DrawSizedPic hBild3&,40,10 - 30,30;0
DrawSizedPic hBild5&,120,10 - 30,30;0
DrawSizedPic hBild8&,120,50 - 30,30;0
DrawSizedPic hBild6&,120,130 - 30,30;0
DrawSizedPic hBild9&,120,170 - 30,30;0
DrawSizedPic hBild10&,120,210 - 30,30;0
DrawSizedPic hBild10&,225,125 - 30,30;0
DrawSizedPic hBild10&,225,215 - 30,30;0
DrawSizedPic hBild6&,225,305 - 30,30;0
DrawSizedPic hBild12&,255,305 - 30,30;0
DrawSizedPic hBild11&,255,215 - 30,30;0
DrawSizedPic hBild12&,255,125 - 30,30;0
DrawSizedPic hBild13&,420,305 - 30,30;0
DrawSizedPic hBild14&,420,120 - 40,40;0
DrawSizedPic hBild15&,390,350 - 30,30;0
rem DrawSizedPic hBild16&,270,130 - 160,220;0
DrawSizedPic hBild3&,510,140 - 30,30;0
DrawSizedPic hBild1&,510,180 - 30,30;0
DrawSizedPic hBild1&,510,220 - 30,30;0
DrawSizedPic hBild1&,510,260 - 30,30;0
Endproc
Proc Texte
Locate 2,2
Print "Aus"
Locate 5,2
Print "Ein"
Locate 8,5
Print "Anlage"
Locate 12,2
Print "STOP"
Locate 15,2
Print "AUF"
Locate 18,2
Print "HALB"
Locate 21,2
Print "ZU"
Locate 23,6
Print "Tor"
Locate 2,10
Print "Notaus"
Locate 5,10
Print "verriegelt"
endproc
rem Ausführung der Prozeduren
BMP
BMP1
Texte
Proc Taster1
While %mousepressed
DrawSizedPic hBild2& ,40 , 50 - 30, 30; 0
EndWhile
DrawSizedPic hbild1& ,40 , 50 - 30, 30; 0
Endproc
Proc Rolltor
mLoadBmp "D:\\Xprofan\\BMP\\Objekte\\rolltor.BMP"
startPaint -1
usepen 0,0,$FFFFFF
line 0,181 - 127,181
endPaint
endproc
Proc Torzu
whileLoop 182,0,-1
mCopyBmp 0,&loop - 127,182 > 290,140 ; 0
sleep 30
wend
endproc
Proc Torauf
Taster1
whileLoop 182
mCopyBmp 0,&loop - 127,182 > 290,140 ; 0
sleep 30
wend
endproc
Rolltor
Torzu
Torauf
While 1
waitinput
if @Mouse (40,50 - 30,30)
offset%=0
Taster1
Elseif @Mouse (40,50 - 30,90)
offset%=50
Taster1
Elseif @Mouse (40,50 - 30,140)
offset%=100
Taster1
Elseif @Mouse (10,0 - 30,190)
offset%=150
Taster1
else
@Mouse (10,160 - 30,190)
Break
Endif
Endwhile
Proc Rolltor
mLoadBmp "D:\\Xprofan\\BMP\\Objekte\\rolltor.BMP"
startPaint -1
usepen 0,0,$FFFFFF
line 0,181 - 127,181
endPaint
endproc
Proc Torzu
whileLoop 182,0,-1
mCopyBmp 0,&loop - 127,182 > 100,100 ; 0
sleep 30
wend
endproc
Proc Torauf
waitInput
whileLoop 182
mCopyBmp 0,&loop - 127,182 > 100,100 ; 0
sleep 30
wend
endproc
Rolltor
Torzu
Torauf
end
|
| | | | |
| | | | | - Seite 2 - |
| Jörg Sellmeyer | Was soll denn das sein? KompilierenMarkierenSeparieren
nur nun zeigt er mir erst das Komplettbild
Wie hättest Du es denn gern? Erst das Tor runterfahren und dann das Bild anzeigen? Im Moment schnall ich gar nicht mehr, was Du erreichen willst. Und das die Schalttafel so aussieht, wie auf dem Bild verstehe ich auch nicht. Was sollen diese komischen metallischen Dinger? |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.06.2011 ▲ |
| |
| | | Hey, das war nen Beispiel wo nur ein graues tor mit Schriftzug "Tor" geöffnet wurde. So siehts besser aus doch denke ich mache ich noch was falsch mit der Bitmap KompilierenMarkierenSeparierenWindow 1,1 - 1024,768
cls
declare torhoehe&,hBild1&,hTor1&,hwin&,bmp$,hBmp&,stBmp&
hBild1& = @create ("HPic",-1,"C:\\Bmp\\komplett.BMP")
DrawSizedPic hBild1&,0,0 - 1000,700;0
bmp$ = "C:\\Bmp\\Objekte\\rolltor.BMP"
hBmp& = Create("hSizedPic",-1,bmp$,515,205 - 328,240)
var tor&=@Create("bitmap",%hWnd,hBmp&,100,100,100,100)
while 1
waitinput 10
if external("user32","GetAsyncKeyState",1)
case torhoehe&<410 : inc torhoehe&
Elseif external("user32","GetAsyncKeyState",2)
case torhoehe& : dec torhoehe&
endif
setWindowPos tor&=515,205 - 328,torHoehe&;0
wend
|
| | | | |
| | | Das Programm soll per Taster (die runden Knöpfe links und rechts) bedient werden können, also sprich wenn du den Taster loslässt bleibt das Tor stehen, die metallischen Dinger sind Sensoren die auch am echten Tor sitzen, sobald das Tor die Position eines Sensors(LED) passiert leuchtet der Sensor kurz auf. Desweiteren sind die anderen runden Objekte Kontrollleuchten die anzeigen ob es geöffnet,eingeschaltet ist oder eine Störung meldet.
Die Codeschnipsel sind ein wenig wirr in den Posts, da ich noch für mich die beste Variante rausfinden möchte.
Soweit so gut, Tor fährt nur mach ich noch etwas mit der Bitmap des Tores falsch.... |
| | | | |
| | | Und nein er soll erst das Komplettbild anzeigen und im Bild dann das Tor herunterfahren Bin da im mom halt bissl verwirrt,aber das ist das Ziel Und sobald das dann mit den Tastern auf und zu funktioniert kann ich mich ohne Probs den Sensoren und Kontrolleuchten widmen. |
| | | | |
| | Jörg Sellmeyer | Wie ich schon geschrieben hatte: Wenn die Muster auf der Torbitmap senkrecht sind, ist das ganze problemlos so zu regeln. Wenn das Muster wagerecht ist und noch zusätzliche Muster hat, wird es schwieriger. Du kannst dann das Bild ausschnittweise (angepaßt an die jeweilige Größe des Controls) aus der Speicherbitmap in das Static-Control reinkopieren. Noch besser: Du legst Dir ein Array mit den Handles zu ca 100 Torzuständen an und "spielst" die dann sozusagen ab. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.06.2011 ▲ |
| |
| | | ah alles klar, dadurch kommen halt die Schlieren naja nu ist feierabend, ich mach mich zuhause mal ran Danke nochmal |
| | | | |
| | Jörg Sellmeyer | Du hast auch noch einen Fehler in hSizedPic: KompilierenMarkierenSeparierenhBmp& = Create("hSizedPic",-1,bmp$,515,205 - 328,240)
Es darf kein Bindestrich drin sein und es ist ein Parameter zu viel drin.
@Create("hSizedPic", N1, S, DX, DY, N2) |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.06.2011 ▲ |
| |
| | Jörg Sellmeyer | Ich versteh jetzt auch, was Du vorhin damit meintest, daß das Tor vorher zu sehen ist. Eigenartigerweise wird das Staticcontrol immer erst angezeigt, auch wenn die Größen auf Null stehen: KompilierenMarkierenSeparierenhBmp& = Create("hPic",-1,bmp$)',0,0 ,0)
var tor&=@Create("bitmap",%hWnd,hBmp&,0,0,0,0)
Vielleicht noch ein Bug in XProfan? Es hilft, wenn Du es so machst: KompilierenMarkierenSeparieren Also weit aushalb des sichtbaren Bereichs erstellen. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.06.2011 ▲ |
| |
| | | Hi, und oha Danke naja wenns nen bug ist hab ich wenigstens was ausgemerzt.... Ja das mit dem Bild stört gewaltig aber außerhalb des Bereichs ist perfekt. |
| | | | |
| | | | - Seite 3 - |
| | | Ob das ein Bug ist kann man sehen wie man will -
es ist zwar Windows das bei solchem Control das Control wohl immer erstmal in Bildgröße erzeugt aber möglicherweise XProfans Aufgabe den XProfaner von diesem "Problem" fernzuhalten. |
| | | | |
| | RGH | Hallo,
es sei mir der Hinweis gestattet, dass create("Bitmap", Fensterhandle&, Bitmaphandle&, x%, y%) nur diese vier Parameter hat und das Control immer die Größe der Bitmap hat.
Gruß Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 28.06.2011 ▲ |
| |
| | Jörg Sellmeyer | Oha - wer lesen kann ist klar im Vorteil... |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 28.06.2011 ▲ |
| |
|
AntwortenThemenoptionen | 9.164 Betrachtungen |
ThemeninformationenDieses Thema hat 5 Teilnehmer: |