Autor Beitrag
crashboy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Do 13.03.03 19:43 
Welchen Typ haben Datenbankfelder in einer dBase-Table. Auf einer Form will ich mehrere DBEdit's, in der Tabelle als numerisch deklarierte Felder, zusammenaddieren und das Ergebnis als Label.Caption anzeigen. Dazu muss ich die Werte sicher umwandeln, zumindest am Schluss in einen String, aber von was in was?

Danke für Eure Hilfe
crashboy

Moderiert von user profile iconTino: Titel geändert & Topic verschoben
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 13.03.03 19:55 
Tja,

deine Tabelle und deren Einträge sprich Datentypen solltest du schon kennen. DBase kennt Chars, Integers, Datum usw. also die ganze Palette die es so gibt. (Versionsabhängig!)

Wenn deine Werte nummerisch sind, kannst du sie addieren.
ausblenden Quelltext
1:
2:
Label.Caption:= IntToStr(TField.Value+TField.Value) oder
Label.Caption:= Format('%d',[TField.Value+TField.Value]);

grüße
MSCH

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
crashboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Do 13.03.03 20:33 
Titel: schonmal danke.....
sicher kenn ich meine Datenfeldtypen. Zahlen habe ich als numerisch geklariert.

Beispiel: Ich habe eine Form mit EK1 EK2 EK3 als DBEdit. Diese Werte werden in eine dBase-Tabelle als numerisch übernommen und sollen bei Aufruf des Datensatzes addiert als Label.Caption angezeigt werden.

Wenn ich nun IntToStr nutze, bekomme ich als Fehlermeldung "inkompatible Typen". Ich habe mir solch "Firlefanz"-Rechnung ganz einfach vorgestellt :? aber ich lerne ja noch.
ausblenden Quelltext
1:
2:
3:
4:
5:
var summe:   Integer;
begin
summe:= (DBedit1+DBEdit2+.......);
Label.Caption:= IntToStr(summe);
end;

MfG
crashboy

Moderiert von user profile iconTino: Absätze entfernt.
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Do 13.03.03 20:45 
Die anzeige in einem DBEdit ist immer Text also String-Variablentyp. Damit musst Du zum Beispiel Deine drei DBEditfelder so zusammenzählen :

ausblenden Quelltext
1:
2:
3:
4:
5:
var summe:   Integer; 
begin 
summe:= StrToInt(DBedit1.Text)+StrToInt(DBEdit2.Text)+StrToInt(DBEdit3.Text); 
Label.Caption:= IntToStr(summe); 
end;


Müsste so funktionieren. NICHT GETESTET.
crashboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Do 13.03.03 21:47 
Titel: @bis11
Wunderbar, vielen Dank!!!! Funzt!
Jetzt muss ich mir nur noch überlegen das mir mein Prog nicht abkackt, wenn ich in einem Feld was neues eingebe bzw. die bereits eingetragenen Daten in den DBEdit's korrigiere.
Soll heissen, wenn ich die eingetragenen Daten lösche und nix mehr in dem Feld steht, bekomme ich nen BDE-Error und das Programm ist Ende.


Dafür noch Ratschläge???

MfG
crashboy

***************Hat sich erledigt *************
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.03.03 22:06 
Wie wäre es, wenn du mal in der richtigen sparte posten würdest? :roll: