Français
Forum

Quadratwurzel sans Begrenzung

 
- page 1 -



Stefan
Landsberg
Salut,

je voudrais un Programme écrivons, dass qui Quadratwurzel einer numéro berechnet.
ABER es soll pas sur 6 Nachkommastellen runden, mais solange weitermachen jusqu'à on sur Stop klickt.

Frage:
(comment) peux on cela Kürzen sur 6 Nachkommastellen chez sqrt() et pow() abstellen.

si cela pas allez, ensuite muss je mir irgend une Procédure envahir laisser qui dass pouvoir.
mais s'il te plaît aucun Fertiglösung posten. ensuite lerne je rien.

encore une Frage:
ist dans XProfan 10 qui länge eines floats begrenzt?
 
15.08.2008  
 



 
- page 1 -



Jac
de
Lad
non, non, non! Typischer Anfängerfehler. Um avec den Eingaben trop le calcul musst du es seulement de String dans un Float transformer (siehe "Val()") et zur Ausgabe im MultiEdit wieder dans une String (siehe "Str$()").
Déclarer
declare in&,out&,btn&,ergebnis$,ende%,eingabe$
la fenêtre erstellen
style de fenêtre 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
la fenêtre gestalten
in&=create("edit",%hWnd,"25",5,5,580,20)
btn&=create("button",%hWnd,"Berechnen",250,30,100,30)
out&=create("multiedit",%hWnd,»,5,65,580,-270)

whilenot ende%

    WaitInput
    cas %clé=2 : pause

    si clicked(btn&)

        eingabe$=gettext$(in&)
        ergebnis$=Str$(sqrt(Val(eingabe$)))
        settext out&,»
        settext out&,ergebnis$

    endif

endwhile


Kürzer wäre dein Prog so:
Déclarer
declare in&,out&,btn&,ende%
la fenêtre erstellen
style de fenêtre 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
la fenêtre gestalten
in&=create("edit",%hWnd,"25",5,5,580,20)
btn&=create("button",%hWnd,"Berechnen",250,30,100,30)
out&=create("multiedit",%hWnd,»,5,65,580,-270)

whilenot ende%

    WaitInput

    si %clé=2

        pause

    elseif clicked(btn&)

        settext out&,Str$(sqrt(Val(gettext$(in&))))

    endif

endwhile


Zum Thema Berechnung:

tu peux entweder chacun Stelle einzeln berechnen laisser ou bien une numéro quadrieren et je après que si vous trop grand ou bien trop petite ist toujours un peu erhöhen ou bien abziehen. en supplément musst du les numéros dans Cordes Sauver et chacun Stelle einzeln multiplizieren.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2008  
 




Stefan
Landsberg
Salut,

je prends pour qui ausgabe des ergebnisses un simple editfeld, mais là je dans mon Programme oui à qui vorhandene numéro toujours qui récente berechnete lieu dranhängen veux, ist es meiner attitude pour unpraktisch et wahrscheinlich aussi trop lente toujours seulement den aktuellen text avec gettext aus dem editfeld auszulesen, une récente ziffer dranzuhängen, et ensuite wieder qui numéro avec settext ins editfeld trop écrivons.
gibts là une bessere methode ou bien irgendeine message (gibts une page/fichier dans qui qui messages sur allemande erklärt sommes) ?
 
19.08.2008  
 



wm_copyData pourrait Dir ici aider.
 
19.08.2008  
 




Stefan
Landsberg
allô,
merci erstmal mais gibt es irgendwo ne dokumentation dans qui qui messages verständlich (am besten allemande) erklärt sommes?
je perspective chez msdn pas so richtig par!
 
19.08.2008  
 



bien sûr, XProfan.com cherche et google sommes qui Helfer dans solcher Not!
 
19.08.2008  
 




Stefan
Landsberg
après que je jetz enfin wieder un peu zeit pour XProfan trouvé hab (une école beansprucht ne ganze la quantité zeit. avant allem latin )
lieu je la fois wieder une frage:

pourquoi wir dans qui si abfrage aucun wert à qui variable firstpart$ transfert?
je hab aussi déjà versucht vous comme integer trop declarieren. allez aussi pas:
Déclarer
declare in&,out&,calcbtn&,stopbtn&,ergebnis$,ende%,eingabe$
PROC-partie

Proc sqrtlong

    Algorithmus zum tirer einer Quadratwurzel
    Paramètres numéro$, output&, stopbtn&
    declare vorkomma$, div2%, firstsqrt%, firstpart$
    numéro$=translate$(numéro$, » , ".") Dezimalkomma par Dezimalpunkt ersetzen
    vorkomma$=substr$(numéro$,1,".") Les chiffres avant dem Komma dans vorkomma$ Sauver
    div2%=Instr(".",str$(substr$(len(vorkomma$ / 2),1,"."))) vérifier si qui Anzahl qui Les chiffres avant dem Komma justement ou bien ungerade est.

    si div2% = 0

        firstpart$=mid$(vorkomma$,0,2) erste 2 Les chiffres aus vorkomma$ volonté dans firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") es wird qui sqrt aus firstpart$ gebildet (reste wird weggelassen)

    d'autre

        firstpart$=mid$(vorkomma$,0,1) erste Ziffer aus vorkomma$ wird dans firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") es wird qui sqrt aus firstpart$ gebildet (reste wird weggelassen)

    endif

    locate 4,1 seulement zum testen quoi firstpart$ enhält
    imprimer "firstpart:",firstpart$ seulement zum test quoi firstpart$ enhält
    sendmessage(output&,$004A,%hWnd,Addr(firstsqrt%))

endproc

la fenêtre erstellen
style de fenêtre 575
windowtitle "Quadratwurzel"
window 20,20 - 600,125
usefont "MS Sans Serif",20,0,0,0,0
la fenêtre gestalten
in&=create("edit",%hWnd,"25,5",5,5,580,20)
calcbtn&=create("button",%hWnd,"Berechnen",170,30,100,30)
stopbtn&=create("button",%hWnd,"Stop",310,30,100,30)
out&=create("edit",%hWnd,»,5,65,580,20)

whilenot ende%

    WaitInput
    cas %clé=2 : pause

    si clicked(calcbtn&)

        sqrtlong gettext$(in&), out&, stopbtn&

    endif

endwhile

 
06.09.2008  
 



qui Zweite paramètre de Milieu$ muss mindestens 1 son si on réellement ab erster Position ermitteln voudrais.
 
06.09.2008  
 




Stefan
Landsberg
ahhh,
merci (pourquoi suis je là pas selbst sur elle gekommen )
 
06.09.2008  
 



 
- page 2 -



Stefan
Landsberg
soo,
je hab jetz encore un bisschen weitergebastelt, et es funktioniert aussi alles so comment je es veux.
mais jetz hab je wieder mon Problem avec sendmessage.
quoi muss je faire, avec cela qui le contenu qui variable firstsqrt% à cela editfeld out$ gesendet wird?
KompilierenMarqueSéparation
Declare
declare in&,out&,calcbtn&,stopbtn&,ergebnis$,ende%,eingabe$
PROC-Teil

Proc sqrtlong

    Algorithmus zum ziehen einer Quadratwurzel
    Parameters zahl$, output&, stopbtn&
    declare vorkomma$, div2$, firstsqrt%, firstpart$
    zahl$=translate$(zahl$, "," , ".") Dezimalkomma durch Dezimalpunkt ersetzen
    vorkomma$=substr$(zahl$,1,".") Ziffern vor dem Komma in vorkomma$ speichern
    div2$=substr$(len(vorkomma$)/2,2,".") Prüfen ob die Anzahl der Ziffern vor dem Komma gerade oder ungerade ist.
    locate 3,1
    print "div2:",div2$

    if div2$ = 0

        firstpart$=mid$(vorkomma$,1,2) erste 2 Ziffern aus vorkomma$ werden in firstpart$ gespeichert
        firstsqrt%=val(substr$(str$(sqrt(val(firstpart$))), 1 , ".")) es wird die sqrt aus firstpart$ gebildet (rest wird weggelassen)

    else

        firstpart$=mid$(vorkomma$,1,1) erste Ziffer aus vorkomma$ wird in firstpart$ gespeichert
        firstsqrt%=val(substr$(str$(sqrt(val(firstpart$))), 1 , "."))  es wird die sqrt aus firstpart$ gebildet (rest wird weggelassen)

    endif

    locate 4,1 nur zum testen was firstpart$ enhält
    print "firstpart:",firstpart$ nur zum test was firstpart$ enhält
    locate 5,1
    print "firstsqrt:",firstsqrt%
    sendmessage(output&,$004A,%hWnd,Addr(firstsqrt%))

endproc

Fenster erstellen
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,125
usefont "MS Sans Serif",20,0,0,0,0
Fenster gestalten
in&=create("edit",%hWnd,"25,5",5,5,580,20)
calcbtn&=create("button",%hWnd,"Berechnen",170,30,100,30)
stopbtn&=create("button",%hWnd,"Stop",310,30,100,30)
out&=create("edit",%hWnd,"",5,65,580,20)

whilenot ende%

    WaitInput
    case %key=2 : break

    if clicked(calcbtn&)

        sqrtlong gettext$(in&), out&, stopbtn&

    endif

endwhile

 
06.09.2008  
 




KompilierenMarqueSéparation
 
06.09.2008  
 




Stefan
Landsberg
ok ensuite mach ego erstmal avec cela. mais später wäre es aus folgendem grund doch effizienter une autre methode trop prendre ou bien:

Stefan Löwen
Salut,

je prends pour qui ausgabe des ergebnisses un simple editfeld, mais là je dans mon Programme oui à qui vorhandene numéro toujours qui récente berechnete lieu dranhängen veux, ist es meiner attitude pour unpraktisch et wahrscheinlich aussi trop lente toujours seulement den aktuellen text avec gettext aus dem editfeld auszulesen, une récente ziffer dranzuhängen, et ensuite wieder qui numéro avec settext ins editfeld trop écrivons.
gibts là une bessere methode ou bien irgendeine message (gibts une page/fichier dans qui qui messages sur allemande erklärt sommes) ?


iF
wm_copyData pourrait Dir ici aider.
 
06.09.2008  
 



Hängt en ab, si Du quelque chose à qui Cursorposition "anhängen" vouloir (wm_copyData), ou bien den ganzen le contenu ersetzen (setText).
 
06.09.2008  
 




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

10.402 Views

Untitledvor 0 min.
Sebastian Sprenger13.10.2013
Andreas Koch20.12.2011

Themeninformationen



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