Español
Foro

Quadratwurzel sin Begrenzung

 
- Página 1 -



Stefan
Landsberg
¡Hola,

Yo möchte una Programa escribir, dass el Quadratwurzel un número berechnet.
ABER lo se no en 6 Nachkommastellen runden, pero solange weitermachen a uno en Stop klickt.

Cuestión:
(como) puede ser el Kürzen en 6 Nachkommastellen en sqrt() y pow() abstellen.

Si el no va, entonces muss Yo irgend una Procedimiento einfallen dejar el dass macht.
Aber Por favor, no Fertiglösung puesto. Dann lerne Yo nichts.

Noch una Cuestión:
es en XProfan 10 el länge uno floats begrenzt?
 
15.08.2008  
 



 
- Página 1 -



Jac
de
Lad
Nein, nein, nein! Typischer Anfängerfehler. Um con el Eingaben a rechnen musst du lo sólo de String en una Float umwandeln (siehe "Val()") y a Edición en el MultiEdit otra vez en una String (siehe "Str$()").
Declarar
declarar in&,out&,btn&,ergebnis$,ende%,eingabe$
Ventana redactar
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
Ventana 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
    caso %key=2 : romper

    if clicked(btn&)

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

    endif

endwhile


Kürzer wäre dein Prog así:
Declarar
declarar in&,out&,btn&,ende%
Ventana redactar
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
Ventana 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

    if %key=2

        romper

    elseif clicked(btn&)

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

    endif

endwhile


Zum Thema Berechnung:

Usted puede entweder jede Punto einzeln berechnen dejar oder una Zahl quadrieren y je después de si ellos a groß oder a klein es siempre una wenig erhöhen oder abziehen. Dazu musst du los números en Cuerdas speichern y jede Punto 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
¡Hola,

Yo nehme para el ausgabe des ergebnisses una einfaches editfeld, aber como Yo en mi Programa sí a el vorhandene zahl siempre el neu berechnete lugar dranhängen voluntad, es meiner meinung después de unpraktisch y wahrscheinlich auch a langsam siempre sólo el aktuellen texto con gettext de el editfeld auszulesen, una neu ziffer dranzuhängen, y luego otra vez el zahl con settext en el editfeld a escribir.
gibts como una bessere methode oder irgendeine mensaje (gibts una seite/datei en el el messages en Alemán erklärt son) ?
 
19.08.2008  
 



wm_copyData podría Usted hier helfen.
 
19.08.2008  
 




Stefan
Landsberg
hallo,
danke primero aber hay irgendwo ne dokumentation en el el messages verständlich (al besten Alemán) erklärt son?
Yo blick en msdn no así correcto por!
 
19.08.2008  
 



Klar, XProfan.com búsqueda y google son el Helfer en solcher Not!
 
19.08.2008  
 




Stefan
Landsberg
después de que jetz endlich otra vez una wenig zeit para XProfan gefunden tener (schule beansprucht ne todo menge zeit. antes allem latein )
lugar Yo veces otra vez una frage:

por qué wir en el if abfrage no wert a el variable firstpart$ transferencia?
Yo tener auch ya intenta ellos como integer a declarieren. va auch no:
Declarar
declarar in&,out&,calcbtn&,stopbtn&,ergebnis$,ende%,eingabe$
PROC-Teil

Proc sqrtlong

    Algorithmus para ziehen uno Quadratwurzel
    Parámetros zahl$, output&, stopbtn&
    declarar vorkomma$, div2%, firstsqrt%, firstpart$
    zahl$=translate$(zahl$, "," , ".") Dezimalkomma por Dezimalpunkt sustituir
    vorkomma$=substr$(zahl$,1,".") Ziffern antes el Komma en vorkomma$ speichern
    div2%=Instr(".",str$(substr$(len(vorkomma$ / 2),1,"."))) Prüfen si el Anzahl el Ziffern antes el Komma gerade oder ungerade es.

    if div2% = 0

        firstpart$=mid$(vorkomma$,0,2) erste 2 Ziffern de vorkomma$ voluntad en firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") lo se el sqrt de firstpart$ gebildet (rest se weggelassen)

    más

        firstpart$=mid$(vorkomma$,0,1) erste Ziffer de vorkomma$ se en firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") lo se el sqrt de firstpart$ gebildet (rest se weggelassen)

    endif

    locate 4,1 sólo para testen qué firstpart$ enhält
    imprimir "firstpart:",firstpart$ sólo para test qué firstpart$ enhält
    sendmessage(output&,$004A,%hWnd,Addr(firstsqrt%))

ENDPROC

Ventana redactar
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,125
usefont "MS Sans Serif",20,0,0,0,0
Ventana 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
    caso %key=2 : romper

    if clicked(calcbtn&)

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

    endif

endwhile

 
06.09.2008  
 



Der Zweite Parámetro de Mid$ muss mindestens 1 ser si uno tatsächlich de erster Position ermitteln möchte.
 
06.09.2008  
 




Stefan
Landsberg
ahhh,
danke (por qué bin Yo como no incluso en él gekommen )
 
06.09.2008  
 



 
- Página 2 -



Stefan
Landsberg
soo,
Yo tener jetz todavía una bisschen weitergebastelt, y lo funktioniert auch alles como Yo voluntad.
Aber jetz tener Yo otra vez mein Problema con sendmessage.
Was muss Yo hacer, así el inhalt el variable firstsqrt% a el editfeld out$ gesendet se?
KompilierenMarcaSeparación
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  
 




KompilierenMarcaSeparación
 
06.09.2008  
 




Stefan
Landsberg
ok entonces mach ego primero así. aber später wäre lo de folgendem grund doch effizienter una otro methode a nehmen oder:

Stefan Löwen
¡Hola,

Yo nehme para el ausgabe des ergebnisses una einfaches editfeld, aber como Yo en mi Programa sí a el vorhandene zahl siempre el neu berechnete lugar dranhängen voluntad, es meiner meinung después de unpraktisch y wahrscheinlich auch a langsam siempre sólo el aktuellen texto con gettext de el editfeld auszulesen, una neu ziffer dranzuhängen, y luego otra vez el zahl con settext en el editfeld a escribir.
gibts como una bessere methode oder irgendeine mensaje (gibts una seite/datei en el el messages en Alemán erklärt son) ?


IF
wm_copyData podría Usted hier helfen.
 
06.09.2008  
 



Hängt su de, si Usted algo a el Cursorposition "anhängen" möchtest (wm_copyData), oder el ganzen Inhalt sustituir (setText).
 
06.09.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

10.317 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie