Taschenrechner im Programm

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Taschenrechner im Programm

Beitrag von satmax »

Ich hatte in meinem Clipper Programm einen Taschenrechner den ich per Hotkey im gesamtem Programm aufrufen konnte. Nach der Berechnung konnte man einfach mit der Taste x das Ergebnis in das aktuell Eingabefeld übernehmen. Programmintern wurde das einfach mit keyb in den Tastaturpuffer geschrieben. Egal in welchem Feld der User stand, das Ergebnis wurde immer in das aktuell Eingabefeld übernommen.

Unter Windows habe ich
a) keinen Hotkey
b) kein keyb

Wie löst man unter Windows so eine Aufgabenstellung am besten?
Gruß
Markus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Taschenrechner im Programm

Beitrag von Tom »

Mein Windows-Taschenrechner kopiert immer (automatisch) das letzte Ergebnis in die Zwischenablage. Außerdem ist er eine Funktion, liefert also sein Ergebnis als Wert zurück. Er ist bei allen numerischen Feldern über eine danebenliegende Schaltfläche aufrufbar ("Popup"). Wenn man die wählt, wird automatisch der EditBuffer des danebenstehenden SLE mit dem Rückgabewert befüllt (wenn man mit "OK" beendet). Erreicht wird das über eine abgeleitete Klasse, die das Popup immer gleich mit aufbaut.
Herzlich,
Tom
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Taschenrechner im Programm

Beitrag von satmax »

Das mit der Zwischenablage ist unter Windows eigentlich logisch, hätte ich auch selber draufkommen müssen. :)

Das mit der Schaltfläche ist natürlich eine brauchbare Möglichkeit ersetzt aber nicht wirklich einen Hotkey. Ich bracuhe halt bei jedem Feld einen Button zusätzlich.

Aber auf jeden Fall danke Tom, Du hast mich auf eine neuen Denkansatz gebracht.
Gruß
Markus
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Taschenrechner im Programm

Beitrag von Jan »

Wie wärs, wenn Du den Hotkey in der Event-Schleife abfängst?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Taschenrechner im Programm

Beitrag von Tom »

Den Hotkey gibt es natürlich zusätzlich. Beim Aufruf wird geprüft, ob ein numerisches SLE aktiv war, als z.B. "F2" betätigt wurde, und dann wird entsprechend reagiert.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Taschenrechner im Programm

Beitrag von Tom »

Ich bracuhe halt bei jedem Feld einen Button zusätzlich.
Na ja, Du musst aber nicht jedes SLE ändern, wenn Du einfach eine eigene Klasse ableitest und bei numerischen Feldern automatisch immer eine Schaltfläche erzeugst. Dann ist sie sofort bei allen Eingabefeldern sichtbar. Kür: Sie wird nur angezeigt, wenn das Feld auch bearbeitet werden kann.
Herzlich,
Tom
Antworten