AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frame dynamisch erzeugen(Verständnisproblem)

Ein Thema von ChristianG · begonnen am 28. Jul 2014 · letzter Beitrag vom 28. Jul 2014
Antwort Antwort
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#1

Frame dynamisch erzeugen(Verständnisproblem)

  Alt 28. Jul 2014, 16:03
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:
 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
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
Danke schon einmal im Vorraus für eure Hilfe
Christian
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Frame dynamisch erzeugen(Verständnisproblem)

  Alt 28. Jul 2014, 16:23
Bgesamtpreis := BGesamtpreis + myFrame2.Gesamtpreis2; Also ich würde ganz laienhaft so sagen, aber ich hab keine Ahnung was du da genau machst.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#3

AW: Frame dynamisch erzeugen(Verständnisproblem)

  Alt 28. Jul 2014, 16:32
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
Christian

Geändert von ChristianG (28. Jul 2014 um 16:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Frame dynamisch erzeugen(Verständnisproblem)

  Alt 28. Jul 2014, 16:36
Im Allgemeinen so:

Delphi-Quellcode:
GesamtPreis := 0;
for i := 0 to xxx.Count-1 do
begin
  GesamtPreis := GesamtPreis + xxx[i].Preis;
end;
Deswegen bleib ich bei meiner o.g. Behauptung.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: Frame dynamisch erzeugen(Verständnisproblem)

  Alt 28. Jul 2014, 16:41
Deine Tickets sind in einem Array of TTickets , 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.
  Mit Zitat antworten Zitat
ChristianG

Registriert seit: 8. Jul 2014
97 Beiträge
 
Delphi XE6 Starter
 
#6

AW: Frame dynamisch erzeugen(Verständnisproblem)

  Alt 28. Jul 2014, 16:50
Danke für die schnellen Antworten. Du hast recht
Ich versuche es gleich mal
Christian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz