Français
Forum

XPSE - nProc seltsame Rückgabe

 
- page 1 -



Georg
Teles
Guten soir,

eh bien bastel je à meinem Cryptsystem & sous Anderem voulais je un Quellcode trop quelque chose Ähnlichem ici posten et lieu fest, dass avec XPSE kompilierte Programme dans nativen Prozeduren avec Schleifen une Wert toujours um 7 größer zurückgeben comme il son sollte...

ici 2 Beispiele comme Source:

avec XProfan kompilierter Text, Procédure gibt richtigen Wert zurück (55619):
KompilierenMarqueSéparation
Declare dat#,dat&,res&
Declare wert$
Dim dat#,8
CLS 0
Word dat#,0 = 9812,3484,60000,22315
res& = cryrst_(dat#,8)
wert$ = Str$(res&)
print wert$
Waitinput

Proc cryrst_

    Parameters ber#,ps&
    Declare s&,res&

    If ps& MOD 2 = 0

        s& = (ps&\2)-1

    Else

        s& = (ps&\2)

    EndIf

    WhileLoop 0,s&

        res& = res&+word(ber#,&loop*2)

        If res& > 20000

            res& = (res&-20000)

        Endif

    EndWhile

    res& = (res&+ps&)
    Return res&

ENDPROC


haargenau selber Code dans XPSE, gibt den richtigen Wert qui um 7 größer ist (alors 55626):
KompilierenMarqueSéparation
 {$cleq}
Déclarer dat#,dat&,res&
Déclarer wert$
Faible dat#,8
CLS 0
Word dat#,0 = 9812,3484,60000,22315
res& = cryrst_(dat#,8)
wert$ = Str$(res&)
imprimer wert$
Waitinput

nProc cryrst_

    Paramètres ber#,ps&
    Déclarer s&,res&

    Si ps& MOD 2 = 0

        s& = (ps&\2)-1

    D'autre

        s& = (ps&\2)

    EndIf

    WhileLoop 0,s&

        res& = res&+word(ber#,&loop*2)

        Si res& > 20000

            res& = (res&-20000)

        Endif

    Endwhile

    res& = (res&+ps&)
    Retour res&

ENDPROC


gibt es hierfür une Erklärung ?
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

04.09.2014  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »

dans nProcs avec declare deklarierte Variablen avons pas juste la valeur 0,
qui Variable wird zwar deklariert mais es wird son ne...aucune Wert zugewiesen et qui Wert
venez ensuite aus dem grenier et peux beliebig son.

Anders ist es (naturellement) si on dedans nProcs avec var deklariert z.B.
KompilierenMarqueSéparation
var a&=20
>

ou bien kürzer:
KompilierenMarqueSéparation
long a=20
>
 
17.09.2014  
 



Bereichsvariablenparameter sommes ne...aucune nativ unterstützer Typ,
übermittle fois le Adresse comme Long. (alors addr(ber#) statt (ber).

Pour logischen Fehlern habe je beim Überfliegen pas geschaut.
 
05.09.2014  
 




Georg
Teles
Ging vite avec qui Antwort

probiert, alors
KompilierenMarqueSéparation
res& = cryrst_(   Addr(dat#)   ,8)
...
nProc
Parameters    ber&   ,
pre>

cela Ergebnis bleibt juste
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

05.09.2014  
 




Georg
Teles
Problem gelöst:

je merke, dass es chez XPSE es très important ist, definierte Variablen, avec denen on arbeitet, sur 0 ou bien une Wert trop mettons, den on braucht...
KompilierenMarqueSéparation
nProc
Parameters a#,b&
Declare c&,d&
c& = 0'auf 0 setzen
d& = 0'und hier auch
c& = c&+

eh bien liefert sowohl avec XProfan kompilierte & gelinkte Voir le texte source comme aussi avec XPSE den selben korrekten Wert
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

17.09.2014  
 




E.T.
Hm, cela verwundert mich doch quelque chose:
Sollten den récente declarierte Variablen >Déclarer c&,d& < pas eigentlich sur "0", d.h. vide son ??

ah, vois justement:
Im Eingans-Posting declarierst du res&  2x, einmal beim Programme-Start et ensuite nochmal dans qui Proc / nProc.

chez "Problem gelöst" declarierst du ensuite im "nProc-Schnipsel" c&  et b& , alors neue Variablen.
je denke la fois, im "Doppel-Declare" liegt qui lièvre begraben (ungetestet).

quoi mich wundert ist, cela XProfan chez deinem ersten Beispiel im ersten poste pas meckert, cela qui Variable bereits declariert ist .

dans qui Aider ist seulement trop lesen


Alle Variablen, qui dans Prozeduren deklariert volonté, sommes seulement là bistrot gültig. qui verwandte Speicherplatz wird chez sortir de qui Procédure wieder freigegegen


quoi passiert, si dans qui Proc Variablen declariert volonté, quelle déjà im Hauptprogramm decl. wurden, cela peux uns wohl Roland répondre

Demandez à maintenant s'il te plaît pas, pourquoi oui c'est ca "um 7 mehr"...
... vlt. hat IF oui pour cette le cas "Die glorreichen Sieben"  dans XPSE incorporé
 
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...
17.09.2014  
 




Georg
Teles
E.T. (17.09.14)
ah, vois justement:
Im Eingans-Posting declarierst du res& 2x, einmal beim Programme-Start et ensuite nochmal dans qui Proc / nProc.
...
je denke la fois, im "Doppel-Declare" liegt qui lièvre begraben (ungetestet).


négative, habe justement avec anderen Variablen getestet, selbes Ergebnis, exakt um 7 größer si je qui Variablen pour dem Déclarer pas nulle

möglicherweise darf aucun Variable 0 son et cela Déclarer qui "leeren Variable" la valeur 7 zuweist ?

E.T. (17.09.14)
quoi passiert, si dans qui Proc Variablen declariert volonté, quelle déjà im Hauptprogramm decl. wurden, cela peux uns wohl Roland répondre


cela serait mich mais aussi intéresser, meiner Erfahrung pour allez bistrot avant global, habe dans meinen Programmen mais nie cette faute gemacht, seulement dans Codesnippets getestet
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

17.09.2014  
 




RGH
si dans einer Procédure Variablen deklariert volonté, qui aussi déjà im Hauptprogramm deklariert sommes, ensuite sommes qui im Hauptprogramm deklarierten Variablen dans qui Procédure pas sichtbar, d.h. vous pouvez dans qui Procédure weder gelesen encore geändert volonté.

Salut
Roland
 
XProfan X2
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
17.09.2014  
 



dans nProcs avec declare deklarierte Variablen avons pas juste la valeur 0,
qui Variable wird zwar deklariert mais es wird son ne...aucune Wert zugewiesen et qui Wert
venez ensuite aus dem grenier et peux beliebig son.

Anders ist es (naturellement) si on dedans nProcs avec var deklariert z.B.
KompilierenMarqueSéparation
var a&=20
>

ou bien kürzer:
KompilierenMarqueSéparation
long a=20
>
 
17.09.2014  
 




Georg
Teles
Ahh, vielen Dank ! eh bien sommes beide Fragen geklärt worden.
Avec l' Déclarer erklärt aussi, dass dans chaque Beispielcode Ende% avant qui Whilenot-Boucle tradiztionell avec Claire gelöscht bzw comme var ende% = 0 deklariert et zur Sicherheit sur 0 gesetzt wird.
ca ist depuis Programmiertanfang à chez mir zum Standard geworden weil chez meinen Programmen souvent selbe Variablen plusieurs fois verwendet volonté, zB. temporäre, mais genauer puis habe je seulement encore nie geschaut
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

17.09.2014  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

8.652 Views

Untitledvor 0 min.
Normann Strübli31.03.2020
funkheld09.02.2016
Georg Teles07.01.2016
iF01.06.2015
plus...

Themeninformationen

cet Thema hat 4 participant:

Georg Teles (5x)
iF (2x)
RGH (1x)
E.T. (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie