Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249684 (11120)

| Suchen
| Zurück zur Übersicht

Autor | Thema: umsetzung hakt
Roland,Hilfe....
| Datum:27.05.01 12:58 (ul.Boett@t-online.de) |
hallo roland, ich wende mich als anfänger am besten direkt an den profanerfinder.ich habe folgendes basic umgeschrieben,nur laufen tut es nicht.wo liegt der fehler? basic: declare b%,c%,n%,x%,y%,A$ windowstyle $0230 window SUB(DIV(%MaxX,2),400),SUB(DIV(%MaxY,2),300)-800,600 let c%=@opencom("com2",10000,10000) @setcom("com2:2400,N,8,2") @writecom(c%,@chr$(193)) let A$=@readcom$(c%,255)) let x%=@ord(left$(A$,1)) let n%=0 whilenot @gt(n%,7) let b%=@pow(n%,2) let a%=@and(x%,b%) inc n% if @equ(a%,0) print "0" else print "1" endif .... basic war so: open "com2:2400,N,8,2" for random AS #1 print#1,chr$(193) a$=INPUT$(2,#1) B=ASC(LEFT$(A$,1)) for n=7 to 0 step -1 if (B AND (2^N))=0 then prin "0";else print "1" next n .... es wird ein befehl ,an com2 gesandt,weiter an das märklin interface,weiter an das rückmeldemodul.dieses gibt seine kontaktstände an das interface zurück welches 1 bzw 2 antwortbytes an die software sendet.diese gibt die kontaktzustände am monitor aus.die ganzen printbefehle habe ich zwecks übersicht weggelassen da ich kein gesetzter programmierer bin habe ich bestimmt irgendwo murcks gemacht.habe mir die übersetzunf nur per handbuch zusammengestückelt.andere basicteile wwaren rel.leicht umzusetzen vielen dank für hilfestellungen ulrich
Thorsten
| Datum:27.05.01 17:24 (galaxy@mrk-soft.de) |
Hallo, Aus meine alten Q-Basic Zeiten sollte das doch für mich kein Problem sein, also hie die Lösung für dich ... Hattest dich zum einem in der SCHLEIFE vertan, läuft rückwärts, zum anderen die Potenz, die muss 2 ^x sein und nicht umgekert, x ^2 !!!! Was hier gemacht wird ist nichts weiter, als zu prüfen, ob ein Bit (von insg. 8) gesetzt ist oder nicht. Viel Spass .... Thorsten ps: lass dich nicht durch die kommentare hinter den zeilen verwirren, die zeigen nur auf, wies in orginal Basic war. 'Fenster erstellen, variablen declarieren, profan spezifiscch windowstyle $0230 window SUB(DIV(%MaxX,2),400),SUB(DIV(%MaxY,2),300)-800,600 declare b%,c%,n%,x%,y%,A$ let c%=@opencom("com2",10000,10000) 'com öffnen @setcom("com2:2400,N,8,2") 'com parameter @writecom(c%,@chr$(193)) 'sende zeichen let A$=@readcom$(c%,2) '2 zeichen lesen let b%=@ord(left$(A$,1)) '1 zeichen let n%=7 b% = 1 While @gt(n%,-1) 'schleife let x%=@pow(2,n%) ' errechne bit let y%=@and(x%,b%) ' und teste mit bit ' in Basic (B AND ( 2^N)) = 0 if @equ(y%,0) ' IF ..... = 0 then print "0" else print "1" endif dec n% 'step -1 in Basic bei FOR ... NEXT Wend waitkey
Thorsten
| Datum: 27.05.01 17:29 (galaxy@mrk-soft.de) |
>hallo roland, ich wende mich als anfänger am >besten direkt an den profanerfinder.ich habe >folgendes basic umgeschrieben,nur laufen tut es >nicht.wo liegt der fehler? Hi Ulrich, du solltest auch ruhig den anderen vertrauen, auch wenn Roalnd Profan Quasi "erfunden" hat, sind wir Anwender, die schon mehr als 4 Jahre mit Profan Arbeiten, recht fit darin.

| Zurück zur Übersicht