Formeln,Gadgets und andere Probleme

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

BlitzDitz

Betreff: Formeln,Gadgets und andere Probleme

BeitragMo, März 06, 2006 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich habe mal wieder ein paar Fragen. Also den Code habe ich nicht hineinkopiert, weil er über mehrere Includes geht usw

Ich will eine Funktion, wenn nötig, erstellen, wo ich durch eine Formel Zinsen berechnen kann:

1.Die Formel hat vier Variablen:

x = Aktueller Betrag
y = Monatliches Einkommen
z = Zinssatz
formel = =(x+y)+((x+y)*z) ;So habe ich es bei excel, und ich weiss, DASS funktioniert nicht

x,y,z werden in drei Input-Feldern eingegeben, und durch einen Button 'Rechnen'
ausgelesen, gerechnet und dann angezeigt.

2.Geht dass mit solchen Gadget-Dingern?(Ich habe alle Sachen aus der Onlinehilfe durchgelesen und habs nich geblickt)

3.Wie kann man durch die Vorgegebenen Befehle von B+ nicht nur das Speichern/Laden Fenster auch wirklich zum
speichern/laden benutzen?

4.Wie kann ich es steuern, dass nur Zahlen eingegeben werden und nicht Buchstaben?

5.Ich will das Ergebnis am Ende dann auf zwei Nachkommastellen verkürzt haben

6.Was gibt es für gute kostenlose Icon-Editoren?


Ich bedanke mich schon im Vorraus für die Hilfe

P.S.:Ich weiss DAS viel zu beantworten, aber muss halt sein! Very Happy
Intel P4 | 512MB DDR | 9800XT | 200GB

AlKohol macht Birne Hohl, Birne hohl mehr Platz für Alcohol
 

naibaf7

BeitragMo, März 06, 2006 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe gerade keine Zeit auf alles zu antworten aber:

1. Die Formel geht glaube ich so:

formel = ((x+y)+((x+y)*z))

Ich seh da aber nur drei Variablen nähmlich x,y,z

2. Du meinst wohl Textfelder, oder Question

also mal ein kleines beispiel (Fenster muss noch erstellt werden):

aktueller_betrag = createtexfield(x,y,breite,höhe,gruppe,[Style])
monatliches_einkommen = createtexfield(x,y,breite,höhe,gruppe,[Style])
zinssatz = createtexfield(x,y,breite,höhe,gruppe,[Style])

Repeat
why = Waitevent()
If why = $401 and Eventsource() = button1 Then
x = Texfieldtext(namedestextfelds) ;mit allen feldern machen und dann formel anwenden



Until Keyhit(1)



sorry............hatte wirklich keine zeit mehr um mehr und besseres Zeug hinzuschreiben Embarassed Embarassed

EDIT:

hatte jetzt noch n wenig Zeit also zu 3.

Die Befehle:

Load$=REQUESTFILE$("Datei-Laden","*.*" ,0)

Save$=REQUESTFILE$("DateiSpeichern","*.*",1)

geben den Pfad zurück den man auswählt.
und schon kann man beliebige dinge mit dem Pfad anstellen z.B. :

gespeichert = Writefile(Save$)

spielstand = ReadFile(Load$)
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master
  • Zuletzt bearbeitet von naibaf7 am Di, März 07, 2006 13:20, insgesamt 2-mal bearbeitet

skey-z

BeitragMo, März 06, 2006 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
zu 4. Überprüfe ob alle eingegebenen zeichen im Berich der Ascii-zeichen der zahlen liegen

in etwa:
Code: [AUSKLAPPEN]

zahl=995
zlen=Len(Str$(zahl))

For i=1 To zlen
   wert=Asc(Mid$(Str$(zahl),i,1))

   If (wert<48) And (wert>57) Then
      zahl=0
      Exit
   EndIf
Next
next


[edit] Habe gerade mal ausprobiert funktioniert noch nihct so ganz, wenn buchstaben eingegeben wurden, aber durch ein bischen weiter denken, wirst du es schon hinbekommen.[/edit]

zu 6. Microangelo -> Google[/code]
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

BlitzDitz

BeitragDi, März 07, 2006 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
@naibaf 7
1.Ich will ja nicht wie ein Klugscheisserer wirken:), aber formel ist dann doch die Vierte;).
Ausserdem habe ich bemerkt, dass das Ergebnis nicht stimmt, da z eine Prozentzahl sein MUSS,
die Formel dafür geht dann so: z2# = z1*100/x+y, stimmt das?

2.Wie kann ich es hinkriegen, dass das Ergebnis 2 Nachkommastellen hat ?

3.Bei mir sagt er Invalid TestArea handle

Mein code:
Code: [AUSKLAPPEN]
Include "Includes/Design.bb"
Include "Includes/Formel.bb"
Include "Includes/Functions.bb"
Include "Includes/Variablen.bb"
Include "Includes/Ideen.bb"


;Hauptschleife

Repeat

Offnen()
Speichern()
About()   
Beenden_X()
Beenden_Menu()
If EventID() = EVENT_Gadget And EventSource() = rechenbutton Then

   x = TextAreaText(eingabefeld1)
   y = TextAreaText(eingabefeld2)
   z1 = TextAreaText(eingabefeld3)
   z2 = z1*100/x+y
   formel = (x+y)+((x+y)*z)
   
   Confirm formel
   
EndIf

Forever
[/code]
Intel P4 | 512MB DDR | 9800XT | 200GB

AlKohol macht Birne Hohl, Birne hohl mehr Platz für Alcohol

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, März 07, 2006 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
2 Nach-Komma Stellen geht so....
Code: [AUSKLAPPEN]
For i = 0 To 20
   x#= Rnd (0,100)
   Print RSet (x,10) + RSet (FormatFloat$(x,2),10)
Next
Input("Press Enter")
End
Function FormatFloat$(a#,z) ; z = Nachkommastellen
   b$ = Int(a# * 10^z) /10.0^z
   Return b$ + String ("0",Instr(b$,".")+z -Len (b$))
End Function

Hier mal ein halbwegs laufendes Program mit der speziellen Nummer Funktion (kann noch erweitert werden)und Berechnen Code: [AUSKLAPPEN]
Global Win1 = CreateWindow("Window1",488,184,185,204,Desktop(),9)
Global TextField1 = CreateTextField(29,40,100,20,Win1,0)
Global TextField2 = CreateTextField(29,70,100,20,Win1,0)
Global TextField3 = CreateTextField(29,103,100,20,Win1,0)
Global Button = CreateButton ("GO",29,133,100,20,Win1,0)
Repeat
   event = WaitEvent (10)
   Select Event
   Case $803 End
   Case $401
      Select EventSource()
      Case TextField1
         CheckInputFloat (TextField1)
      Case TextField2
         CheckInputFloat (TextField2)
      Case TextField3
         CheckInputFloat (TextField3)
      Case Button
         Berrechne()
      End Select
   
   End Select
Forever
Function Berrechne()
   a1#= TextFieldText(TextField1)
   a2#= TextFieldText(TextField2)
   a3#= TextFieldText(TextField3)
   SetStatusText Win1,a1+a2+a3
End Function
Function CheckInputFloat (gadget)
   A$ = TextFieldText(gadget)
   For i = 1 To Len (a$)
    B%= Asc(Mid(a$,i,1))
    Select b%
      Case 44,46 ;   , . Immer einen Punkt machen
         If Instr(c$,Chr(46))= 0 Then c$ = c$ +Chr(46) ; nur ein Komma möglich
      Default 
         If b% =>48  And B% <= 57 Then
            c$ = c$ +Chr(B%)
         End If
    End Select
   Next
   SetGadgetText gadget,c$

End Function

Die Komma´s werden dabei automatisch in Punkten umgewandelt und es ist nur ein Komma möglich!
[BB2D | BB3D | BB+]
 

naibaf7

BeitragMi, März 08, 2006 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@BlitzDitz

Tja...In sache vormeln versteh ich nicht gerade sehr viel Wink

Doch das zweite Problem kenn ich also:

Du hast doch zuerst ein Textfield erstellt oder? etwa so:


eingabefeld1 = Createtextfield(x,y,breite,hoehe,gruppe,style)
eingabefeld2 = Createtextfield(x,y,breite,hoehe,gruppe,style)
eingabefeld3 = Createtextfield(x,y,breite,hoehe,gruppe,style)

danach kannst du NICHT

x = TextAreaText(eingabefeld1)
y = TextAreaText(eingabefeld2)
z1 = TextAreaText(eingabefeld3)

verwenden sondern:

x = TextFIELDText(eingabefeld1)
y = TextFIELDText(eingabefeld2)
z1 = TextFIELDText(eingabefeld3)

(Weil du ja TextFields und keine Textareas geproggt hast ist ja Logo Laughing
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master
 

BlitzDitz

BeitragMi, März 08, 2006 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
War ja auch nicht als Belidigung gemeint sonder ich wollte mich nur mal wichtig machen Mr. Green

Und mit Blitz 2D und 3D kann ich eh alles viel besser!

Das ist doch ein Eglisches Programm oder? Warum dann Blitz?^^
Intel P4 | 512MB DDR | 9800XT | 200GB

AlKohol macht Birne Hohl, Birne hohl mehr Platz für Alcohol

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group