Autor |
Beitrag |
m1sc
      
Beiträge: 17
|
Verfasst: Do 09.05.13 19:46
Ich habe momentan das Problem dass ich folgenden Fehler bekomme:
imageshack.us/f/6/61766561.jpg/
Soweit ich herausgefunden habe liegt das daran dass meine edits mit dem var wert double leer sind.
Das hab ich nun teilweise so lösen können dass wenn man nur 1 zahl eingibt die anderen 2 zu einer 0 gemacht werden.
Allerdings wenn man bei irgend einem fach keine note eingibt gibt es das error.
Hier mal die source es soll ein notendurchschnittsberechner werden die source is noch lange nich fertig, allerdings will ich erstmal den fehler beheben bevor ich weiter mache da es mir doch atm zu schwierig wird mit dem fehler weiter zu machen  :
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376:
| procedure TForm1.Button_AusrechnenClick(Sender: TObject); var deutsch1, deutsch2, deutsch3, deutschergebnis1, deutschnote1: double; deutsch4, deutsch5, deutsch6, deutschergebnis2, deutschnote2: double; englisch1, englisch2, englisch3, englischergebnis1, englischnote1: double; englisch4, englisch5, englisch6, englischergebnis2, englischnote2: double; mathematik1, mathematik2, mathematik3, mathematikergebnis1, mathematiknote1: double; mathematik4, mathematik5, mathematik6, mathematikergebnis2, mathematiknote2: double; vido1, vido2, vido3, vidoergebnis1, vidonote1: double; vido4, vido5, vido6, vidoergebnis2, vidonote2: double; informatik1, informatik2, informatik3, informatikergebnis1, informatiknote1: double; informatik4, informatik5, informatik6, informatikergebnis2, informatiknote2: double; religion1, religion2, religion3, religionergebnis1, religionnote1: double; religion4, religion5, religion6, religionergebnis2, religionnote2: double; sozialkunde1, sozialkunde2, sozialkunde3, sozialkundeergebnis1, sozialkundenote1: double; sozialkunde4, sozialkunde5, sozialkunde6, sozialkundeergebnis2, sozialkundenote2: double; geteiltdeutsch1: double; geteiltenglisch1: double; geteiltmathematik1: double; geteiltinformatik1: double; geteiltvido1: double; geteiltreligion1: double; geteiltsozialkunde1: double;
geteiltdeutsch2: double; geteiltenglisch2: double; geteiltmathematik2: double; geteiltinformatik2: double; geteiltvido2: double; geteiltreligion2: double; geteiltsozialkunde2: double;
begin geteiltdeutsch1:= 0; geteiltdeutsch2:= 0; geteiltenglisch1:= 0; geteiltenglisch2:= 0; geteiltmathematik1:= 0; geteiltmathematik2:= 0; geteiltinformatik1:= 0; geteiltinformatik2:= 0; geteiltvido1:= 0; geteiltvido2:= 0; geteiltreligion1:= 0; geteiltreligion2:= 0; geteiltsozialkunde1:= 0; geteiltsozialkunde2:= 0;
if (Edit1_Deutsch.Text='') OR (Edit1_Deutsch.Text= '0') then Edit1_Deutsch.Text:='0' else geteiltdeutsch1:= geteiltdeutsch1 + 1; if (Edit2_Deutsch.Text='') OR (Edit2_Deutsch.Text='0') then Edit2_Deutsch.Text:='0' else geteiltdeutsch1:= geteiltdeutsch1 + 1; if (Edit3_Deutsch.Text='') OR (Edit3_Deutsch.Text='0') then Edit3_Deutsch.Text:='0' else geteiltdeutsch1:= geteiltdeutsch1 + 1;
if (Edit4_Deutsch.Text='') OR (Edit4_Deutsch.Text= '0') then Edit4_Deutsch.Text:='0' else geteiltdeutsch2:= geteiltdeutsch2 + 1; if (Edit5_Deutsch.Text='') OR (Edit5_Deutsch.Text='0') then Edit5_Deutsch.Text:='0' else geteiltdeutsch2:= geteiltdeutsch2 + 1; if (Edit6_Deutsch.Text='') OR (Edit6_Deutsch.Text='0') then Edit6_Deutsch.Text:='0' else geteiltdeutsch2:= geteiltdeutsch2 + 1;
if (Edit1_Englisch.Text='') OR (Edit1_Englisch.Text= '0') then Edit1_Englisch.Text:='0' else geteiltenglisch1:= geteiltenglisch1 + 1; if (Edit2_Englisch.Text='') OR (Edit2_Englisch.Text= '0') then Edit2_Englisch.Text:='0' else geteiltenglisch1:= geteiltenglisch1 + 1; if (Edit3_Englisch.Text='') OR (Edit3_Englisch.Text= '0') then Edit3_Englisch.Text:='0' else geteiltenglisch1:= geteiltenglisch1 + 1;
if (Edit4_Englisch.Text='') OR (Edit4_Englisch.Text= '0') then Edit4_Englisch.Text:='0' else geteiltenglisch2:= geteiltenglisch2 + 1; if (Edit5_Englisch.Text='') OR (Edit5_Englisch.Text= '0') then Edit5_Englisch.Text:='0' else geteiltenglisch2:= geteiltenglisch2 + 1; if (Edit6_Englisch.Text='') OR (Edit6_Englisch.Text= '0') then Edit6_Englisch.Text:='0' else geteiltenglisch2:= geteiltenglisch2 + 1;
if (Edit1_Mathematik.Text='') OR (Edit1_Mathematik.Text= '0') then Edit1_Mathematik.Text:='0' else geteiltmathematik1:= geteiltmathematik1 + 1; if (Edit2_Mathematik.Text='') OR (Edit2_Mathematik.Text= '0') then Edit2_Mathematik.Text:='0' else geteiltmathematik1:= geteiltmathematik1 + 1; if (Edit3_Mathematik.Text='') OR (Edit3_Mathematik.Text= '0') then Edit3_Mathematik.Text:='0' else geteiltmathematik1:= geteiltmathematik1 + 1;
if (Edit4_Mathematik.Text='') OR (Edit4_Mathematik.Text= '0') then Edit4_Mathematik.Text:='0' else geteiltmathematik2:= geteiltmathematik2 + 1; if (Edit5_Mathematik.Text='') OR (Edit5_Mathematik.Text= '0') then Edit5_Mathematik.Text:='0' else geteiltmathematik2:= geteiltmathematik2 + 1; if (Edit6_Mathematik.Text='') OR (Edit6_Mathematik.Text= '0') then Edit6_Mathematik.Text:='0' else geteiltmathematik2:= geteiltmathematik2 + 1;
if (Edit1_Informatik.Text='') OR (Edit1_Informatik.Text= '0') then Edit1_Informatik.Text:='0' else geteiltinformatik1:= geteiltinformatik1 + 1; if (Edit2_Informatik.Text='') OR (Edit2_Informatik.Text= '0') then Edit2_Informatik.Text:='0' else geteiltinformatik1:= geteiltinformatik1 + 1; if (Edit3_Informatik.Text='') OR (Edit3_Informatik.Text= '0') then Edit3_Informatik.Text:='0' else geteiltinformatik1:= geteiltinformatik1 + 1;
if (Edit4_Informatik.Text='') OR (Edit4_Informatik.Text= '0') then Edit4_Informatik.Text:='0' else geteiltinformatik2:= geteiltinformatik2 + 1; if (Edit5_Informatik.Text='') OR (Edit5_Informatik.Text= '0') then Edit5_Informatik.Text:='0' else geteiltinformatik2:= geteiltinformatik2 + 1; if (Edit6_Informatik.Text='') OR (Edit6_Informatik.Text= '0') then Edit6_Informatik.Text:='0' else geteiltinformatik2:= geteiltinformatik2 + 1;
if (Edit1_VIDO.Text='') OR (Edit1_VIDO.Text= '0') then Edit1_VIDO.Text:='0' else geteiltvido1:= geteiltvido1 + 1; if (Edit2_VIDO.Text='') OR (Edit2_VIDO.Text= '0') then Edit2_VIDO.Text:='0' else geteiltvido1:= geteiltvido1 + 1; if (Edit3_VIDO.Text='') OR (Edit3_VIDO.Text= '0') then Edit3_VIDO.Text:='0' else geteiltvido1:= geteiltvido1 + 1;
if (Edit4_VIDO.Text='') OR (Edit4_VIDO.Text= '0') then Edit4_VIDO.Text:='0' else geteiltvido2:= geteiltvido2 + 1; if (Edit5_VIDO.Text='') OR (Edit5_VIDO.Text= '0') then Edit5_VIDO.Text:='0' else geteiltvido2:= geteiltvido2 + 1; if (Edit6_VIDO.Text='') OR (Edit6_VIDO.Text= '0') then Edit6_VIDO.Text:='0' else geteiltvido2:= geteiltvido2 + 1;
if (Edit1_Sozialkunde.Text='') OR (Edit1_Sozialkunde.Text= '0') then Edit1_Sozialkunde.Text:='0' else geteiltvido1:= geteiltvido1 + 1; if (Edit2_Sozialkunde.Text='') OR (Edit2_Sozialkunde.Text= '0') then Edit2_Sozialkunde.Text:='0' else geteiltvido1:= geteiltvido1 + 1; if (Edit3_Sozialkunde.Text='') OR (Edit3_Sozialkunde.Text= '0') then Edit3_Sozialkunde.Text:='0' else geteiltvido1:= geteiltvido1 + 1;
if (Edit4_Sozialkunde.Text='') OR (Edit4_Sozialkunde.Text= '0') then Edit4_Sozialkunde.Text:='0' else geteiltvido2:= geteiltvido2 + 1; if (Edit5_Sozialkunde.Text='') OR (Edit5_Sozialkunde.Text= '0') then Edit5_Sozialkunde.Text:='0' else geteiltvido2:= geteiltvido2 + 1; if (Edit6_Sozialkunde.Text='') OR (Edit6_Sozialkunde.Text= '0') then Edit6_Sozialkunde.Text:='0' else geteiltvido2:= geteiltvido2 + 1;
if (Edit1_Religion.Text='') OR (Edit1_Religion.Text= '0') then Edit1_Religion.Text:='0' else geteiltvido1:= geteiltvido1 + 1; if (Edit2_Religion.Text='') OR (Edit2_Religion.Text= '0') then Edit2_Religion.Text:='0' else geteiltvido1:= geteiltvido1 + 1; if (Edit3_Religion.Text='') OR (Edit3_Religion.Text= '0') then Edit3_Religion.Text:='0' else geteiltvido1:= geteiltvido1 + 1;
if (Edit4_Religion.Text='') OR (Edit4_Religion.Text= '0') then Edit4_Religion.Text:='0' else geteiltvido2:= geteiltvido2 + 1; if (Edit5_Religion.Text='') OR (Edit5_Religion.Text= '0') then Edit5_Religion.Text:='0' else geteiltvido2:= geteiltvido2 + 1; if (Edit6_Religion.Text='') OR (Edit6_Religion.Text= '0') then Edit6_Religion.Text:='0' else geteiltvido2:= geteiltvido2 + 1;
deutsch1 := StrToFloat(Edit1_Deutsch.Text); deutsch2 := StrToFloat(Edit2_Deutsch.Text); deutsch3 := StrToFloat(Edit3_Deutsch.Text); deutschergebnis1 := deutsch1 + deutsch2 + deutsch3; deutschnote1 := deutschergebnis1/geteiltdeutsch1; LB_Deutsch1halbjahr.Caption := FloatToStr(deutschnote1);
deutsch4 := StrToFloat(Edit4_Deutsch.Text); deutsch5 := StrToFloat(Edit5_Deutsch.Text); deutsch6 := StrToFloat(Edit6_Deutsch.Text); deutschergebnis2 := deutsch4 + deutsch5 + deutsch6; deutschnote2 := deutschergebnis2/geteiltdeutsch2; LB_Deutsch2halbjahr.Caption := FloatToStr(deutschnote2);
englisch1 := StrToFloat(Edit1_Englisch.Text); englisch2 := StrToFloat(Edit2_Englisch.Text); englisch3 := StrToFloat(Edit3_Englisch.Text); englischergebnis1 := englisch1 + englisch2 + englisch3; englischnote1 := englischergebnis1/geteiltenglisch1; LB_Englisch1halbjahr.Caption := FloatToStr(englischnote1);
englisch4 := StrToFloat(Edit4_Englisch.Text); englisch5 := StrToFloat(Edit5_Englisch.Text); englisch6 := StrToFloat(Edit6_Englisch.Text); englischergebnis2 := englisch4 + englisch5 + englisch6; englischnote2 := englischergebnis2/geteiltenglisch2; LB_Englisch2halbjahr.Caption := FloatToStr(englischnote2);
mathematik1 := StrToFloat(Edit1_Mathematik.Text); mathematik2 := StrToFloat(Edit2_Mathematik.Text); mathematik3 := StrToFloat(Edit3_Mathematik.Text); mathematikergebnis1 := mathematik1 + mathematik2 + mathematik3; mathematiknote1 := mathematikergebnis1/geteiltmathematik1; LB_Mathematik1halbjahr.Caption := FloatToStr(mathematiknote1);
mathematik4 := StrToFloat(Edit4_Mathematik.Text); mathematik5 := StrToFloat(Edit5_Mathematik.Text); mathematik6 := StrToFloat(Edit6_Mathematik.Text); mathematikergebnis2 := mathematik4 + mathematik5 + mathematik6; mathematiknote2 := mathematikergebnis2/geteiltmathematik2; LB_Mathematik2halbjahr.Caption := FloatToStr(mathematiknote2);
informatik1 := StrToFloat(Edit1_Informatik.Text); informatik2 := StrToFloat(Edit2_Informatik.Text); informatik3 := StrToFloat(Edit3_Informatik.Text); informatikergebnis1 := informatik1 + informatik2 + informatik3; informatiknote1 := informatikergebnis1/geteiltinformatik1; LB_Informatik1halbjahr.Caption := FloatToStr(informatiknote1);
informatik4 := StrToFloat(Edit4_Informatik.Text); informatik5 := StrToFloat(Edit5_Informatik.Text); informatik6 := StrToFloat(Edit6_Informatik.Text); informatikergebnis2 := informatik4 + informatik5 + informatik6; informatiknote2 := informatikergebnis2/geteiltinformatik2; LB_Informatik2halbjahr.Caption := FloatToStr(informatiknote2);
vido1 := StrToFloat(Edit1_Vido.Text); vido2 := StrToFloat(Edit2_Vido.Text); vido3 := StrToFloat(Edit3_Vido.Text); vidoergebnis1 := vido1 + vido2 + vido3; vidonote1 := vidoergebnis1/geteiltvido1; LB_Vido1halbjahr.Caption := FloatToStr(vidonote1);
vido4 := StrToFloat(Edit4_Vido.Text); vido5 := StrToFloat(Edit5_Vido.Text); vido6 := StrToFloat(Edit6_Vido.Text); vidoergebnis2 := vido4 + vido5 + vido6; vidonote2 := vidoergebnis2/geteiltvido2; LB_Vido2halbjahr.Caption := FloatToStr(vidonote2);
sozialkunde1 := StrToFloat(Edit1_Sozialkunde.Text); sozialkunde2 := StrToFloat(Edit2_Sozialkunde.Text); sozialkunde3 := StrToFloat(Edit3_Sozialkunde.Text); sozialkundeergebnis1 := sozialkunde1 + sozialkunde2 + sozialkunde3; sozialkundenote1 := sozialkundeergebnis1/geteiltsozialkunde1; LB_Sozialkunde1halbjahr.Caption := FloatToStr(sozialkundenote1);
sozialkunde4 := StrToFloat(Edit4_Sozialkunde.Text); sozialkunde5 := StrToFloat(Edit5_Sozialkunde.Text); sozialkunde6 := StrToFloat(Edit6_Sozialkunde.Text); sozialkundeergebnis2 := sozialkunde4 + sozialkunde5 + sozialkunde6; sozialkundenote2 := sozialkundeergebnis2/geteiltsozialkunde2; LB_Sozialkunde2halbjahr.Caption := FloatToStr(sozialkundenote2);
religion1 := StrToFloat(Edit1_Religion.Text); religion2 := StrToFloat(Edit2_Religion.Text); religion3 := StrToFloat(Edit3_Religion.Text); religionergebnis1 := religion1 + religion2 + religion3; religionnote1 := religionergebnis1/geteiltreligion1; LB_Religion1halbjahr.Caption := FloatToStr(religionnote1);
religion4 := StrToFloat(Edit4_Religion.Text); religion5 := StrToFloat(Edit5_Religion.Text); religion6 := StrToFloat(Edit6_Religion.Text); religionergebnis2 := religion4 + religion5 + religion6; religionnote2 := religionergebnis2/geteiltreligion2; LB_Religion2halbjahr.Caption := FloatToStr(religionnote2); |
Moderiert von Narses: Titel geändert, war: "Fehlermeldung "Ungültige Gleitkommerzahl"".
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 20:18
StrToFloat liefert eine Gleitkommazahl, aber nur wenn es auch eine Zahl ist !
probier mal TryStrToFloat...
hier gibt es ein paramter mehr, wenn X zur gleitkommazahl werden soll, dann schreib das so
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if TryStrToFloat( EditkeineAhnungWas.Text, X) then begin Showmessage('Hat geklappt'); end else begin Showmessage('Konnte nicht umgewandelt werden'); end; |
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
m1sc 
      
Beiträge: 17
|
Verfasst: Do 09.05.13 20:28
Ich versteh nich was ich mit dem quellcode anfangen soll, wie soll der mir helfen das problem zu fixen?
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 20:28
Und du könntest das ganze viel einfacher machen..
wenn du 3 EditFelder hast pro Fach (Halbjahr 1,2 und 3)
Dann kannst du doch einfach
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| Function TForm1.GibDurchschnitt(Halbjahr1, Halbjahr2: TEdit): Single; var Gesamt: Byte; Note: Byte; AaN: Byte; begin
Gesamt := 0; AaN := 0;
if TryStrToInt( Halbjahr1.Text, Note) then begin inc(Gesamt, Note); inc(AaN); end;
if TryStrToInt( Halbjahr2.Text, Note) then begin inc(Gesamt, Note); inc(AaN); end;
if (AaN=0) then begin Showmessage('Du hast keine Noten angeben'); end else begin Result := Gesamt / AaN; end; end; |
das rechnet den Durchschnitt pro Halbjahr aus... die Jahresnote wäre dann
Delphi-Quelltext 1: 2: 3: 4: 5:
| var JahresNote: Single; begin Jahresnote := (GibDurchschnitt( DeutschEdit1, DeutschEdit2) + GibDurchschnitt(DeutschEdit3, DeutschEdit4)) /2; ErgebnisLabel.Caption := FloatToStr(Jahresnote); end; |
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Zuletzt bearbeitet von IhopeonlyReader am Do 09.05.13 20:34, insgesamt 1-mal bearbeitet
|
|
m1sc 
      
Beiträge: 17
|
Verfasst: Do 09.05.13 20:28
m1sc hat folgendes geschrieben : | Ich versteh nich was ich mit dem quellcode anfangen soll, wie soll der mir helfen das problem zu fixen? |
Trystrtofloat funktioniert nicht.
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 20:32
TryStrToInt würde auch reichen, da du ja ganze Noten (in Punkten) hast
Bedenke: 2 Paramenter !
Als 1 der String, das 2 das was dazu werden soll..
dann schreibst du anstatt
Delphi-Quelltext 1: 2: 3:
| X := StrToFloat(Edit1.Text); TryStrToFloat(Edit1.Text, X); |
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
m1sc 
      
Beiträge: 17
|
Verfasst: Do 09.05.13 20:37
//erstes halbjahr deutsch errechnet
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| TryStrToFloat(Edit1_Deutsch.Text, deutsch1); TryStrToFloat(Edit2_Deutsch.Text, deutsch2); TryStrToFloat(Edit3_Deutsch.Text, deutsch3); deutschergebnis1 := deutsch1 + deutsch2 + deutsch3; deutschnote1 := deutschergebnis1/geteiltdeutsch1; LB_Deutsch1halbjahr.Caption := FloatToStr(deutschnote1);
TryStrToFloat(Edit4_Deutsch.Text, deutsch4); TryStrToFloat(Edit5_Deutsch.Text, deutsch5); TryStrToFloat(Edit6_Deutsch.Text, deutsch6); deutschergebnis2 := deutsch4 + deutsch5 + deutsch6; deutschnote2 := deutschergebnis2/geteiltdeutsch2; LB_Deutsch2halbjahr.Caption := FloatToStr(deutschnote2); |
geht immernoch ned
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 20:41
wenn du unbedingt deine ganzen variablen etc. beibehalten willst, dann musst du auch dafür sorgen, dass nur gerechnet wird, wenn alle strings in zahlen umgewandlet werden konnten also
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if TryStrToFloat(Edit1_Deutsch.Text, deutsch1) and TryStrToFloat(Edit2_Deutsch.Text, deutsch2) and TryStrToFloat(Edit3_Deutsch.Text, deutsch3) then begin deutschergebnis1 := deutsch1 + deutsch2 + deutsch3; deutschnote1 := deutschergebnis1/geteiltdeutsch1; LB_Deutsch1halbjahr.Caption := FloatToStr(deutschnote1); end else LB_Deutsch1halbjahr.Caption := 'Fehler'; |
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
m1sc 
      
Beiträge: 17
|
Verfasst: Do 09.05.13 20:46
Du verstehst glaub ich ganed was ich genau machen will.
Es soll möglich sein bis zu 3 Noten einzugeben.
Es soll aber auch ein Durchschnitt errechnet werden wenn man nur 2 zahlen eingibt.
Das bedeutet ich muss dem code mitteilwen dass wenn 3 noten da stehen durch 3 gerechnet wird und bei 2 durch 2.
Das Problem hab ich gelöst für ein 3er feld. Allerdings ist das Problem jetzt es müssen überall min 1 Zahl eingegeben werden.
Wenn man nun bei mathe sozi und deutsch was eingibt, alle andern aber frei lässt. Gibs den error.
Wenn man hingegen überall min 1 Zahl eingibt geht es.
[url= imageshack.us/photo/...s/189/49657314.jpg/] [/URL]
Edit:
Hier mal das komplette projekt vllt siehst du dann was ich mein:
www.file-upload.net/...ittsrechner.rar.html
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 20:52
dir musst man schritt für schritt erklären oder?
TryStrToFloat lassen wir mal weg, und tauschen es gegen
TryStrToInt da es ja nur "ganze" Noten gibt (gibt ja keine 2.5)
Wenn ein Feld leer ist, liefert TryStrToInt das Ergebnis false
also mach es so wie ich es in meinem 3 post geschrieben habe.. stell mal bitte dein ganzen "Ordner" also dein ganzes Project hier rein, dann programmier ich dir das mal eben "anders" und kommentiere es dir aus...
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
m1sc 
      
Beiträge: 17
|
Verfasst: Do 09.05.13 20:54
Nein Int gehen nicht da wenn man 1 und 2 hat eine 1,5 hat was ja auch so stimmt, der lehrer bestimmt ja dann ob er auf oder abrundet von daher brauch ich , zahlen.
www.file-upload.net/...ittsrechner.rar.html
Edit: mir bringt es nix wenn du das machst ich mach das einfach so aus langeweile um nen bisschen was dabei zu lernen^^
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 21:28
ich habe es jetzt programmiert, es fehlen noch 5 fächer.. aber da musst du nur kopieren und die Namen ersetzten.. es ist wirklich sehr einfach gehalten und ich denke es ist alles selbsterklärend
Falls es weitere Probleme gibt melde dich
oder falls du fragen zum code hast
Einloggen, um Attachments anzusehen!
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
m1sc 
      
Beiträge: 17
|
Verfasst: Do 09.05.13 22:07
Edit: ich geh pennen is mir alles gerade zu blöd
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 09.05.13 22:37
ok, hast du dir das angeschaut und verstanden?
sonst bis morgen 
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Tranx
      
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: Fr 10.05.13 09:06
Also, ich würde die ganzen Noten in Arrays packen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| const MaxNr = 3; Deutsch = 1; Englisch = 2; Mathematik = 3; Informatik = 4; VIDO = 5; Sozialkunde = 6; Religion = 7;
HalbJahr1 = 1; HalbJahr2 = 2; GanzesJahr = 3;
type NotenArr = Array[HalbJahr1..HalbJahr2,Deutsch..Religion,1..MaxNr] of integer; NotenFeldArr = Array[HalbJahr1..Halbjahr2,Deutsch..Religion,1..MaxNr] of TEdit; TeilerArr = Array[HalbJahr1..HalbJahr2,Deutsch..Religion] of integer; ErgebnisArr = Array[Halbjahr1..GanzesJahr,Deutsch..Religion] of single; ErgebnisFeldArr = Array[Halbjahr1..GanzesJahr,Deutsch..Religion] of TEdit; var Note : NotenArr; NotenFeld : NotenFeldArr; Teiler: TeilerArr; Ergebnis : ErgebnisArr; ErgebnisFeld : ErgebnisFeldArr; |
Dann wird a) Dein Programmtext wesentlich übersichtlicher und b) Du kannst über Indices die Abfragen gestalten.
Am Anfang des Programms belegst Du das Array Notenfeld mit den Editkomponenten des , und dann kannst Du über Indices alle Abfragen wie folgt gestalten:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53:
|
Dann kannst Du die Belegung wie folgt machen:
procedure TForm1.NotenfeldBelegung(Sender : TObject); var TC : TComponent; s : string; i, Halbjahr, Fach, Nr : integer; begin for i := 0 to ComponentCount-1 do begin TC := Components[i]; if TC = TEdit then begin s := TEdit(TC).Name; if s[1] = 'H' then begin try Halbjahr := StrToInt(Copy(s,2,1)); except Halbjahr := 0; end; try Fach := StrToInt(Copy(s,4,2)); except Fach = 0; end; try Nr := StrToInt(Copy(s,7,1)); except Nr := 0; end; if Halbjahr*Fach*Nr<>0 then begin Notenfeld[Halbjahr,Fach,Nr] := TEdit(TC); end else if (Halbjahr*Fach<>0) then begin ErgebnisFeld[HalbJahr,Fach] := TEdit(TC); end; end; end; end; end; |
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77:
| var Halbjahr, Fach, Nr : integer;
:
for Fach := Deutsch to Religion do begin Teiler[Halbjahr1,Fach] := 0; Teiler[Halbjahr2,Fach] := 0; for HalbJahr := Halbjahr1 to Halbjahr2 do begin for Nr = 1 to MaxNr do begin if (Notenfeld[Halbjahr,Fach,Nr].Text='') then Notenfeld[Halbjahr,Fach,Nr].Text='' := '0'; if (Notenfeld[Halbjahr,Fach,Nr].Text <> '0') then Inc(Teiler[Halbjahr,Fach]); try Note[HalbJahr,Fach,Nr] := StrToInt(Notenfeld[Halbjahr,Fach,Nr].Text); except Note[HalbJahr,Fach,Nr] := 0; Dec(Teiler[Halbjahr,Fach]); Notenfeld[Halbjahr,Fach,Nr].SetFocus; Exit; end; end; end; end;
for Fach := Deutsch to Religion do begin Ergebnis[Halbjahr1,Fach] := 0.0; Ergebnis[Halbjahr2,Fach] := 0.0; for HalbJahr := Halbjahr1 to Halbjahr2 do begin If Teiler[Halbjahr, Fach]>0 then begin for Nr = 1 to MaxNr do begin Ergebnis[Halbjahr,Fach] := Ergebnis[Halbjahr,Fach] + Note[HalbJahr,Fach,Nr]/Teiler[Halbjahr,Fach]; end; end else begin Ergebnis[Halbjahr,Fach] := 0.0; end; end; end;
for Fach := Deutsch to Religion do begin if Ergebnis[Halbjahr1,Fach] = 0.0 then begin if Ergebnis[Halbjahr2,Fach] = 0.0 then begin Ergebnis[GanzesJahr,Fach] := 0.0; end else begin Ergebnis[GanzesJahr,Fach] := Ergebnis[Halbjahr2,Fach]; end; end else if Ergebnis[Halbjahr2,Fach] = 0.0 then begin Ergebnis[GanzesJahr,Fach] := Ergebnis[Halbjahr1,Fach]; end else begin Ergebnis[GanzesJahr,Fach] := 0.5*(Ergebnis[Halbjahr1,Fach]+Ergebnis[Halbjahr1,Fach]); end; end; |
Nun, ist das übersichtlicher? Und auch bequemer um weitere Fächer (Sport, Bio, ....) oder vier, statt drei Teilnoten pro Halbjahr zu erweitern. In diesem Sinne, fröhliches Erlernden der Sprache Delphi!
>>>>ÄNDERUNG:<<<<<<<
Einführung eines Maxindex für Nummer, damit ohne Codeänderung das Programm auch bei 4,5,6 statt 3 Teilnoten je Halbjahr funktioniert.
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
Zuletzt bearbeitet von Tranx am Sa 11.05.13 08:03, insgesamt 1-mal bearbeitet
|
|
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Fr 10.05.13 20:28
ok, mit Arrays hat man die ganzen variablen noch, dass stimmt.. aber übersichtlicher ?
Also naja^^ bei mir gibt's eine Funktion und es werden nur andere Edits eingesetzt..
bei dir dagegen
jeder seine Meinung, ich finde meine "Art" übersichtlich...
und @ Tranx vielleicht solltest du dir die Funktion Copy nochmal anschauen
Copy('Hallo', 2, 2) liefert 'al'
Du überspringst somit einige Buchstabenteile...
copy(s, 2, 1) liefert 2te zeichen
Copy(s, 4, 2) liefert 4te und 5te Zeichen.. was mit dem 3ten Zeichen?
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Tranx
      
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: Sa 11.05.13 07:54
IhopeonlyReader hat folgendes geschrieben : | ok, mit Arrays hat man die ganzen variablen noch, dass stimmt.. aber übersichtlicher ?
Also naja^^ bei mir gibt's eine Funktion und es werden nur andere Edits eingesetzt..
bei dir dagegen
jeder seine Meinung, ich finde meine "Art" übersichtlich...
und @ Tranx vielleicht solltest du dir die Funktion Copy nochmal anschauen
Copy('Hallo', 2, 2) liefert 'al'
Du überspringst somit einige Buchstabenteile...
copy(s, 2, 1) liefert 2te Zeichen
Copy(s, 4, 2) liefert 4te und 5te Zeichen.. was mit dem 3ten Zeichen? |
Beachte bitte, wie ich vorgeschlagen habe, die Editfelder zu benennen: HxFyyNz
Dann frage ich nur das 2., das 4.+5. und das 7. Zeichen ab. Das sind die Nummern der Indices von Halbjahr, Fach und Nr. des Editfeld-Arrays. Es wäre sehr viel komplizierter, die Fächer in den Namen der Editfelder auszuschreiben und dann mit den Editfeldnamen das Array zu belegen, als so. Das 3. und 6. Zeichen dient nur dazu, dass nicht ein reiner Nummernsalat im Feldnamen steht. Was im Übrigen auch - soweit ich es weiß - nicht erlaubt ist (Feldernamen komplett mit Ziffern) Man kann auch den Feldnamen so definieren:
Halbjahr1Fach01Nr1, Dann wären die Teilbereiche für den Index Halbjahr: Copy(s, 9, 1), Fach: copy(s,14,2), Nr: Copy(s,18,1)
P.S. und was ist, wenn statt 3, 4 Teilnoten pro Halbjahr definiert werden? Dann muss man die Prozedur GibDurchschnitt ändern. Bei meiner Version benötigst Du nur die neuen Editfelder gemäß der Vorgaben und den Indexlauf von 1 ... 4 statt 1 .. 3 bei Nummer! Alles andere bleibt.
Und als Funktion kann man das ebenfalls organisieren:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105:
| function TForm1.NormiereNotenfelder : boolean; var Halbjahr, Fach, Nr : integer; begin Result := FALSE; for Fach := Deutsch to Religion do begin Teiler[Halbjahr1,Fach] := 0; Teiler[Halbjahr2,Fach] := 0; for HalbJahr := Halbjahr1 to Halbjahr2 do begin for Nr = 1 to MaxNr do begin if (Notenfeld[Halbjahr,Fach,Nr].Text='') then Notenfeld[Halbjahr,Fach,Nr].Text='' := '0'; if (Notenfeld[Halbjahr,Fach,Nr].Text <> '0') then Inc(Teiler[Halbjahr,Fach]); try Note[HalbJahr,Fach,Nr] := StrToInt(Notenfeld[Halbjahr,Fach,Nr].Text); except
Note[HalbJahr,Fach,Nr] := 0; Dec(Teiler[Halbjahr,Fach]);
Notenfeld[Halbjahr,Fach,Nr].SetFocus; Exit; end; end; end; end; Result := TRUE; end;
function TForm.Halbjahresnote(Halbjahr, Fach : integer) : single; var Nr : integer; begin Result := 0.0; try If Teiler[Halbjahr, Fach]>0 then begin for Nr = 1 to MaxNr do begin Ergebnis[Halbjahr,Fach] := Ergebnis[Halbjahr,Fach] + Note[HalbJahr,Fach,Nr]/Teiler[Halbjahr,Fach]; end; end; except Result := 0.0; end; end;
function TForm1.Ganzjahrsnote(Fach : integer) : single; begin if Ergebnis[Halbjahr1,Fach] = 0.0 then begin if Ergebnis[Halbjahr2,Fach] = 0.0 then begin Result := 0.0; end else begin Result := Ergebnis[Halbjahr2,Fach]; end; end else if Ergebnis[Halbjahr2,Fach] = 0.0 then begin Result := Ergebnis[Halbjahr1,Fach]; end else begin Result := 0.5*(Ergebnis[Halbjahr1,Fach]+Ergebnis[Halbjahr1,Fach]); end; end;
procedure TForm1.Berechne(Sender : TObject); var Halbjahr, Fach : integer; begin if NormiereNotenfelder then begin for Fach := Deutsch to Religion do begin for HalbJahr := Halbjahr1 to Halbjahr2 do begin Ergebnis[Halbjahr, Fach] := Halbjahresnote(Halbjahr, Fach); end; Ergebnis[GanzesJahr, Fach] := Jahresnote(Fach); end; end else begin end; end; |
Was sagst Du dazu?
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
|
|
Blawen
      
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Sa 11.05.13 10:00
m1sc hat folgendes geschrieben: | Du verstehst glaub ich ganed was ich genau machen will. |
Es liegt selten an den Helfern
m1sc hat folgendes geschrieben : | Edit: ich geh pennen is mir alles gerade zu blöd |
Bitte überfordert ihn nicht
Als kleiner und gut gemeinter Tipp:
Um die Lesbarkeit Deines Quellcodes zu erhöhen, ist es ungemein praktisch, wenn er schön formatiert ist.
Nebeneffekt: die Fehler und die Ablauflogik springen einem dabei förmlich ins Auge.
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
Tranx
      
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: Sa 11.05.13 10:28
Gerade bei Eingaben kann man viel verkehrt machen, da ja diese in TEdit-Feldern nicht kontrolliert werden. Gibt man z.B. in eines der Felder statt einer Ziffer z.B. "A" oder - noch schlimmer - ALT 255 (geschütztes Leerzeichen) ein, so wird dieses Feld bei der Umwandlung in eine Zahl einen Fehler produzieren. Besser wäre m.E. die Verwendung von SpinEdit-Komponenten. Dort kann man nur Zahlen eingeben, deren Bereich man auch noch begrenzen kann (z.B.: 0 .. 6), so dass nur gültige Noten eingegeben werden können. Vorteil ist auch noch, dass man über Cursor-Tasten den Wert des Feldes verändern kann. Wobei im vorliegenden Fall die 0 dann für "keine Note" stände.
Vielleicht denkst Du mal darüber nach. Zumal dann auch die Notenübergabe aus den Feldern in die Noten viel einfacher wäre:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| try Note := StrToInt(EditFeld.Text); if (Note<0) then Note := 0 else if (Note>6) then Note := 6; except Note := 0; end;
Note := SpinEditFeld.Value; |
Überzeugt?
Und gleich die Übertragung in meinen Vorschlag:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184:
| const MaxNr = 3; Deutsch = 1; Englisch = 2; Mathematik = 3; Informatik = 4; VIDO = 5; Sozialkunde = 6; Religion = 7;
HalbJahr1 = 1; HalbJahr2 = 2; GanzesJahr = 3;
type NotenArr = Array[HalbJahr1..HalbJahr2,Deutsch..Religion,1..MaxNr] of integer; NotenFeldArr = Array[HalbJahr1..Halbjahr2,Deutsch..Religion,1..MaxNr] of TSpinEdit; TeilerArr = Array[HalbJahr1..HalbJahr2,Deutsch..Religion] of integer; ErgebnisArr = Array[Halbjahr1..GanzesJahr,Deutsch..Religion] of single; ErgebnisFeldArr = Array[Halbjahr1..GanzesJahr,Deutsch..Religion] of TEdit; var Note : NotenArr; NotenFeld : NotenFeldArr; Teiler: TeilerArr; Ergebnis : ErgebnisArr; ErgebnisFeld : ErgebnisFeldArr;
Dann kannst Du die Belegung wie folgt machen:
procedure TForm1.NotenfeldBelegung(Sender : TObject); var TC : TComponent; s : string; i, Halbjahr, Fach, Nr : integer; begin for i := 0 to ComponentCount-1 do begin TC := Components[i]; if TC is TSpinEdit then begin s := TSpinEdit(TC).Name; if s[1] = 'H' then begin try Halbjahr := StrToInt(Copy(s,2,1)); except Halbjahr := 0; end; try Fach := StrToInt(Copy(s,4,2)); except Fach = 0; end; try Nr := StrToInt(Copy(s,7,1)); except Nr := 0; end; if Halbjahr*Fach*Nr<>0 then begin Notenfeld[Halbjahr,Fach,Nr] := TSpinEdit(TC); end; end; end else if TC is TEdit then begin s := TEdit(TC).Name; if s[1] = 'H' then begin try Halbjahr := StrToInt(Copy(s,2,1)); except Halbjahr := 0; end; try Fach := StrToInt(Copy(s,4,2)); except Fach = 0; end; if Halbjahr*Fach<>0 then begin Ergebnisfeld[Halbjahr,Fach] := TEdit(TC); end; end; end; end; end;
procedure TForm1.BelegeNoten; var Halbjahr, Fach, Nr : integer; begin for Fach := Deutsch to Religion do begin Teiler[Halbjahr1,Fach] := 0; Teiler[Halbjahr2,Fach] := 0; for HalbJahr := Halbjahr1 to Halbjahr2 do begin for Nr = 1 to MaxNr do begin Note[HalbJahr,Fach,Nr] := Notenfeld[Halbjahr,Fach,Nr].Value; if Note[Halbjahr,Fach,Nr]>0 then Inc(Teiler[Halbjahr,Fach]); end; end; end; end;
function TForm.Halbjahresnote(Halbjahr, Fach : integer) : single; var Nr : integer; begin Result := 0.0; try If Teiler[Halbjahr, Fach]>0 then begin for Nr = 1 to MaxNr do begin Ergebnis[Halbjahr,Fach] := Ergebnis[Halbjahr,Fach] + Note[HalbJahr,Fach,Nr]/Teiler[Halbjahr,Fach]; end; end; except Result := 0.0; end; end;
function TForm1.Ganzjahrsnote(Fach : integer) : single; begin if Ergebnis[Halbjahr1,Fach] = 0.0 then begin if Ergebnis[Halbjahr2,Fach] = 0.0 then begin Result := 0.0; end else begin Result := Ergebnis[Halbjahr2,Fach]; end; end else if Ergebnis[Halbjahr2,Fach] = 0.0 then begin Result := Ergebnis[Halbjahr1,Fach]; end else begin Result := 0.5*(Ergebnis[Halbjahr1,Fach]+Ergebnis[Halbjahr1,Fach]); end; end;
procedure TForm1.Berechne(Sender : TObject); var Halbjahr, Fach : integer; begin BelegeNoten; for Fach := Deutsch to Religion do begin for HalbJahr := Halbjahr1 to Halbjahr2 do begin Ergebnis[Halbjahr, Fach] := Halbjahresnote(Halbjahr, Fach); ErgebnisFeld[Halbjahr,Fach].Text := FormatFloat('0.00',Ergebnis[Halbjahr, Fach]); end; Ergebnis[GanzesJahr, Fach] := Jahresnote(Fach); ErgebnisFeld[GanzesJahr,Fach].Text := FormatFloat('0.00',Ergebnis[GanzesJahr, Fach]); end; end; |
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 12.05.13 10:37
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
|