Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-09-2005, 16:54   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 5
lokale DB - Textfeld Variablen Problem

Hallo zusammen,

vorweg, ich bin ein relativer AS Neuling... daher bitte ich um etwas Geduld mit mir...

Ich habe vor mit Flash eine lokale DB für Patienten zu erstellen. Ich habe mir hierzu einen Adressbuch-Script gesucht und versuche diesen jetzt anzupassen.
Hinzufügen, Ändern, Löschen funktionieren auch schon super!

So, nun zu meinen Problemen:
Ich möchte mir aus den gespeicherten Patienten-Daten (Körpergroesse,...) den BMI (Body Mass Index) errechnen lassen. Dafür habe ich eine neues Textfeld erstellt und ihm Variable: var_bmi und Instanz: bmi zugewiesen. Ausserdem habe ich dem Textfeld Körpergröße die Variable: var_groesse gegeben.
In Funktion "Patienten" / Zeile 25 lasse ich nur die Variable BMI errechnen. Dies tut er leider nur für den ersten Patienten, denn wenn man jetzt einen anderen Patienten auswählt, bleibt der BMI gleich.

Hier der Aktuelle Stand: http://www.meg04a.de/patienten.
WICHTIG: Bitte selbstständig 2 Testeinträge inkl. Körpergröße eintragen!

Der komplette Action-Script sieht so aus:
ActionScript:
  1. function Patienten () {
  2.     this.fields = {name: scene.name, vorname: scene.vorname, geburtsdatum: scene.geburtsdatum, geschlecht: scene.geschlecht, groesse: scene.groesse, raum: scene.raum, erstelldatum: scene.erstelldatum, essgewohnheiten: scene.essgewohnheiten, zustand: scene.zustand, diagnosen: scene.diagnosen, medikamente: scene.medikamente, bemerkung: scene.bemerkung, erhoehter_GU: zusatzdaten.erhoehter_GU, leistungs_GU: zusatzdaten.leistungs_GU, proteinbedarf: zusatzdaten.proteinbedarf, fluessigkeitsbedarfchk: zusatzdaten.fluessigkeitsbedarfchk, fluessigkeitsbedarf: zusatzdaten.fluessigkeitsbedarf, fr1: mahlzeiten:fr1, fr2: mahlzeiten:fr2, fr3: mahlzeiten:fr3, fr4: mahlzeiten:fr4, fr5: mahlzeiten:fr5, fr6: mahlzeiten:fr6};
  3.     scene.listBox.setChangeHandler ("refreshFields", this);
  4.     scene.addBtn.setClickHandler ("addBtnHandler", this);
  5.     scene.updateBtn.setClickHandler ("updateBtnHandler", this);
  6.     scene.removeBtn.setClickHandler ("removeBtnHandler", this);
  7.     scene.moredataBtn.setClickHandler ("moredataBtnHandler", this);
  8.     scene.mealBtn.setClickHandler ("mealBtnHandler", this);
  9.     scene.abortBtn.setEnabled (false);
  10.     scene.okBtn.setEnabled (false);
  11.     scene.moredataBtn.setEnabled (false);
  12.     scene.mealBtn.setEnabled (false);
  13.     zusatzdaten._visible = 0;
  14.     mahlzeiten._visible = 0;
  15.     this.refreshListBox (0);
  16.    
  17.     zusatzdaten.leistungs_GU.addItem("Ruhiges Liegen und Sitzen","1,2");
  18.     zusatzdaten.leistungs_GU.addItem("Ruhiges Stehen","1,4");
  19.     zusatzdaten.leistungs_GU.addItem("Gehen","1,85");
  20.     zusatzdaten.leistungs_GU.addItem("leichte Hausarbeit","1,8");
  21.     zusatzdaten.leistungs_GU.addItem("mittelschwere Hausarbeit","2,75");
  22.     zusatzdaten.leistungs_GU.addItem("schwere Hausarbeit","3,7");
  23.     zusatzdaten.leistungs_GU.addItem("Körperlich anstrengende Arbeit","2,2");   
  24.    
  25.     var_bmi = var_groesse / 2;
  26. }
  27. Patienten.prototype.refreshListBox = function (index) {
  28.     var soList = manager.so.data.list;
  29.     scene.listBox.removeAll ()
  30.     var newElement = null;
  31.  
  32.     for (var element in soList) {
  33.         newElement = soList[element].name+" - "+soList[element].vorname;
  34.         scene.listBox.addItem(newElement, soList[element].id);
  35.     }
  36.     if (arguments.length>0) scene.listBox.setSelectedIndex (index);
  37. }
  38. Patienten.prototype.refreshFields = function () {
  39.     var id = scene.listBox.getValue();
  40.     if (id == undefined) {
  41.         for (var element in this.fields) this.fields[element].text = "";
  42.     } else {
  43.         var soElement = manager.so.data.list["_" + id];
  44.         for (var element in this.fields) this.fields[element].text = soElement[element];
  45.     }
  46. }
  47. Patienten.prototype.enterEditMode = function (mode) {
  48.     for (var element in this.fields) {
  49.         if (mode=="addMode") this.fields[element].text = "";
  50.         this.fields[element].type = "input";
  51.         this.fields[element].selectable = true;
  52.     }
  53.     Selection.setFocus(this.fields.name);
  54.     scene.addBtn.setEnabled(false);
  55.     scene.updateBtn.setEnabled(false);
  56.     scene.removeBtn.setEnabled(false);
  57.     scene.listBox.setEnabled(false);
  58.     scene.okBtn.setEnabled (true);
  59.     if (mode=="addMode") scene.okBtn.setClickHandler ("okBtnAddHandler", this);
  60.     else scene.okBtn.setClickHandler ("okBtnUpdateHandler", this);
  61.     scene.abortBtn.setEnabled (true);
  62.     scene.abortBtn.setClickHandler("abortBtnHandler", this);
  63.     scene.moredataBtn.setEnabled (true);
  64.     scene.zusatzdaten.closeBtn.setEnabled (true);
  65.     scene.mealBtn.setEnabled (true);
  66.     zusatzdaten._visible = 0;
  67. }
  68. Patienten.prototype.exitEditMode = function () {
  69.     for (var element in this.fields) {
  70.         this.fields[element].type = "dynamic";
  71.         this.fields[element].selectable = false;
  72.     }
  73.     scene.addBtn.setEnabled(true);
  74.     scene.updateBtn.setEnabled(true);
  75.     scene.removeBtn.setEnabled(true);
  76.     scene.listBox.setEnabled(true);
  77.     scene.abortBtn.setEnabled (false);
  78.     scene.okBtn.setEnabled (false);
  79.     scene.moredataBtn.setEnabled (false);
  80.     scene.mealBtn.setEnabled (false);
  81.     zusatzdaten._visible = 0;
  82. }
  83. Patienten.prototype.addBtnHandler = function () {
  84.     this.enterEditMode ("addMode");
  85. }
  86. Patienten.prototype.updateBtnHandler = function () {
  87.     if (scene.listBox.getSelectedItem() != undefined) this.enterEditMode ("updateMode");
  88. }
  89. Patienten.prototype.removeBtnHandler = function () {
  90.     var id = scene.listBox.getValue();
  91.     manager.removeElement (id);
  92.     this.refreshListBox (0);
  93.     scene.listBox.setScrollPosition (0);
  94.     this.refreshFields ();
  95. }
  96. Patienten.prototype.okBtnAddHandler = function () {
  97.     this.exitEditMode();
  98.     newElement = manager.addElement (
  99.         this.fields.name.text,
  100.         this.fields.vorname.text,
  101.         this.fields.geburtsdatum.text,
  102.         this.fields.geschlecht.text,
  103.         this.fields.groesse.text,
  104.         this.fields.raum.text,
  105.         this.fields.erstelldatum.text,
  106.         this.fields.essgewohnheiten.text,
  107.         this.fields.zustand.text,
  108.         this.fields.diagnosen.text,
  109.         this.fields.medikamente.text,
  110.         this.fields.bemerkung.text,
  111.         this.fields.erhoehter_GU.text,
  112.         this.fields.leistungs_GU.text,
  113.         this.fields.proteinbedarf.text,
  114.         this.fields.fluessigkeitsbedarfchk.text,
  115.         this.fields.fluessigkeitsbedarf.text,
  116.         this.fields.fr1.text,
  117.         this.fields.fr2.text,
  118.         this.fields.fr3.text,
  119.         this.fields.fr4.text,
  120.         this.fields.fr5.text,
  121.         this.fields.fr6.text
  122.     );
  123.     this.refreshListBox ();
  124.     var listLength = scene.listBox.getLength();
  125.     var newID = newElement.id;
  126.     for (var i = 0; i < listLength; i++) {
  127.         if (newID == scene.listBox.getItemAt(i).data) {
  128.             scene.listBox.setSelectedIndex(i);
  129.             break;
  130.         }
  131.     }
  132. }
  133. Patienten.prototype.okBtnUpdateHandler = function () {
  134.     this.exitEditMode();
  135.     var id = scene.listBox.getValue();
  136.     var oldIndex = scene.listBox.getSelectedIndex();
  137.     manager.updateElement (
  138.         id,
  139.         this.fields.name.text,
  140.         this.fields.vorname.text,
  141.         this.fields.geburtsdatum.text,
  142.         this.fields.geschlecht.text,
  143.         this.fields.groesse.text,
  144.         this.fields.raum.text,
  145.         this.fields.erstelldatum.text,
  146.         this.fields.essgewohnheiten.text,
  147.         this.fields.zustand.text,
  148.         this.fields.diagnosen.text,
  149.         this.fields.medikamente.text,
  150.         this.fields.bemerkung.text,
  151.         this.fields.erhoehter_GU.text,
  152.         this.fields.leistungs_GU.text,
  153.         this.fields.proteinbedarf.text,
  154.         this.fields.fluessigkeitsbedarfchk.text,
  155.         this.fields.fluessigkeitsbedarf.text,
  156.         this.fields.fr1.text,
  157.         this.fields.fr2.text,
  158.         this.fields.fr3.text,
  159.         this.fields.fr4.text,
  160.         this.fields.fr5.text,
  161.         this.fields.fr6.text
  162.     );
  163.     this.refreshListBox (oldIndex);
  164. }
  165. Patienten.prototype.abortBtnHandler = function () {
  166.     this.exitEditMode();
  167.     this.refreshFields();
  168. }
  169. Patienten.prototype.moredataBtnHandler = function () {
  170.     zusatzdaten._visible = 1;
  171.     zusatzdaten.closeBtn.setClickHandler ("closeBtnHandler", this);
  172.     zusatzdaten.closeBtn.setEnabled (true);
  173.     zusatzdaten.leistungs_GU.setEnabled (true);
  174.     scene.mealBtn.setEnabled (false);
  175.     scene.moredataBtn.setEnabled (false);
  176. }
  177. Patienten.prototype.closeBtnHandler = function () {
  178.     zusatzdaten._visible = 0;
  179.     mahlzeiten._visible = 0;   
  180.     scene.mealBtn.setEnabled (true);
  181.     scene.moredataBtn.setEnabled (true);
  182. }
  183. Patienten.prototype.mealBtnHandler = function () {
  184.     mahlzeiten._visible = 1;
  185.     mahlzeiten.closeBtn.setClickHandler ("closeBtnHandler", this);
  186.     mahlzeiten.closeBtn.setEnabled (true);
  187.     mahlzeiten.leistungs_GU.setEnabled (true);
  188.     scene.mealBtn.setEnabled (false);
  189.     scene.moredataBtn.setEnabled (false);
  190. }

Hat da jemand eine Idee? - Ich nämlich nicht!

Danke schön!

Geändert von mayko (21-09-2005 um 16:55 Uhr)
mayko ist offline   Mit Zitat antworten
Alt 22-09-2005, 08:31   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 5
Juhuu, selbst geschafft!
Ich habe die Zeile 25 in die Zeile 43 verschoben: Funktion: refreshFields.

Jetzt zu meinem 2ten Problem. Wie bekomm ich die Combobox in den "Zusatzdaten" zum laufen?
Die Speichert immer nur den einen Eintrag.
Beim ersten Aufruf der Seite ist immer "Ruhiges liegen und sitzen" aktiv. Wenn man das für eine Patienten ändert z.B. in "Gehen", dann übernimmt er das für alle Patienten. Habe auch schon versucht das Scriptstück:
ActionScript:
  1. zusatzdaten.leistungs_GU.addItem("Ruhiges Liegen und Sitzen","1,2");
.
.
.
auch in die Zeile 43 zu verschieben. Klappt aber nicht
Hoffe das diesesmal jemand eine Idee hat.
mayko ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele