wie kann ich mit Basic-Code rechnen??

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: wie kann ich mit Basic-Code rechnen??

von Toxitom » Mo, 19.12.2005 15:25

Hey Milco,
Egal, ob ich mir gleich die MsgBox anzeigen lasse, oder das erst mit IF überprüfe: in der MsgBox steht immer true.
Völlig gleich, welche Werte in den NumFeldern stehen...
Hmm, das dürfte mit der internen Struktur und der automatischen Variablen-Erkennung zu tun haben.
Vergleichsoperatoren können nur Ergebnisse (also Variableninhalte) vergleichen, nicht selbst erst Rechenwege ausführen. Also:
Entweder ziehst du die Ergebnisse raus :

Code: Alles auswählen

a = myCtl1.value
b = myCtl2.value 
if a > b then.
...
oder du entkoppelst die Rechenoperationen:

Code: Alles auswählen

if ( myCtl1.value ) >  ( myCtl2.value)  then 
...
In beiden Fällen erhälst du dein gewünschtes Ergebnis.

Gruss
Thomas

von der.milco » Mo, 19.12.2005 13:20

So, habs probiert und es klappt.
(dabei dachte ich ich hätte das schon ausprobiert...)
_______________________________________________________
Zitat:
Und kann ich eigentlich auch die < und > -Funktionen verwenden?
Ja. (aber das sind (Vergleichs-)Operatoren und keine Funktionen)
Ich weiß, aber die funktionieren bei mir nicht richtig:

Code: Alles auswählen

Sub Rechnen
  myDoc   = thisComponent
  mySheet = myDoc.sheets(2)
  myForm  = mySheet.drawpage.forms(0)
' myCell1 = mySheet.getCellRangeByName("$J$7")
  myCtl1  = myForm.getByName("NumericField1")
  myCtl2  = myForm.getByName("NumericField2")

'  msgbox myCtl1.value > myCtl2.value

  if myCtl1.value > myCtl2.value then
  	msgbox "true"
  else
  	msgbox "false"
  end if

End Sub
Egal, ob ich mir gleich die MsgBox anzeigen lasse, oder das erst mit IF überprüfe: in der MsgBox steht immer true.
Völlig gleich, welche Werte in den NumFeldern stehen...

Jmd ne Lösung??

von ykcim » So, 18.12.2005 14:29

Hi,

Du darfst die Rechenoperation mit dem Kontrollfeld versuchen sondern mit dem Inhalt des Kontrollfeldes. Eventuell mußt Du den Wert erst in eine Zhal wandeln.

Bei eines Textfeld z.B. mit Zahl1=Val(Kontrollfeld.text)

Für Zellen gilt das ebenso. Gerechent wird mit dem Inhalt einer Zelle.

Zahl1=Zelle.value

Weitere Infos findest Du in der FAQ von mir.

mfg
Michael Dannenhöfer

von Stephan » So, 18.12.2005 14:24

Bsp-weise sollen zwei Numerische Felder miteinander addiert werden
...
einfach +, -, * oder / zwischen die Kontrollfeldbezeichnungen zu schreiben bringt nichts
Ich weiß nicht, soll es das heißen was Du schreibst? Denn das ginge natürlich nicht, weil:

ein Feld ist ein Objekt, die Bezeichnung des Feldes lediglich dessen Name also der Wert einer Eigenschaft, nur Beides ist nicht der numerische Wert, der ist <Objekt>.Value und der muß addiert werden
Und kann ich eigentlich auch die < und > -Funktionen verwenden?


Ja. (aber das sind (Vergleichs-)Operatoren und keine Funktionen)


Gruß
Stephan

wie kann ich mit Basic-Code rechnen??

von der.milco » So, 18.12.2005 13:12

Hallo,

ich suche heute eine Möglichkeit mit dem Code von Basic einfache Rechenoperationen durchzuführen.

Bsp-weise sollen zwei Numerische Felder miteinander addiert werden.
Oder auch die Zellen eines Arbeitsblattes in Calc.

Hat jemand ne Idee?

einfach +, -, * oder / zwischen die Kontrollfeldbezeichnungen zu schreiben bringt nichts.

Und kann ich eigentlich auch die < und > -Funktionen verwenden?

Danke

Nach oben