ADO Komponenten funktionieren nicht
-
Hallo,
leider funktioniert die erwünschte Transformation nicht. Wüsste irgend jemand wie ich daten aus der datenbank über die tchart-komponente anzeigen kann. ich möchte time-werte aus der DB auf die x-Achse übergeben und Messwerte auf die y-Achse .
ich bin sehr dankbar für jede Antwort, durch die ich meine Problemstellung beseitigen kann?
-
"Funktioniert nicht" ist keine gültige Fehlermeldung. Was geht denn nicht bzw. was hast du denn versucht.
-
folgendes wird aus einer csv-datei in eine access-datenbank gespeichert
//for-schleife ....DataModule.ADOTableTable1.FieldByName('Time').AsString := Felder[1];
DataModule.ADOTableTable1.FieldByName('Messwert').AsString := Felder[f];{1 aus Felder[1] steht für 1. Feld in der die Time-Werte in einer
csv-Datei stehen und in einer access-DB im 1. Feld abgespeichert
werden. }{ab dem 2. feld sind messwerte eingetragen; f aus felder[f] steht für
alle ab dem 2. feld anstehenden felder bzw. Spalten, in der die
Messwerte liegen}....
ich möchte alle im 1. Feld (auf x-Achse) und ab dem 2. Feld (auf y-achse)
anstehenden Werte über eine Tchart anzeigen
IDEE: Arrays doublevariablen zuweisen:doublex := StrToFloat(Felder[1]);
doubley := StrToFloat(Felder[f]);
dann als parameter an ADDXY übergeben:frmForm.Chart1.Series[0].AddXY(doublex, doubley, '', clTeeColor) ;
es hat nicht funktioniert
-
als Machbarkeitsanalyse reicht im Moment auch anstatt felder[f] auch felder[2]
d.h nur feld 2 als werte für y-achse und feld 1 (=felder[1]) als werte
für x-achse
hätte da jemand eine idee
-
Noch mal. Was genau geht nicht?
Die Abfrage aus der Datenbank ?
Das Einfügen in den Chart ?
Konnte das Programm überhaupt compiliert werden ?
Zeig doch mal den Code den du verwendet hast. Das was du hier gezeigt hast ist übrigens Pascal.
-
ich arbeite im moment mit delphi7
// tabelle Messwert
begin
DModule.ADOTablemesswert.Append;
DModule.ADOTablemesswert.FieldByName('Time').AsString := Felder[1];
DMMain.ADOTableMesswerte.FieldByName('Messwert').AsString := Felder[2];
DMMain.ADOTableMesswerte.Post;
end;
{ die felder aus der 1. Spalte werden in das Feld 'Time' in meiner DB eingetragen
die Felder as der 2. spalte werden in das Feld 'Messwert' eingetragen
?wie kann ich dies grafisch über TChart anzeigen lassen??}
soll ich den gesamten code zuschicken? oder reicht dies?
danke
-
schuldigung natürlich nicht DMMain sondern DModule hab mich nur hier verschrieben nicht im code selbst
-
Sehe ich das richtig, dass in Felder deine Daten gespeichert sind? Ist das ein Array auf float oder etwas Ähnliches? Wenn, dann kannst du doch alles direkt eintragen (mit Hilfe einer Schleife und AddXY).
-
es sind string-arrays
ich arbeite seit kurzem mit delphi und bin glücklich über jede unterstützung
-
ja die daten werden in den array gespeichert
-
An ADDXY hab ich auch gedacht, wie dies in meinem vor-vor-vorletzen beitrag zu sehen ist aber ich erkenne meine lücken nicht, es treten exceptions auf.
bitte um hilfe
-
Was für Exceptions ? Wo treten sie auf? Bist du mal mit dem Debugger durchgegangen ?
-
Ich gebe diesen Code ein, aber es geht nicht:
dbx := StrToFloat(Felder[1]);
dby := StrToFloat(Felder[f]);
frmImport.Chart1.Series[0].AddXY(dbx, dby, '', clTeeColor);
gäbe es eine alternative Code-Lösung oder wie würdet ihr das machen?
-
Vielleicht geht die Umwandlung String in Zahl daneben. Normalerweise packt man eine StrToFloat in einen try - catch - Block um deartige Fehler abzufangen.
-
schuldigung ich hab try-except eingeführt aber es klappt nicht.

-
hat jemand eine idee wie der code auszusehen hat
-
Hallo nochmal,
ich hab Probleme mit dem Anzeigen der Daten, die in der DB gespeichert sind und programmtechnisch in Arrays gespeichert sind, über eine TChart-Komponente.
Arrays vom Typ String
Felder[1]: 1.Feld in DB mit TimeWerte ===> Ziel ist dies auf x-Achse
transferieren
Felder[i]: die restlichen Felder sind mit Messwerten geladen===> Ziel diese
auf y-Achse übertragen
===> müsste for-Schleife nehmen dann über ADDXY in TChart-Komponente einlesenLeider klappt bei mir nicht das was erwünscht ist.
Bitte hat jemand eine Lösung oder eine alternative Coebeschreibung

-
oben sollte codebeschreibung heissen

-
Hallo
wo liegt da Problem? Du hast Werte als Strings, und must diese nach Interger oder Float konvertieren und gegenfalls an die Dimensionen der Ausgabe anpassen. Die Funktionen dazu hast du doch bereits gepostet.
Du kannst aber auch gleich aus den Feldern die Werte als Zahlen auslesen, mit AsFloat/AsInteger anstatt AsString.
bis bald
akari
-
Hallo, kannst du ein Code-Beispiel mit dem Einlesen von Daten, die in Arrays gespeichert werden, geben.
Ich bin Neuling in Delphi und sehe den Wald vor lauter Bäumen nicht.
Ich wäre sehr dankbar für ein Beispiel-Code das meine Problemstellung schildert
