Deutsch
Forum

nProc - wie funktioniert das ?

 

Georg
Teles
Hallo Forum,

ok, soweit ich verstehe geht das Kompilieren und Linken nur über den Präkompiler XPSE ... sprich der ganze Weg von .PRF zu .EXE geht über

AddString und SendString scheint nProc nicht zu mögen, da steht dann
"Warnung undeklarierte Funktion: SENDSTRING" naja, versuche später es in nProc zu umgehen ...

zurück zum Problem, das ist der Code, der als nProc kompiliert werden soll
KompilierenMarkierenSeparieren
nProc cr2

    Parameters File$,fs&

    If fs& MOD 2 = 0

        s% = (fs&\2)-1

    Else

        s% = (fs&\2)

    EndIf

    WhileLoop 0,s%

        p% = p%+word(fs#,&loop*2)

        If p% > 65534

            p% = (p%-65535)

        endif

    EndWhile

    p% = (p%+fs&)
    Return p%

EndProc


Selbstverständlich sind Variablen s%,p%,fs# global deklariert...
... und das ist die Fehlermeldung beim Kompilieren



---
selbst bei kleinen Codes wie diesem bekomme ich eine Fehlermeldung:
KompilierenMarkierenSeparieren
 {$cleq}
cls
print rechne(2,4)

nProc rechne

    parameters a&,b&
    a& = a&*b&
    return Str$(a&)

endproc

Waitinput



was mache ich Falsch mit dem XPSE ?

133 kB
Hochgeladen:15.04.2013
Ladeanzahl117
Herunterladen
39 kB
Hochgeladen:15.04.2013
Ladeanzahl119
Herunterladen
 
XProfan 10
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

15.04.2013  
 



Grüße!

Zunächst mindestens XProfan11 oder FreeProfan nutzen -
das letzte Beispiel von Dir ist fehlerfrei und funzt ganz normal.

Die Proc cr2 jedoch ist fehlerhaft,
auf Anhieb kann ich erkennen das s% nicht lokal deklariert ist und dieser Datentyp mit %
ist in nProcs ohnehin &. Hier nochmal die Datentypen: [...] 

Dort auf der Seite steht links auch die Funktionsreferenz,
SendString und SendKey soll man sich danach selbst bauen per SendMessage.
Könnte man dann gleich hier [...]  mit aufnehmen.

fs# ist lokal auch nicht deklariert, es gibt in nProcs aus wichtigen Gründen nur lokale
Variablen und per Parameter übergebene: [...]  ,
auf Globale kann man per Global [...]  _lesend_ zurückgreifen -
hier aber nur long. Bereichsvariablen gibt es in nProc nicht weil unnötig,
dort läuft alles direkt per Handle also auch wieder long: [...] 

Tip: Ums noch schneller als schnell zu machen unnötige Klammern bei
Rechenoperationen weglassen. So ist s&=fs&\2-1 schneller als s&=(fs&\2)-1 und
noch schneller ist s&=fs&; div s&,2; sub s&,1
 
15.04.2013  
 




Georg
Teles
guten Morgen,

danke das klärt erstmal Vieles, ich habe von vorn herein nur mit XProfan 10 gearbeitet dann studier ich das und teste mit FreeProfan erst einmal ...
 
XProfan 10
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

15.04.2013  
 



 
15.04.2013  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.438 Betrachtungen

Unbenanntvor 0 min.
Gast.081516.07.2024
Matthias Arlt22.06.2020
iF16.04.2016
Georg Teles07.01.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (2x)
Georg Teles (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