| |
Anzeigen |
|
|
Social Bookmark Script |
|
|
|
 |
Taschenrechner programmieren |
Manú
Grünschnabel
Dabei seit: 09.02.2008
Beiträge: 5
 |
|
|
09.02.2008 03:44 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Hallo Manu,
den Wert eines Buttons setzt man mit dem Befehl
Set Label to "1"
Den Wert einer Form setzt man mit dem Befehl
Set Value to "xyz"
Die Standardprozedur des Buttons heißt OnClick
Procedure OnClick
Set Value of oMyForm to "xyz"
End_Procedure
Zur Auswertung des Inhalts der Form könnte man die Eval Funktion benutzen.
Hier noch Link auf eine deutsche Dokumentation:
http://www.data-project.info/download/Sc...ualDataFlex.pdf
Zur Info: Am 20. Mai werden wir in Köln wieder einer kostenlose Veranstaltung für alle DataFlex Neulinge und Umsteiger starten. Eine Anmeldung dafür ist bereits jetzt schon möglich.
Viel Spaß
Matthias
|
|
09.02.2008 18:35 |
|
|
Manú
Grünschnabel
Dabei seit: 09.02.2008
Beiträge: 5
Themenstarter
 |
|
Hallo Matthias,
danke für das Link, da werde ich gleich mal reinschauen. Zu deinem Post, genauso hatte ich es schon gemacht, das Problem das ich habe ist, das ich keine großen Zahlen eingeben kann.
Also er ersetzt die Zahlen immer wieder, z.B. ich drücke 1 und es erscheint eine 1 in der Form. Jedoch möchte ich eine 12 eingeben, also drücke ich die 2. Statt er die 2 hinter die 1 schreibt, ersetzt er diese.
Kannst du mir helfen das Problem zu lösen?
Gruß Manú
|
|
09.02.2008 18:50 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Wie wär's damit:
Procedure OnClick
String sVal
Get Value of oMyForm to sVal
Set Value of oMyForm to (sVal+ "xyz")
End_Procedure
Matthias
|
|
09.02.2008 18:54 |
|
|
Manú
Grünschnabel
Dabei seit: 09.02.2008
Beiträge: 5
Themenstarter
 |
|
Hi Matthias,
funktioniert super
vielen Dank
Hoffe den Rest schaff ich alleine!
Gruß Manú
|
|
09.02.2008 19:09 |
|
|
Stamic
Jungspund

Dabei seit: 01.10.2007
Beiträge: 17
Einsatzart von VDF: privat Anwenderstatus: Programmierer Herkunft: Villingen-Schwenning
en
 |
|
Hallo Manú,
ich habe das Ganze mal schnell ausprobiert. Sieht so aus, als würde der Eval das Ergebnis nicht korrekt als Number oder Float interpretieren, jedenfalls hat er es bei mir auch nicht gemacht
Ich bekomme auch immer 0 als Ergebnis. So bald der erste Operand 0,1 ist, wird das Ergebnis korrekt ausgegeben.
Als kleine Krücke könntest du die Zahlen nicht als solche behandeln, sondern den kompletten Ausdruck als String. Du lässt einfach alles in dein Display eingeben, inkl. alle Zahlen mit Komma und dann durch die Eval-Funktion interpretieren, dann geht es.
Wichtig ist, dass die Zahlen nicht mit Punkt (1.0) getrennt werden, wie bei float oder number üblich, sondern mit Komma(1,0), dann wird das ganze richtig interpretiert.
Ich hoffe, ich konnte dir helfen.
Gruß
Michael
|
|
11.02.2008 09:25 |
|
|
Manú
Grünschnabel
Dabei seit: 09.02.2008
Beiträge: 5
Themenstarter
 |
|
Hi Michael, ich hab jetzt einfach meine Floats in Strings umgeändert.. Meintest du das?
Also dann funktioniert es aber nicht... Habe jetzt gemerkt, daß wenn ich 1,0/2,0 eintippe das richtige Ergebnis, also 0,5 raus kommt.
Werde jetzt mal schauen ob ich es hinbekomme...
Habe jetzt noch ein weiteres Problem. Mein Taschenrechner sollte eigtl im viw Format, und nicht im .vw Format sein. Also der Taschenrechner sollte im Fenster dargestellt werden, bei mir wird er jedoch unter dem Menüpunkt Ansichten geöffnet.
Welches Projekt bzw Dokument muss ich erstellen für eine viw und kann ich den Code dann einfach dort hinzufügen?
Gruß Manú
|
|
16.02.2008 14:16 |
|
|
Stamic
Jungspund

Dabei seit: 01.10.2007
Beiträge: 17
Einsatzart von VDF: privat Anwenderstatus: Programmierer Herkunft: Villingen-Schwenning
en
 |
|
Hallo Manú,
Ich hatt mir das so gedacht, dass du nicht die Variablen umänderst, sondern einfach beim Klicken auf die Zahlen dein Textfeld erweiterst. Also in deinem Textfeld steht dann z.B. 4+3+21/6*2 und das Ganze lässt du dann durch die Eval Funktion interpretieren. Also einfach nur durch Append den String mit den Werten auf den einzelnen Buttons erweitern.
Ungefähr so: (nagel mich nicht auf den korrekten Syntax fest
)
Get Value of DISPLAY to sDisplay
Get Value of BUTTON to sButton
Move (Append( sDisplay, sButton)) to sDisplay
Dann steht in sDisplay das ganze Zeug inkl. des Wertes von dem Button.
Und dann kommt der Eval(sDisplay), der das Ergebnis ausgibt.
Willst du einfach, dass sich dein View bem Start der Exe automatisch öffnet?
Dazu musst du einfach in deiner Src ganz unten die Zeile einfügen:
Send Activate_DEINVIEWNAME of (oClientArea(oMain))
Nur noch DEINVIEWNAME durch deinen View erstezen
Ich hoffe, dass es klappt.
Gruß
Michael
|
|
18.02.2008 09:04 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Wenn Du kein MDI-Interface möchstest, müsstest Du ein Basic-Project erstellen. Menü "File", "Create New", "Basic Project"
Viele Grüße
Matthias
|
|
18.02.2008 16:13 |
|
|
|
|
|
 |
|