Hier ist nochmal die Schleife!
Delphi-Quellcode:
// Spektrum Analyser Daten glaetten
for c := 0 to 1 do
begin
for i := 0 to 72 do
begin
h := 0.0;
for j := 0 to 8 do
begin
h := (h + specdata[i * 8 + j + c * 576]);
h := h / (1.0 * 255.0);
h := Ln(h + 1.0) * 10.0;
delta := (currenttime - lastcurrenttime) * 10.0;
delta2 := (currenttime - lastcurrenttime) * 2.0;
if (h > heights[c][i] - delta) then
h := heights[c][i]
else
heights[c][i] := heights[c][i] - delta;
if (h > heights2[c][i] - delta2) then
h := heights2[c][i]
else
heights2[c][i] := heights2[c][i] - delta2;
end;
end;
end;
specdata : PByte;
specdata := This_Mod.spectrumData[0][0];
Jetzt verlangt er einen Array Typ für specdata.
ist aber in c nicht als array ausgelegt... Hmmmm ..........
Jetzt die frage!
specdata: array [1..576] of PByte
sollte dann richtig sein
Nur : Jetzt meldet er wieder
h := (h + specdata[i * 8 + j + c * 576]);
[Pascal Error] VisCDRom.pas(566): E2008 Incompatible types
Das nervt mit den konvertierungen
Nein Speicher habe ich nicht reserviert
Wie muss ich da vorgehen.. will verstehen nicht kopieren.
gruss Emil