Formulareditor

Fragen, Anregungen oder Tipps und Tricks? Hier ist der erste Anlaufpunkt.
Nicht sicher, wo ein Thema hingehört? Hier hinein - wir kümmern uns! :)

Moderator: Forum Moderatoren

Forumsregeln
TM-Startforum - "offen für alle Themen".
Beiträge, die in einen anderen Bereich passen, werden bei Bedarf verschoben.
Antworten
tihei
Beiträge: 212
Registriert: Dienstag 20. Dezember 2005, 22:46
20
Hat Dank erhalten: 6 mal
Kontaktdaten:

Formulareditor

Beitrag von tihei »

Hallo,

ich habe versucht, ein praxisspezifisches Formular zu entwerfen, indem ich das vorhandene Formular "Ärztliches Attest" verändert habe. Das hat nach vielem Ausprobieren auch funktioniert, aber ein Problem habe ich noch:

Ich möchte ein Attest haben, auf dem ich im Computer ein Kreuz in eines aus einer Reihe von Kästchen machen kann um zu markieren, was attestiert werden soll (Infektfreiheit, Schulsportbefreiung, ...) Dieses Kästchen habe ich per KOPIEREN-EINFÜGEN aus einem anderen Formular entnommen (zugegebenermaßen nicht sehr professionell) und dann per kopieren mehrfach auf dem Formular vetreilt..

Wenn ich Turbomed starte und das neue Formular erstmals aufrufe, kann ich einmal ein Kästchen anklicken und damit markieren. Wenn ich danach ein anderes Kästchen markieren will, kommt folgende Fehlermeldung: ["ActiveX Script Error "Source TMFTools, Line 152 Char:4 Error:0 "Ungültiger Prozeduraufruf oder ungültiges Argument"]. Nach Verlassen des Formulars und erneutem Aufrufen kommt dies Fehlermeldung sofort wieder, bis ich Turbomed insgesamt verlassen und neu gestartet habe. Dann kann ich wieder genau 1 Kreuzchen setzen.

Ich kenne mich mit VB Script überhaupt nicht aus, habe aber trotzdem mal im Quellcode nachgeschaut. Dort ist in Linie 152 an Stelle 4 nur der Anfangsbuchstabe eines Wortes und auch sonst finde ich nichts, was nach Fehler aussieht.

Woran kann das liegen oder was kann ich tun? Gibt es irgendwo eine kurze aber ausreichende Anleitung für die Gestaltung eines eigenen Formulars, die über die Sparanleitung der Turbomed-Hilfe hinausgeht aber kein abgeschlossenes IT-Studium voraussetzt? Im Wiki bin ich leider auch nicht fündig geworden.

Vielen Dank im Voraus
rfbdoc
PowerUser
Beiträge: 3065
Registriert: Sonntag 30. April 2006, 19:31
20
Hat sich bedankt: 56 mal
Hat Dank erhalten: 100 mal

Re: Formulareditor

Beitrag von rfbdoc »

Hier im Forum finden Sie nur wenig zum Thema VB-Script.
Sie müssen natürlich nicht nur ein Kreuz kopieren, sondern dem Kreuz im Script auch bestimmte Funktionen und Eigenschaften zuordnen.

Übrigens auch die "Profis" fangen immer mit dem "kopieren" an. Das ist wie im wirklichen Leben.

Wenn Sie Interesse haben, schauen sie mal genauer im Wiki nach. z.B. hier http://vondoczudoc-wiki.oblomov.de/doku ... rvertraege oder http://vondoczudoc-wiki.oblomov.de/doku ... re:atteste
R.F.B.
danspie
PowerUser
Beiträge: 858
Registriert: Samstag 15. Juli 2006, 08:48
20
Wohnort: Murnau

Re: Formulareditor

Beitrag von danspie »

VB ist Visual Basic - genauer heißt es VBA- Visual Basic für Anwendungen. Das ist eine echte objektorientierte Programmiersprache. Das klingt kompliziert, ist aber eigentlich ganz einfach (das heißt aber nicht, dass es keine Arbeit macht): Die Elemente wie Kästchen sind sogenannte Objekte. Konkretes Beispiel: nehmen wir ein Objekt Kästchen. Dieses Objekt hat bestimmte Eigenschaften wie Größe, ob es sichtbar oder unsichtbar (sichtbar=True oder False) ist, ob es angekreuzt (Text=X) ist etc, und auch Funktionen, die unter bestimmten Bedingungen ausgeführt werden, beispielsweise wenn das Kästchen angeklickt (MouseClick(ByVal Button , ByVal Index ) ) wird. Nun ist jedes Kästchen auf einem Formular ein "Abkömmling" oder genauer Instanz des Objects Kästchen, man könnte auch sagen, eine Variable vom Typ Kästchen. Diese Variable hat einen Namen, z.B. AutIdemKästchen vom Typ Objekt Kästchen. Mit dieser Variablen AutIdemKästchen wird automatisch auch ein Wert AutIdemKästchen.visible erzeugt, der "true" ist, wenn das AutIdemKästchen sichtbar bzw. "false" wenn AutIdemKästchen unsichtbar ist. Zudem gibt es dann die Funktion AutIdemKästchen.MouseClick( ByVal Button , ByVal Index ), die aufgerufen wird, wenn das Kästchen mit einer Maus angeklickt wird. Dann können Sie beispielsweise die Funktion schreiben, in der beim Anklicken AutIdemKästchen.Text="" wird, wenn das Kreuz gesetzt (also das X kommt weg) war oder AutIdemKästchen.Text="X" (Kreuz wird gesetzt), wenn das Kreuz nicht gesetzt war.
Das muss man natürlich nicht auswendig wissen. Man entwirft sein Formular und gibt jedem Element über Objekteigenschaft(mit re Maustaste anklicken) einen Namen( und setzt dort andere Start-Eigenschaften). Dann startet man mit F7 die Programmierebene. Dort bekommt man für jedes Element (Auswahlfeld li oben "Form") alle möglichen Funktionen (unter Events). Diese Events wie MouseClick muss man dann per Hand programmieren.
Ich hoffe, meine Erklärung ist irgendwie verständlich.
A. Spiegl
Benutzeravatar
wahnfried
Beiträge: 3180
Registriert: Freitag 13. Januar 2006, 23:46
20
Wohnort: Braunschweig

Re: Formulareditor

Beitrag von wahnfried »

Hallo, ich kann auch nur empfehlen, sich bei passwortfreien Formularen oder Formularen mit dem Passwort "tmtest" die Quelltextebene mit ihren Lösungen und Skript-Sub's anzusehen und diese zu versuchen, logisch nachzuvollziehen. Dann kann man mal versuchen, eine solche Funktion zu transplantieren und auf die Gegebenheiten des Zielformulars anzupassen.

Das ist zwar viel "try and error" und "learning by doing", aber nur so bekommt man ohne IT-Studium einen Begriff dafür, wie verschlungen die Wege zur Verwirklichung relativ einfach erscheinender Funktionen meistens sind.

Daher habe ich auch durchaus Verständnis für TurboMed, wenn eine hier einfach mal so gewünschte Eigenschaft des Programmes schwierig umzusetzen ist, da nicht nur eines, sondern meist zusätzlich viele andere Formulare grundsätzlich dafür angepasst werden müssten. Und dann funktioniert wieder irgendwo in einem Formular die in einem anderen Formular entwickelte Veränderung eben nicht oder bei ganz speziellen Programmabläufen kommt dann doch mal ein Scriptfehler, oder die Bezeichnung eines Objektes enthält einfach mal einen Druckfehler, der aber in den Quellcode Eingang gefunden hat an x Stellen..., diese Abhängigkeiten zu durchschauen braucht viel Erfahrung.

Beim Verändern eines Quellcodes nie einfach löschen, sondern gezielt Zeilen, die man von der Funktion her testen will, durch vorangesetztes Apostroph auskommentieren/als Infozeile definieren. Ursprungsformular vorher sichern. Oftmals kommt es dann vor, daß die gewünschte Funktion o.k. zu sein scheint, im Alltagsbetrieb dann aber doch bei irgendeinem Aufruf wieder Scriptfehler auftauchen, weil man beim Testen nicht an alle Abhängigkeiten gedacht hat.

Im Wiki sind etliche selbstentwickelte Formulare zum Download angeboten, an denen man auch freizügig "spielen" kann und die Folgen dieser Spielereien kennenlernen sollte.

Eine Anleitung zum Verändern des Quelltextes und dem Neuprogrammieren gewünschter Eigenschaften kann m.E. schon deswegen nicht im Wiki erscheinen, da solche Anleitungen immer nur auf den Erfahrungen der dies Schreibenden basieren können und die sind immer nur ein Ausschnitt aus dem Ganzen. Selbst dran versuchen und zwar mit Geduld! schafft die eigene Erfahrung. Eine Anleitung müßte sonst fast Lehrbuchcharakter haben, das kann man neben der Praxis nicht leisten. Schon bei den jetzigen Texten des Wiki ist es zeitaufwendig, eine Ergänzung gut zu integrieren, wenn man den Text nicht vorher aus dem ff kennt. Und das sind gegenüber einer Anleitung für VBScript ganz kurz-knappe Themen...

Wenn also jemand sich an eine Anleitung für VBScript im Wiki machen wollte, müßte sie/er eine didaktische Höchstleistung vollbringen. Ich würde mir dies nicht zutrauen, obwohl ich mir schon einiges an Formularveränderungen zugetraut habe.

Viele Grüsse, Wahnfried
Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 11 Gäste