Deutsch
Forum

Erledigt: Einfache Berechnung im nproc

 

E.T.

KompilierenMarkierenSeparieren
 {$IQ}
Declare A&
A& = 120
cls
Print "Berechne : 100/";@Str$(A&)+"*100 :"
Print ""
Print "Ergebnis XProfan :",Rechnen_1()
Print "=============================================="
Print "Ergebnis nProc : ",Rechnen_2()
waitinput
end

Proc Rechnen_1

    Return @str$(100/A&*100)

EndProc

nProc Rechnen_2

    Global A&
    Declare X&
    X& = 100/A&*100
    Return str(X&)

EndProc


Egal wie ich A& an nproc übergebe (wie hier global oder per Parameter), es kommt immer 0 raus
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
22.03.2010  
 



Natives Profan ist typenecht und (bisher) ohne automatische Typenumwandlung (aufpassen, übersieht man vieles schnell!), mit XProfan rechnest Du oben Float und in der NProc ganzzahlig Long, wenn Du oben mit XProfan auch ganzzahlig rechnest, kommts selbe raus. Könntest mit Nproc aber auch Float rechnen, käme auch selbe raus. ^^

Für Ganzzahlige in Proc einfach / durch ersetzen, in nProc jedoch gibt es aber (eigentlich) nicht - die Division richtet sich nach dem Datentyp.

"Global" brauchst auch nicht, braucht man selten ^^ - einfach alles was man braucht als Parameter übergeben.

So wäres es "richtiger" und so funzt es auch, hier mal ein paar Beispiele für Long und Float:
KompilierenMarkierenSeparieren
Gemerkt/Separiert von http://xprofan.com/t/?8144
 {$IQ}
Declare A&,b!
A& = 120
B! = 120.0
cls
Print "Berechne : 100/";@Str$(A&)+"*100 :"
Print ""
Print "Ergebnis XProfan :",Rechnen_1(a&)
Print "=============================================="
Print "Ergebnis nProc : ",Rechnen_2(a&)
Print ""
Print "Ergebnis XProfan :",Rechnen_3(b!)
Print "=============================================="
Print "Ergebnis nProc : ",Rechnen_4(b!)
waitinput
end

Proc Rechnen_1

    parameters a&
    Return str$(100A&*100)

EndProc

nProc Rechnen_2

    parameters a&
    Return str$(100A&*100)

EndProc

Proc Rechnen_3

    parameters a!
    Return str$(int(100.0/A!*100.0))

EndProc

nProc Rechnen_4

    parameters a!
    Return str$(int(100.0/A!*100.0))

EndProc


Achtung: Floatkonstanten immer mit Dezimalpunkt angeben, natives Profan hat (noch) keine automatische Typenumwandlung.

Als String per Str$ müsstest zumindest fürs Print nicht zurückgeben, könntest auch direkt a& oder a! zurückgeben - ist aber vlt. Absicht. ^^
 
23.03.2010  
 




E.T.
Danke, David. Bist wie immer eine große Hilfe (hab halt mit dem Assembler-Zeugs (noch) nix am Hut).


Wenn dann mal XPSE noch die restlichen Sachen (z.B. für Gridboxen) kann, lernt sich auch Assembler ganz gut, da ich mir gern mal anschaue, was da so rauskommt...
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
23.03.2010  
 



Klar, aber vergiss nicht, dass es nicht Aufgabe von NProcs ist, Funktionalitäten des XProfan nachzubilden. Eher ist es so, dass man sich damit Funktionen schreiben kann, die nicht im XProfan enthalten sind. Andernfalls, wenn man z.B. SetText für GridBoxen benötigt, dann - so ists zumindest gedacht - programmiert man sich diese Funktion eben selbst - also per NProcs und APIs und ASM wo man es halt andenkt. Notwendig ist ASM jedoch nicht (mehr) - kann man imho jetzt schon "alles" mit NProcs programmieren - ja sogar Treiber.
 
23.03.2010  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.898 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller26.04.2015
Georg Teles15.04.2013
GDL14.04.2013
Andreas Koch08.08.2012
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (2x)
E.T. (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie