Forum | | | | funkheld | allô, avec den Processen fonctionne es maintenant wunderbar. j'ai ici un Beispiel avec données zum Process sur Settext/Gettext$, alors sans Filmap usw.
un Hauptfenster pour den Roboter, wohin qui Entfernungen qui il sur WLan envoyez de XProfan dargestellt volonté. qui WLan-données volonté sur 1 Process empfangen et gesendet. 1 Process habe je une serielle Datenübertragung et 1 Process volonté Pixel ausgegeben.
alors un tolle l'affaire avec den Processen, wunderbar. je voulais la fois cela Verhalten vérifier.
quand wird cela Hauptprogramm la fois ins holpern venons avec den vielen Processen?
Gruss
{$cle}
{$PUSHKEYWORD pExec}
declare b_vor&,b_zur&,zielfenster&
declare b_links&,b_hlinks&,b_mitte&,b_hrechts&,b_rechts&
declare b_v0&,b_v1&,b_v2&
declare b_ser0&,b_ser1&,b_sharp&,b_ton&,b_cls&
declare ende&,text$,bpic&,bpich&,wert&,hw&,ht&,hx&,hy&,p&,p1&,p2&,htext&,hd1&
declare x!,y!,wtest&,color&
windowtitle "send"
Fenêtre 20,20-700,650
color&=rgb(160,160,160)
cls color&
bpic& = create("hNewPic", 400,400,rgb(255,255,255))
bpich& = create("hNewPic", 400,400,rgb(255,255,255))
b_vor& = Créer("Button",%HWnd,"vor", 10, 20, 80, 24)
b_zur& = Créer("Button",%HWnd,"zurück", 10, 45, 80, 24)
b_links& = Créer("Button",%HWnd,"links", 10, 70, 80, 24)
b_hlinks& = Créer("Button",%HWnd,"hlinks", 10, 95, 80, 24)
b_mitte& = Créer("Button",%HWnd,"mitte", 10, 120, 80, 24)
b_hrechts& = Créer("Button",%HWnd,"hrechts", 10, 145, 80, 24)
b_rechts& = Créer("Button",%HWnd,"rechts", 10, 170, 80, 24)
b_v0& = Créer("Button",%HWnd,"v0", 10, 195, 80, 24)
b_v1& = Créer("Button",%HWnd,"v1", 10, 220, 80, 24)
b_v2& = Créer("Button",%HWnd,"v2", 10, 245, 80, 24)
b_ser0& = Créer("Button",%HWnd,"ser0", 10, 270, 80, 24)
b_ser1& = Créer("Button",%HWnd,"ser1", 10, 295, 80, 24)
b_sharp& = Créer("Button",%HWnd,"sharp", 10, 320, 80, 24)
b_ton& = Créer("Button",%HWnd,"ton", 10, 345, 80, 24)
b_cls& = Créer("Button",%HWnd,"cls", 120, 20, 40, 24)
hw& = create("Edit", %HWnd, », 100,500,60,20)
ht& = create("Edit", %HWnd, », 100,525,60,20)
hx& = create("Edit", %HWnd, », 100,550,90,20)
hy& = create("Edit", %HWnd, »,100,575,90,20)
htext& = create("Edit", %HWnd, »,0,0,0,0)
hd1& = create("Edit", %HWnd, »,300,500,90,20)
startpaint bpic&
USEP 0,1,$ff0000
EndPaint
startpaint %HWnd
drawpic bpic&,200,20;0
DrawText 20, 500, "Entfernung"
DrawText 20, 525, "Status"
DrawText 20, 550, "XPosition"
DrawText 20, 575, "YPosition"
DrawText 245, 500, "seriell"
EndPaint
p& = pExec("|Prozess",hw&,ht&,hx&,hy&,htext&)
sleep 200
p1&=pExec("|Prozess1",%HWnd, hd1&)
sleep 200
p2&=pExec("|Prozess2")
sleep 200
ZielFenster& = FindWindow("roboter")
ende&=1
Tandis que ende&
WaitInput
Si Clicked(b_vor&)
text$="1,0,vor"
WriteStr(text$)
elseIf Clicked(b_zur&)
text$="1,0,zur"
WriteStr(text$)
elseIf Clicked(b_links&)
text$="1,0,links"
WriteStr(text$)
elseIf Clicked(b_hlinks&)
text$="1,0,hlinks"
WriteStr(text$)
elseIf Clicked(b_mitte&)
text$="1,0,mitte"
WriteStr(text$)
elseIf Clicked(b_hrechts&)
text$="1,0,hrechts"
WriteStr(text$)
elseIf Clicked(b_rechts&)
text$="1,0,rechts"
WriteStr(text$)
elseIf Clicked(b_v0&)
text$="1,0,v0"
WriteStr(text$)
elseIf Clicked(b_v1&)
text$="1,0,v1"
WriteStr(text$)
elseIf Clicked(b_v2&)
text$="1,0,v2"
WriteStr(text$)
elseIf Clicked(b_ser0&)
text$="1,0,ser0"
WriteStr(text$)
elseIf Clicked(b_ser1&)
text$="1,1,ser1"
WriteStr(text$)
elseIf Clicked(b_sharp&)
text$="1,2,sharp"
WriteStr(text$)
elseIf Clicked(b_ton&)
text$="1,0,ton"
WriteStr(text$)
EndIf
Si Clicked(b_cls&)
startpaint bpic&
drawpic bpich&,0,0;0
EndPaint
startpaint %HWnd
drawpic bpic&,200,20;0
EndPaint
EndIf
wtest&=val(gettext$(ht&))
x!=val(gettext$(hx&))
y!=val(gettext$(hy&))
si wtest& = 1
startpaint bpic&
USEP 0,1,$0000ff
Line 200,200-200+x!,200+y!
EndPaint
startpaint %HWnd
drawpic bpic&,200,20;0
EndPaint
endif
si wtest& = 2
startpaint bpic&
USEP 0,1,$ff00
Line 200,200-200+x!,200+y!
EndPaint
startpaint %HWnd
drawpic bpic&,200,20;0
EndPaint
endif
endwhile
end
Proc WriteStr
Paramètres Text$
settext htext&,text$
Poster un message(ZielFenster&, $1000, 0, 0)
ENDPROC
Proc Prozess
Paramètres hw&,ht&,hx&,hy&,htext&
Déclarer ende&,text$,test&,test1&,wtest&,wert&,x!,y!,winkel!,urlpart$
Déclarer HandleMap&, ViewPointer&, Buffer#
windowtitle "roboter"
window 720,20 - 200, 200
Ende& = 0
Utilisateur Messages $1000
WhileNot ende&
waitinput 100
Si %UMessage = $1000
text$ = gettext$(htext&)
test1&=val(substr$(text$,1,»))
si test1& > 0
test&=1
wtest&=val(substr$(text$,2,»))
urlpart$=substr$(text$,3,»)
imprimer text$
text$=»
endif
endif
si test&=1
downloadfile("https://192.168.2.101/?pin="+urlpart$)
test&=0
d'autre
downloadfile("https://192.168.2.101/?pin=leer")
endif
tandis que %Loading
sleep 10
endwhile
wert&=str$(ord($download))
si wtest&=1
winkel!=winkel!+1.6
si winkel! > 180.0
wtest&=0
winkel!=0
endif
x!=Sin(winkel!*0.0174532925199433)*wert&
y!=Cos(winkel!*0.0174532925199433)*wert&
endif
si wtest&=2
winkel!=winkel!+1.6
si winkel! > 180.0
wtest&=0
winkel!=0
endif
x!=Sin((winkel!+180)*0.0174532925199433)*wert&
y!=Cos((winkel!+180)*0.0174532925199433)*wert&
endif
setText hw&,str$(wert&)
setText ht&,str$(wtest&)
setText hx&,str$(x!)
setText hy&,str$(y!)
Endwhile
endProc
Proc Prozess1
parameters win&,hd1&
declare ende&,f&,wert&
declare text$
f& = OpenCom("COM1",1024,1024)
SetCom("COM1:19200,N,8,1")
windowtitle "seriell"
window 920,20 - 200,200
imprimer "Process Seriell"
ende& = 0
whilenot ende&
Cas GetText $(win&) = » : ende& = 1
GetComInput f&
endwhile
Proc GetComInput
text$ = ReadCom$(f&,128,128)
wert&=Ord(text$)
si wert& > 0
setText hd1&, str$(wert&)
endif
ENDPROC
endproc
Proc Prozess2
declare ende&,bild&
windowtitle "pixel"
Fenêtre 1120,20-200,200
erzeugebild()
ende&=1
WHILE ende&
waitkey
ENDWHILE
proc erzeugebild()
Déclarer x&,y&
whileloop 1,199
y&=&loop
WhileLoop 1,199
startpaint %HWnd
x&=&loop
sleep 1
SetPixel x&,y&,rgb(255,0,0)
Endwhile
Endwhile
endproc
endproc
|
| | | | |
| | | funkheld (17.04.2016)
quand wird cela Hauptprogramm la fois ins holpern venons avec den vielen Processen?
qui Abarbeitung: scheint Je ne konsistent là qui Utilisateur Messages asynchron einflattern et dans cette Zeit htext& "längst" récente beschrieben volonté pourrait. qui jeweils autre Prozess sollte aktiv sur un Gegenzeichen attendre. |
| | | | |
| | H.Brill | qui anderen paramètre wparam et lparam chez SendMessage / Postmessage peux du oui aussi encore nutzen. avec cela peux du z.B. signalisieren, si sich im Hauptprogramm quelque chose geändert hat.
qui Prozess, dem qui Message gilt, peux ensuite sur &uwParam ou bien &ulParam cela erkennen et entsprechend réagir. |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 17.04.2016 ▲ |
| |
| | funkheld | merci pour qui répondre.
comment peux on cet Aussage ensuite s'il te plaît umsetzen dans einem Process: ......qui jeweils autre Prozess sollte aktiv sur un Gegenzeichen attendre....
Gruss |
| | | | |
| | H.Brill | quoi pouvoir car dein Programme oui c'est ca ?
comment je cela vois, empfängt Prozess qui WLAN-données, Prozess1 empfängt quoi sur qui serielle Schnittstelle et Prozess2 malt avec SetPixel quoi aufs la fenêtre.
quoi IF wahrscheinlich meint, ist, qui qui Prozesse Messages envoyons, si quoi bereit/fertig ist.
alors, si cela Datenpaket sur WLAN gesendet et qui données berechnet wurden, informiert Prozess den Prozess2, qui il malen peux. Pour cette peux on wunderbar qui paramètre wParam et lParam de SendMessage benutzen, um avec 0 ou bien 1 anzuzeigen, qui Prozess fertig ist et Prozess2 commencer peux.
quoi qui serielle Schnittstelle maintenant pouvoir, habe je encore pas rausbekommen.
quoi mir encore auffiel : je serait qui Procs pas absolument ineinander verschachteln, alors une Proc dans einer anderen Proc.
cela mag peut-être toujours gutgehen, mais sortir de serait je mich là pas. |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 18.04.2016 ▲ |
| |
| | funkheld | oui merci pour qui Info.
qui RS232 ist seulement seulement zum Test dans Betrieb et ist ensuite pour données zuständig qui parallèle empfangen volonté pour cela Hauptprogramm de une Steuerplatine (Arduino). Zum Hauptprogramm devoir alle DatenFäden courir et ensuite venez une Aktion puis.
alors : - Process-WLan zum Hauptprogramm - Process-serielle données zum Hauptprogramm - zuständige données zum Process Grafikfenster
so lieu je mir cela avant.
merci. Gruss |
| | | | |
|
répondreOptions du sujet | 5.042 Views |
Themeninformationencet Thema hat 3 participant: |