AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten in "buffer" einlesen

Ein Thema von S20000 · begonnen am 17. Jul 2008 · letzter Beitrag vom 29. Okt 2008
Antwort Antwort
S20000

Registriert seit: 22. Apr 2008
84 Beiträge
 
#1

Daten in "buffer" einlesen

  Alt 17. Jul 2008, 08:22
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.

slscope1.Channels[ 0 ].Data.GetXYData( XBuffer: PReal; YBuffer: PReal ); Jetzt weiß ich nicht wie man diese "Buffer" befüllen kann.
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
  Mit Zitat antworten Zitat
S20000

Registriert seit: 22. Apr 2008
84 Beiträge
 
#2

Re: Daten in "buffer" einlesen

  Alt 28. Okt 2008, 08:37
Ich schiebe den Beitrag mal vorsichtig nach oben. Vielleicht kann mir
mittlerweile jemand helfen.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: Daten in "buffer" einlesen

  Alt 28. Okt 2008, 08:53
Hallo,

hilft Dir derda?
  Mit Zitat antworten Zitat
S20000

Registriert seit: 22. Apr 2008
84 Beiträge
 
#4

Re: Daten in "buffer" einlesen

  Alt 28. Okt 2008, 09:05
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Daten in "buffer" einlesen

  Alt 28. Okt 2008, 09:22
Guten Morgen,

für mich schaut das so aus:

slscope1.Channels[ 0 ].Data.GetXYData( XBuffer: PReal; YBuffer: PReal );
Delphi-Quellcode:
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;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Daten in "buffer" einlesen

  Alt 28. Okt 2008, 15:25
Oder so:

Delphi-Quellcode:
var
  xValue: real;
  yValue: real;

begin
  slscope1.Channels[ 0 ].Data.GetXYData(@xValue,@yValue);
end;
Ist etwas kürzer

@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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Daten in "buffer" einlesen

  Alt 28. Okt 2008, 15:28
Zitat von jfheins:
Oder so:

Delphi-Quellcode:
var
  xValue: real;
  yValue: real;

begin
  slscope1.Channels[ 0 ].Data.GetXYData(@xValue,@yValue);
end;
Ist etwas kürzer :stupid:

@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:
Gut und schön, aber wenn sich das dann nicht mit der Typenbezeichnung PReal beißt.
slscope1.Channels[ 0 ].Data.GetXYData( XBuffer: PReal; YBuffer: PReal ); Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
S20000

Registriert seit: 22. Apr 2008
84 Beiträge
 
#8

Re: Daten in "buffer" einlesen

  Alt 29. Okt 2008, 15:39
Zitat:
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

Ich denke schon das mehrere Daten dahinterstecken (Buffer)..
slscope1.Channels[ 0 ].data.getsize gibt es auch. (Gibt ein integer wieder)

Trotzdem bekomme ich es nicht hin die Daten mal sichtbar zu machen.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Daten in "buffer" einlesen

  Alt 29. Okt 2008, 15:46
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#10

Re: Daten in "buffer" einlesen

  Alt 29. Okt 2008, 15:48
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz