Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
Delphi XE2 Professional
|
AW: DBChart zeichnet neuen Punkt nicht ans Ende
22. Mai 2016, 09:17
in die Datenbank wird so geschrieben:
Delphi-Quellcode:
ClientDataSet.Append;
ClientDataSet.FieldValues['Datum'] := DateToStr(now);
ClientDataSet.FieldValues['Uhrzeit'] := TimeToStr(now);
ClientDataSet.FieldValues['Kanal'] := StrToIntDef(StringList[0][2], 0);
ClientDataSet.FieldValues['TempSensor_1'] := StrToFloatDef(StringList[3], 0.0);
ClientDataSet.FieldValues['TempSensor_2'] := StrToFloatDef(StringList[4], 0.0);
ClientDataSet.FieldValues['TempSensor_3'] := StrToFloatDef(StringList[5], 0.0);
ClientDataSet.FieldValues['TempSensor_4'] := StrToFloatDef(StringList[6], 0.0);
ClientDataSet.FieldValues['TempSensor_5'] := StrToFloatDef(StringList[7], 0.0);
ClientDataSet.FieldValues['TempSensor_6'] := StrToFloatDef(StringList[8], 0.0);
ClientDataSet.FieldValues['TempSensor_7'] := StrToFloatDef(StringList[9], 0.0);
ClientDataSet.FieldValues['TempSensor_8'] := StrToFloatDef(StringList[10], 0.0);
ClientDataSet.FieldValues['FeuchteSensor_1'] := StrToIntDef(StringList[11], 0);
ClientDataSet.FieldValues['FeuchteSensor_2'] := StrToIntDef(StringList[12], 0);
ClientDataSet.FieldValues['FeuchteSensor_3'] := StrToIntDef(StringList[13], 0);
ClientDataSet.FieldValues['FeuchteSensor_4'] := StrToIntDef(StringList[14], 0);
ClientDataSet.FieldValues['FeuchteSensor_5'] := StrToIntDef(StringList[15], 0);
ClientDataSet.FieldValues['FeuchteSensor_6'] := StrToIntDef(StringList[16], 0);
ClientDataSet.FieldValues['FeuchteSensor_7'] := StrToIntDef(StringList[17], 0);
ClientDataSet.FieldValues['FeuchteSensor_8'] := StrToIntDef(StringList[18], 0);
ClientDataSet.FieldValues['TempKombiSensor'] := StrToFloatDef(StringList[19], 0.0);
ClientDataSet.FieldValues['FeuchteKombiSensor'] := StrToIntDef(StringList[20], 0);
ClientDataSet.FieldValues['Windgeschwindigkeit'] := StrToFloatDef(StringList[21], 0.0);
ClientDataSet.FieldValues['Niederschlag'] := StrToIntDef(StringList[22], 0);
ClientDataSet.FieldValues['Regen'] := StrToBoolDef(StringList[23], false);
(die StringList dient zum Aufteilen eines Strings, den ich aus einer seriellen Schnittstelle erhalte)
DBChart holt sich die Daten direkt über Lineseries aus dem ClientDataSet (siehe erstem Post)
das wars
[edit]
die Struktur:
Delphi-Quellcode:
ClientDataSet.FieldDefs.Add('ID', ftAutoInc, 0, false);
ClientDataSet.FieldDefs.Add('Datum', ftDate);
ClientDataSet.FieldDefs.Add('Uhrzeit', ftTime);
ClientDataSet.FieldDefs.Add('Kanal', ftSmallInt);
ClientDataSet.FieldDefs.Add('TempSensor_1', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_2', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_3', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_4', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_5', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_6', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_7', ftFloat);
ClientDataSet.FieldDefs.Add('TempSensor_8', ftFloat);
ClientDataSet.FieldDefs.Add('FeuchteSensor_1', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_2', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_3', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_4', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_5', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_6', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_7', ftSmallInt);
ClientDataSet.FieldDefs.Add('FeuchteSensor_8', ftSmallInt);
ClientDataSet.FieldDefs.Add('TempKombiSensor', ftFloat);
ClientDataSet.FieldDefs.Add('FeuchteKombiSensor', ftSmallInt);
ClientDataSet.FieldDefs.Add('Windgeschwindigkeit', ftFloat);
ClientDataSet.FieldDefs.Add('Niederschlag', ftInteger);
ClientDataSet.FieldDefs.Add('Regen', ftBoolean);
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
Geändert von Helmi (22. Mai 2016 um 09:27 Uhr)
|