![]() |
Frame dynamisch erzeugen(Verständnisproblem)
Hallo liebe Delphi-Gemeinde.
Ich erzeuge dynamisch einen Frame und dort bekomme ich Einzelpreis und die Anzahl. Nun möchte ich den Gesamtpreis von allen Frames, die erzeugt wurden, ausrechnen.
Delphi-Quellcode:
Das auskommentierte ist vollkommen falsch, aber ich weiß nicht, wie man den Gesamtpreis von allen Frames addieren kann. Ich hoffe der Quelltext erklärt besser als ich :D
ListIndex := TicketOverviewList.IndexOf( cdsbuchen.FieldByName('Name').Asstring );
if ListIndex > -1 then begin myFrame2 := TFrame2(TicketOverviewList.Objects[ListIndex]); end else begin myFrame2 := TFrame2.Create(self); myFrame2.Name :=Format( 'frzwei%s',[InttoStr(u)]); myFrame2.Parent := TabItem7; myFrame2.SetBounds(10, y, 260, 40); myFrame2.Visible := true; y := y + 65; myFrame2.Anzahl := 0; TicketOverviewList.AddObject( cdsbuchen.FieldByName('Name').Asstring, myFrame2 ); end; myFrame2.Anzahl := myFrame2.Anzahl + 1; myFrame2.Preis := cdsbuchen.FieldByName('MoneyPrice') .AsInteger; myFrame2.Namee := cdsbuchen.FieldByName('Name').Asstring; myFrame2.Gesamtpreis2:= cdsbuchen.FieldByName('MoneyPrice').AsInteger * myFrame2.Anzahl + (cdsbuchen.FieldByName('TransactionFee').AsCurrency/100); (* if BGesamtpreisalt < BGesamtpreis then begin BGesamtpreis := myFrame2.Gesamtpreis2 ; BGesamtpreisalt := BGesamtpreis; end; if BGesamtpreisalt > BGesamtpreis then begin Bgesamtpreis := BGesamtpreis + myFrame2.Gesamtpreis2 ; BGesamtPreisalt := BGesamtpreis; end; *)//vollkommener quatsch Danke schon einmal im Vorraus für eure Hilfe |
AW: Frame dynamisch erzeugen(Verständnisproblem)
Delphi-Quellcode:
Also ich würde ganz laienhaft so sagen, aber ich hab keine Ahnung was du da genau machst.
Bgesamtpreis := BGesamtpreis + myFrame2.Gesamtpreis2;
|
AW: Frame dynamisch erzeugen(Verständnisproblem)
Mein Problem war folgender: Ich hatte ein Frame, wo ich eine Zusammenfassung von Tickets und Preisen machen wollte. Wenn man 2 Erwachsenentickets und 3 Schülertickets auswähle, sollen 2 Frames herauskommen, die so aussehen: Anzahl:2 Name:Erwachsene Einzelpreis:5€ Gesamtpreis 10€.
Nun kam aber jedes Ticket einzeln in ein Frame, was bedeutet, dass ich 5 frames anstatt 2 hatte. Dies habe ich mit dem oben gezeigten Code gelöst. Nun möchte ich aber den Gesamtpreis der 5 Tickets ermitteln, aber ich weiß nicht wie ich das machen soll. Der auskommentierte Quelltext sollte den Gesamtpreis ermitteln, was leider nicht ging. Darum frage ich, Wie ich das in der Schleife lösen kann. Falls ich etwas ungenau erklärt werde ich versuchen, es so gut wie möglich zu erklären |
AW: Frame dynamisch erzeugen(Verständnisproblem)
Im Allgemeinen so:
Delphi-Quellcode:
Deswegen bleib ich bei meiner o.g. Behauptung.
GesamtPreis := 0;
for i := 0 to xxx.Count-1 do begin GesamtPreis := GesamtPreis + xxx[i].Preis; end; |
AW: Frame dynamisch erzeugen(Verständnisproblem)
Deine Tickets sind in einem
Delphi-Quellcode:
, hoffentlich jedenfalls. Deine Frames sind nur Darstellungen der Tickets. Rechnen kannst Du mit dem Array bzw. noch besser: Mit einer Klasse, die die Tickets kapselt. Wenn Du nicht weißt, wovon ich rede: => Einführung ins Programmieren (OOP) Teil 1 durchkauen.
Array of TTickets
|
AW: Frame dynamisch erzeugen(Verständnisproblem)
Danke für die schnellen Antworten. Du hast recht :oops:
Ich versuche es gleich mal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz