| |
|
|
- 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éparationDeclare 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 ? |
|
|
| |
|
|
|
« 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 ou bien kürzer: KompilierenMarqueSéparation |
|
|
| |
|
|
|
|
| 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. |
|
|
| |
|
|
|
Georg Teles | |
|
| |
|
|
|
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 eh bien liefert sowohl avec XProfan kompilierte & gelinkte Voir le texte source comme aussi avec XPSE den selben korrekten Wert |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
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 X2Intel 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 ou bien kürzer: KompilierenMarqueSéparation |
|
|
| |
|
|
|
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 |
|
|
| |
|
|