AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBEdit während der Eingabe zusammenrechnen und ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

DBEdit während der Eingabe zusammenrechnen und ausgeben

Ein Thema von coolstranger · begonnen am 19. Dez 2003 · letzter Beitrag vom 21. Dez 2003
Antwort Antwort
coolstranger

Registriert seit: 18. Aug 2003
40 Beiträge
 
#1

DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 19. Dez 2003, 18:35
Hallo wollte mal fragen ob man es machen kann, dass durch eingabe von zahlen in mehrere DBEdit felder ein summand gebildet werden kann, der anschlließend oder auch schon während der eingabe anderer edit felder alle bisherigen zahlen zusammenrechnet und in einem weiteren edit-feld angibt, damit man sie anschließend in einer dbgrid tabelle als "Gesamt" speichern kann
  Mit Zitat antworten Zitat
schniede

Registriert seit: 20. Sep 2003
Ort: Woltersdorf
104 Beiträge
 
Delphi 7 Professional
 
#2

Re: DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 19. Dez 2003, 20:22
hallo !

Das sollte kein problem sein. Im Onchange ereignis der Kompo. die formel angeben und abfangen falls das feld noch ein nullstring ist:


etwa so

Code:
procedure TForm1.Edit1Change(Sender: TObject);
begin
 if edit1.Text = '' then
 edit1.Text:='0';
 if edit2.Text = '' then
 edit2.Text:='0';

 edit3.Text:=inttostr(strtoint(edit1.text) + strtoint(edit2.text));
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
if edit1.Text = '' then
edit1.Text:='0';
if edit2.Text = '' then
edit2.Text:='0';

edit3.Text:=inttostr(strtoint(edit1.text) + strtoint(edit2.text));
end;
mußt natürlich noch buchstaben und der gleichen abfangen


mfg schniede
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 19. Dez 2003, 20:22
Hallo coolstranger,

dazu könntet du ein CalcField zu der Tabelle hinzufügen und bei OnCalc die Summe über die Felder bilden.Bei OnPost überträgst du den Wert in ein (unsichtbares) Datenbankfeld Gesamt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
coolstranger

Registriert seit: 18. Aug 2003
40 Beiträge
 
#4

Re: DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 19. Dez 2003, 21:45
@ schniede!
danke erstmal für die schnelle hilfe, aber das war nicht genau das, was ich suchte.

@ mr spock!
ich glaube das ist genau das, was ich gedacht habe. wo bekomme ich das CalcField her? Wie kann ich bei OnCalc die summe berechnen und per onpost an eine "gesamt" spalte senden?
  Mit Zitat antworten Zitat
coolstranger

Registriert seit: 18. Aug 2003
40 Beiträge
 
#5

Re: DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 21. Dez 2003, 10:31
Sorry falls ich nerve aber das ist wichtig!
Mr Spock, wie kann ich über oncalc die summe der einzelnen felder bilden?
  Mit Zitat antworten Zitat
coolstranger

Registriert seit: 18. Aug 2003
40 Beiträge
 
#6

Re: DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 21. Dez 2003, 10:43
Ich habe da was hinbekommen! Hier damit hat es geklappt:
Code:
procedure TForm1.ingoCalcFields(DataSet: TDataSet);
begin
 ingoGesamt.Value := ingoL1.Value + ingoL2.Value + ingoL3.Value + ingoL4.Value + ingoL5.Value + ingoL6.Value + ingoL7.Value + ingoL8.Value + ingoL9.Value;
end;
Nur habe ich jetzt ein Problem. Er erfasst meine Eingegebenen Daten, nur wenn ich bei L1 und L2 zum Beispiel die Zahl 5 eingebe, erscheint im Fenster nacheinander eine 5! Also eigentlich soll es ja 5+5 sein und raus kommt 55.
Was habe ich da falsch gemacht?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: DBEdit während der Eingabe zusammenrechnen und ausgeben

  Alt 21. Dez 2003, 11:03
Hai collstranger,

deine Felder ingoLx geben Dir bei Value wohl einen String zurück. Das bedeutet das Du einen String zusammen setzt.

Versuche es mal so:

Code:
procedure TForm1.ingoCalcFields(DataSet: TDataSet);
begin
 ingoGesamt.Value := IntToStr ( StrToInt (ingoL1.Value) + StrToInt (ingoL2.Value) + StrToInt (ingoL3.Value));
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 01:17 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