Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Summe von 2 DBEdit Feldern (https://www.delphipraxis.net/159140-summe-von-2-dbedit-feldern.html)

blondervolker 15. Mär 2011 22:04

Datenbank: ADO • Version: 7 • Zugriff über: AdoTable

Summe von 2 DBEdit Feldern
 
Liste der Anhänge anzeigen (Anzahl: 1)
schreibe gerade eine datenbank.

ich wollte nur ein ergebnis von dbedit75*dbedit76 in dbedit77.bekomme immer eine fehlermeldung:
[DCC Fehler] Unit1.pas(848): E2015 Operator ist auf diesen Operandentyp nicht anwendbar

procedure TForm1.Button14Click(Sender: TObject);
var
a:Widestring(DBEdit75);
b:Widestring(DBEdit76);
c:Widestring(DBEdit77);
begin
a:=b*a;
end;

rwachtel 15. Mär 2011 22:18

AW: Summe von 2 DBEdit Feldern
 
:gruebel: Das sieht mir danach aus, dass Du Dich noch einmal eingehend mit Grundlagen sowohl von Delphi resp. (Object) Pascal als auch Datenbanken beschäftigen solltest.

- Wie deklariert man Variablen?
- Was ist der Unterschied zwischen Objekten und deren Eigenschaften?
- Wie greift man auf Datenbankinhalte zu und manipuliert diese?
- Kann man wirklich strings multiplizieren?

Und warum ignorierst Du die ersten vom Compiler gemeldeten Fehler?

btw: Es gibt auch Code-Tags...

roga 15. Mär 2011 22:21

AW: Summe von 2 DBEdit Feldern
 
Mit diesen exotischen String-Variablen kannst Du keine Rechenoperationen durchführen! Beschäftige dich bitte mal mit INTEGER, DOUBLE, FLOAT - in der Hilfe oder im Forum findest Du sicher Unterstützung.

Uwe Raabe 15. Mär 2011 22:22

AW: Summe von 2 DBEdit Feldern
 
Zitat:

Zitat von rwachtel (Beitrag 1088836)
- Kann man wirklich strings multiplizieren?

... vor allem, wenn man den Titel der Frage einbezieht...

blondervolker 15. Mär 2011 22:27

AW: Summe von 2 DBEdit Feldern
 
INTEGER, DOUBLE, FLOAT kamen natürlich auch Fehler. Danke für die Hinweise. Ist wenigstens das Gelächter da.
Das sind meine "Startversuche" um eine Summe aus zwei Eingabefelder zu erzielen. Lesen bildet... Hab jeden Tag
"Handbücher" vor mir. Aber es geht nicht auf einmal in die Rübe...:-D

roga 15. Mär 2011 22:36

AW: Summe von 2 DBEdit Feldern
 
Hier wird sicher keiner lachen, denn alle habe einmal angefangen - aber das Lernen kann Dir keiner abnehmen. Schau mal nach den Unterschieden String-Integer und wie man das deklariert.

Delphi-Quellcode:
var
  s: String;
  i: Integer;
Findest Du eigentlich in jedem Lehrbuch...

Sir Rufo 15. Mär 2011 22:45

AW: Summe von 2 DBEdit Feldern
 
Auch die Kapitel mit Klasse und Instanz sind sehr von Vorteil.

So "könnte" es funktionieren
Delphi-Quellcode:
DBEdit75.DataSource.DataSet.Edit;
DBEdit75.Field.Value := DBEdit76.Field.AsFloat * DBEdit77.Field.AsFloat;
DBEdit75.DataSource.DataSet.Post;

mkinzler 16. Mär 2011 06:44

AW: Summe von 2 DBEdit Feldern
 
Ich würde zudem nicht die Inhalte der DBEdits sondern die Inhalte der Datenbankfelder nehmen

vagtler 16. Mär 2011 08:14

AW: Summe von 2 DBEdit Feldern
 
Genau genommen schlägt Sir Rufo nichts anderes vor.

blondervolker 16. Mär 2011 09:28

AW: Summe von 2 DBEdit Feldern
 
Vielen Dank!!!:-D Geht perfekt...
Wußte leider bis vorhin nicht,dass ein Dataset dazu gehört...
Bin lernfähig...:-D

Wie bekommt man aber die Nachkommastellen angezeigt? z.B.: 12,500
Bei mir werden nur Zahlen ohne Komma angezeigt.:?

Habe es so gemacht:

procedure TForm1.DBEdit75Change(Sender: TObject);
begin
DBEdit77.DataSource.DataSet.Edit;
DBEdit77.Field.Value := DBEdit76.Field.AsFloat * DBEdit75.Field.AsFloat;
DBEdit77.DataSource.DataSet.Post;
end;

//Geht perfekt Volker

Bummi 16. Mär 2011 10:41

AW: Summe von 2 DBEdit Feldern
 
Wäre das nicht ein klarer Fall für ein berechnetes Feld, also ohne Persisitenzen/Edit/Post etc.

Sir Rufo 16. Mär 2011 12:15

AW: Summe von 2 DBEdit Feldern
 
Zitat:

Zitat von blondervolker (Beitrag 1088927)
Vielen Dank!!!:-D Geht perfekt...
Wußte leider bis vorhin nicht,dass ein Dataset dazu gehört...
Bin lernfähig...:-D

suche nach Tutorial Datenbanken mit Delphi

Zitat:

Zitat von blondervolker (Beitrag 1088927)
Wie bekommt man aber die Nachkommastellen angezeigt? z.B.: 12,500
Bei mir werden nur Zahlen ohne Komma angezeigt.:?

Was denn nun, per PN an mich werden die Nachkommastellen angezeigt (zu viele) und hier nicht?
Zitat:

Zitat von blondervolker (Beitrag 1088927)
Habe es so gemacht:

procedure TForm1.DBEdit75Change(Sender: TObject);
begin
DBEdit77.DataSource.DataSet.Edit;
DBEdit77.Field.Value := DBEdit76.Field.AsFloat * DBEdit75.Field.AsFloat;
DBEdit77.DataSource.DataSet.Post;
end;

//Geht perfekt Volker

Bitte benutze die Delphi-Tags, dann sieht das so aus
Delphi-Quellcode:
procedure TForm1.DBEdit75Change(Sender: TObject);
begin
  DBEdit77.DataSource.DataSet.Edit;
  // Berechnung mit Runden auf 2 Nachkommastellen)
  DBEdit77.Field.Value := RoundTo( DBEdit76.Field.AsFloat * DBEdit75.Field.AsFloat, -2 );
  DBEdit77.DataSource.DataSet.Post;
end;
Wenn nur die Anzeige gerundet dargestellt werden soll (und immer mit x Nachkommastellen) dann schau dir einfach mal die Eigenschaft Delphi-Referenz durchsuchenDisplayFormat an


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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-2025 by Thomas Breitkreuz