Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#19

Re: wieder konvertierungs problem

  Alt 22. Mär 2007, 10:51
Zitat von marabu:
Hallo Emil,

wenn wavedata ein array of Integer ist, dann geht es auch so:

Delphi-Quellcode:
uses
  Math;

var
  lphi, rphi: Single;
  wavedata: array of Integer;

begin
   lphi := MaxIntValue(Copy(wavedata, 0, 576));
   rphi := MaxIntValue(Copy(wavedata, 576, 576));
end;
Eine Konvertierung von Integer nach Float kann der Compiler automatisch vornehmen. Umgekehrt ist es wegen des Informationsverlustes in Pascal (Pascal ist nicht Basic oder Perl - alles ist strikt) nicht erlaubt, sodass du Trunc() oder andere Funktionen benutzen musst.

Freundliche Grüße
Supi Danke für die Infos ...
Habe mir erlaubt dir eine PN zu schicken.

Aber hier die Deklaration von wavedata
Delphi-Quellcode:
Type
  TWaveData = Array[0..576] Of byte;
  PWaveData = ^TWaveData;
end;
Daten werden so eingelesen!
wavedata := @This_Mod^.WaveformData[0][0]; In der PN habe ich mal näher geschildert (als ich die Antwort hier noch nicht kannte)
wo das problem liegt.

Ich denke die berechnung über 'abs' so wie ursprünglich aufgeführt kann nicht funktionieren
da die variablen ganz anderes deklariert sind in c++
Bekomm auch unabhängig jetzt von der konvertierung immer einen wert von 255.
Was noch erschwerend hinzukommt ist halt das die konvertierung nach Single kläglich scheitert.

Deine Variante habe ich mal geprüft geht aber wegen dem Array nicht..
Werd mal versuchen die umzustricken.
EDIT: geht nicht wieder wegen konvertierungs problemen..

Danke wie immer Emil
  Mit Zitat antworten Zitat