Hier mal der Beginn meiner Prozedur:
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:
| Procedure TKosten.Berechne; Var loop,asum,maxRec,key,m1,m2,mloop : Integer; matrix : T13x13; Begin for m1 := 1 to 15 do begin for m2 := 1 to 12 do begin matrix[m1,m2] := 0; end; end; key := Table2Key.Value; Table2.FindFirst; maxRec := Table2.RecordCount; for loop := 0 to maxRec do begin case Table2Key.Value of 1..9: for mloop := 1 to 12 do matrix[1,mloop] := Table2.Fields[mloop+5].asInteger + matrix[1,mloop]; 101..149: for mloop := 1 to 12 do matrix[2,mloop] := Table2.Fields[mloop+5].asInteger + matrix[2,mloop]; 201..499: for mloop := 1 to 12 do matrix[4,mloop] := Table2.Fields[mloop+5].asInteger + matrix[4,mloop]; 601..699: for mloop := 1 to 12 do matrix[6,mloop] := Table2.Fields[mloop+5].asInteger + matrix[6,mloop]; 801..899: for mloop := 1 to 12 do matrix[8,mloop] := Table2.Fields[mloop+5].asInteger + matrix[8,mloop]; end; Table2.Edit; Table2Summe.Value := 0; for mloop := 1 to 12 do Table2Summe.Value := Table2.Fields[mloop+5].asInteger + Table2Summe.Value; Table2.FindNext; end; Table2.FindKey([0]); Table2.Edit; Table2Summe.Value := 0; for mloop := 1 to 12 do Table2.Fields[mloop+5].asInteger := matrix[1,mloop]; for asum := 1 to 12 do Table2Summe.Value := Table2Summe.Value + matrix[1,asum]; Table2.FindKey([100]); Table2.Edit; Table2Summe.Value := 0; for mloop := 1 to 12 do Table2.Fields[mloop+5].asInteger := matrix[2,mloop]; for asum := 1 to 12 do Table2Summe.Value := Table2Summe.Value + matrix[2,asum]; Table2.FindKey([200]); |
Ja, ich bin noch anfänger
Mein Problem ist nun Folgendes: ich würde die Prozedur gern öfter verwenden. Allerdings nicht nur für TAble2, sondern auch für andere Tabellen. Mit ist da etwas mit with ... do in erinnerung. Aber davon hab ich keine ahnung,könnte ir das nochmal jemand erklären?
Wie mach ich diese Prozedur am besten variabel?