![]() |
Daten in "buffer" einlesen
Guten Morgen,
ich benutze die Komponente PlotLab 3.1 (zum grafischen Darstellen von Messwerten. Wenn ich nun diese Daten abspeichern möchte so kann ich den folgenden Befehl anwenden.
Delphi-Quellcode:
Jetzt weiß ich nicht wie man diese "Buffer" befüllen kann.
slscope1.Channels[ 0 ].Data.GetXYData( XBuffer: PReal; YBuffer: PReal );
Vielleicht könnt ihr mir aus Erfahrung, evtl. ohne die Komponente zu kennen was die Ausdrücke in der Klammer bedeuten. Real ist doch ein Typ für Gleitkommezahlen?? PReal wäre dann ein Pointer auf Real?? Schönen Gruß Sebastian |
Re: Daten in "buffer" einlesen
Ich schiebe den Beitrag mal vorsichtig nach oben. Vielleicht kann mir
mittlerweile jemand helfen. |
Re: Daten in "buffer" einlesen
|
Re: Daten in "buffer" einlesen
Hi,
den link kenne ich. Da werden alle Funktionen etc. der Komponente aufgezählt. Leider ist kein Beispiel dabei wie ich Daten z.B. in einer Datei speichere... Gruß Sebastian |
Re: Daten in "buffer" einlesen
Guten Morgen,
für mich schaut das so aus:
Delphi-Quellcode:
slscope1.Channels[ 0 ].Data.GetXYData( XBuffer: PReal; YBuffer: PReal );
Delphi-Quellcode:
Grüße
type
PReal = ^real; var xBuffer:PReal; yBuffer:PReal; xValue: real; yValue: real; begin new(xBuffer); new(yBuffer); slscope1.Channels[ 0 ].Data.GetXYData(xBuffer,yBuffer); xValue := xBuffer^; yValue := yBuffer^; dispose(xBuffer); dispose(yBuffer); end; Klaus |
Re: Daten in "buffer" einlesen
Oder so:
Delphi-Quellcode:
Ist etwas kürzer :stupid:
var
xValue: real; yValue: real; begin slscope1.Channels[ 0 ].Data.GetXYData(@xValue,@yValue); end; @Variable liefert ja die Adresse der Variable zurück, und somit einen Pointer. Oder liefert die Funktion mehrere Werte zurück? in diesem Fall liefert sie wahrscheinlich 2 Pointer, die auf einen Speicherbereich zeigen, an dem mehrere Werte hintereinander stehen. Dann müsste sie aber noch die Länge zurückgeben :gruebel: |
Re: Daten in "buffer" einlesen
Zitat:
Delphi-Quellcode:
Grüße
slscope1.Channels[ 0 ].Data.GetXYData( XBuffer: PReal; YBuffer: PReal );
Klaus |
Re: Daten in "buffer" einlesen
Zitat:
Ich denke schon das mehrere Daten dahinterstecken (Buffer)..
Delphi-Quellcode:
gibt es auch. (Gibt ein integer wieder)
slscope1.Channels[ 0 ].data.getsize
Trotzdem bekomme ich es nicht hin die Daten mal sichtbar zu machen. |
Re: Daten in "buffer" einlesen
Guten Abend,
gibt es denn kein Stückchen Doku wo drinnen steht wie PReal deklariert ist - kann ich mir kaum vorstellen. Hast Du die Sourcen der Komponente? PReal läßt dem Namen nach darauf schließen das es sich um einen Pointer auf einen RealTypen handelt. Wenn dem nicht so ist und eventuell ein Array dahintersteht, sollte das irgendwo dokumentiert sein. Grüße Klaus |
Re: Daten in "buffer" einlesen
Okay, dann müsste es imho so aussehen:
(Unter der Annahme, dass getsize die Anzahl der Datensätze zurückgibt)
Delphi-Quellcode:
type
PReal = ^real; var xBuf: array of real; yBuf: array of real; begin setlength(xBuf, slscope1.Channels[0].data.getsize); setlength(ybuf, slscope1.Channels[0].data.getsize); // getsize liefert die Anzahl zurück ........ ? slscope1.Channels[0].Data.GetXYData(@xBuf[0],@yBuf[0]); // Werte müssten jetzt im Array stehen end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 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 by Thomas Breitkreuz