Visual Dataflex
Zur Startseite Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen
Datenbank RSS Feed Selector Zur User-Map

 
Boardmenü
» Forum
» Portal

» Registrieren
» Suche
» Statistik
» Mitglieder
» Team
» Kalender
» Sponsoren
» Partner

» F.A.Q

Portalmenü
» Datenbank anlegen
» Datenbank Entwicklung
» Empfehlungen
» Portal
» Programm erstellen
» Über visual Dataflex

» Statistik

Dataflex Empfehlungen

Englisches Dataflex Forum


Anzeigen

Sponsoren
Kostenloser Linktausch

Antivirus Software

Foren Verzeichnis

HP Color Laserjet 1600

Windows 7 Forum


Social Bookmark Script

Visual Dataflex » VDF Anfänger » Taschenrechner programmieren » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Taschenrechner programmieren
Autor
Beitrag
Manú
Grünschnabel


Dabei seit: 09.02.2008
Beiträge: 5

Taschenrechner programmieren Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Leute,
ich soll mit VDF einen Taschenrechner programmieren, das Problem dabei ist, ich hab noch nie mit VDF programmiert. Ich hoffe ihr könnt mir ein paar Tipps geben.
Ich bin jetzt schon ein paar Stunden am ausprobieren, hänge jetzt aber fest.

Habe jetzt 1 Display und mehrere Knöpfe (Zahlen von 1-9). Nun würde ich gerne per Mouseklick auf die Buttons einen Wert im Display eingeben, jedoch hab ich das Problem das ich nur max 1 Zahl (1-9) eingeben kann, da ich den wert (value) des Buttons in das Display (also in die Form) übertragen lasse.

Hoffe ihr könnt mir helfen Augenzwinkern


Gruß Manú

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Manú: 09.02.2008 18:26.

09.02.2008 03:44 Manú ist offline E-Mail an Manú senden Beiträge von Manú suchen Nehmen Sie Manú in Ihre Freundesliste auf
Matthias Matthias ist männlich
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

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Matthias ist offline E-Mail an Matthias senden Homepage von Matthias Beiträge von Matthias suchen Nehmen Sie Matthias in Ihre Freundesliste auf
Manú
Grünschnabel


Dabei seit: 09.02.2008
Beiträge: 5

Themenstarter Thema begonnen von Manú
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Manú ist offline E-Mail an Manú senden Beiträge von Manú suchen Nehmen Sie Manú in Ihre Freundesliste auf
Matthias Matthias ist männlich
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

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Matthias ist offline E-Mail an Matthias senden Homepage von Matthias Beiträge von Matthias suchen Nehmen Sie Matthias in Ihre Freundesliste auf
Manú
Grünschnabel


Dabei seit: 09.02.2008
Beiträge: 5

Themenstarter Thema begonnen von Manú
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi Matthias,
funktioniert super smile vielen Dank
Hoffe den Rest schaff ich alleine!

Gruß Manú
09.02.2008 19:09 Manú ist offline E-Mail an Manú senden Beiträge von Manú suchen Nehmen Sie Manú in Ihre Freundesliste auf
Manú
Grünschnabel


Dabei seit: 09.02.2008
Beiträge: 5

Themenstarter Thema begonnen von Manú
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
so da bin ich nochmal.... smile Bin fast fertig jedoch hab ich noch ein Problem.
Ich habe mit der Eval Funktion meine Eingaben verwertet, wie es mir Matthias empfohlen hat. Nun hab ich das Problem beim geteilt Rechnen, daß er mir keine Kommazahlen ausgibt (obwohl ich float variablen benutze).
Sprich, ich rechne 1 / 2 = 0 ?!

Code:
Move (String (fZahlEins) + sRechenzeichen + String(fZahlZwei)) to sErgebnis
Move (Eval(sErgebnis)) to fZahlEins



Hoffe ihr könnt mir heute noch helfen smile

Gruß Manú

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Manú: 10.02.2008 17:35.

10.02.2008 14:02 Manú ist offline E-Mail an Manú senden Beiträge von Manú suchen Nehmen Sie Manú in Ihre Freundesliste auf
Stamic Stamic ist männlich
Jungspund


Dabei seit: 01.10.2007
Beiträge: 17
Einsatzart von VDF: privat
Anwenderstatus: Programmierer
Herkunft: Villingen-Schwenning en

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Augenzwinkern
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 Stamic ist offline E-Mail an Stamic senden Beiträge von Stamic suchen Nehmen Sie Stamic in Ihre Freundesliste auf
Manú
Grünschnabel


Dabei seit: 09.02.2008
Beiträge: 5

Themenstarter Thema begonnen von Manú
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Manú ist offline E-Mail an Manú senden Beiträge von Manú suchen Nehmen Sie Manú in Ihre Freundesliste auf
Stamic Stamic ist männlich
Jungspund


Dabei seit: 01.10.2007
Beiträge: 17
Einsatzart von VDF: privat
Anwenderstatus: Programmierer
Herkunft: Villingen-Schwenning en

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Augenzwinkern )
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 Augenzwinkern

Ich hoffe, dass es klappt.
Gruß
Michael
18.02.2008 09:04 Stamic ist offline E-Mail an Stamic senden Beiträge von Stamic suchen Nehmen Sie Stamic in Ihre Freundesliste auf
Matthias Matthias ist männlich
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

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Matthias ist offline E-Mail an Matthias senden Homepage von Matthias Beiträge von Matthias suchen Nehmen Sie Matthias in Ihre Freundesliste auf
nurix
Grünschnabel


Dabei seit: 18.02.2008
Beiträge: 9

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

d

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von nurix: 20.02.2008 16:08.

20.02.2008 16:07 nurix ist offline E-Mail an nurix senden Beiträge von nurix suchen Nehmen Sie nurix in Ihre Freundesliste auf
Gehe zu:
Neues Thema erstellen Antwort erstellen
Visual Dataflex » VDF Anfänger » Taschenrechner programmieren

Views heute: 2.796 | Views gestern: 2.645 | Views gesamt: 2.187.977

Impressum

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH | SEO by seo-wbb.de - Sponsored by Rene Urlaub und Reise Infos Frankenthal