AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konvertierung von C nach Delphi

Ein Thema von venice2 · begonnen am 29. Jun 2020 · letzter Beitrag vom 29. Jun 2020
Antwort Antwort
Seite 2 von 2     12
venice2
(Gast)

n/a Beiträge
 
#11

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 17:39
Für später, falls du überlegst deinen Code dann noch zu optimieren, oder so.


Es sieht so aus, als wenn da Audio mit 2 Channels rein kommt und das auf zwei Streams mit jeweils einem Channel zerlegt wird.
Da gibt es bestimmt unter den vielen BASS-Beispielen irgendwo schon was Fertiges für.
Nein nicht für den besonderen Fall.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.100 Beiträge
 
Delphi 12 Athens
 
#12

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 17:48
geht in Delphi ja so auch nicht.
Ist das zweite = ein Vergleich (oder war das dieses ==) oder auch eine Zuweisung?

Ist wohl eher das Zweite?
Delphi-Quellcode:
for var i := 0 to 1023 do // das VAR im neusten Delphi, aber muß man nicht so machen, nur weil es in dem C-Code auch so gemacht wird
  tl.frequency[0][i] := tl.frequency[1][i] = Byte(Min(255, fft[i] * 512) * 25);
Delphi-Quellcode:
for var i := 0 to 1023 do begin
  tl.frequency[0][i] := Byte(Min(255, fft[i] * 512) * 25);
  tl.frequency[1][i] := tl.frequency[0][i];
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#13

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 18:30
Zitat:
Ist das zweite = ein Vergleich (oder war das dieses ==) oder auch eine Zuweisung?
In C (==) bedeutet in Delphi
if (x = x1) then

und (=)
x := x1;

Danke dir werde es mal testen.

Geändert von venice2 (29. Jun 2020 um 18:33 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.804 Beiträge
 
Delphi 12 Athens
 
#14

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 20:37
Noch eine Kleinigkeit: den Byte Array kann man evtl. auch durch den in SysUtils vordefinierten TBytes Datentyp ersetzen.
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#15

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 21:26
Noch eine Kleinigkeit: den Byte Array kann man evtl. auch durch den in SysUtils vordefinierten TBytes Datentyp ersetzen.
Nein geht nicht weil die Definition Byte ist.

Delphi-Quellcode:
  TimedLevel = record
    frequency : array [0..1, 0..SA_BUFFER_SIZE-1] of byte;
    waveform : array [0..1, 0..SA_BUFFER_SIZE-1] of byte;
    state : integer;
    timeStamp : int64;
  end;
Den Record kann ich nicht mal so eben umschreiben der ist vorgegeben.

so gehts..

Delphi-Quellcode:
for var i := 0 to 1023 do
begin
  tl.frequency[0, i] := Trunc(Min(255, fft[i] * 512) * 25); // Byte geht nicht. fft ist single
  tl.frequency[1, i] := tl.frequency[0, i];
end;
in C kann man das auf byte casten in Delphi nicht das verlangt round oder Trunc warum auch immer.

Geändert von venice2 (29. Jun 2020 um 21:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.100 Beiträge
 
Delphi 12 Athens
 
#16

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 22:17
Egal, da die Daten sowieso manuell reingefüllt werden, also von dir und deinem Code, also kännte man es auch ändern, falls man es für nötig hielte.
[edit] sah erst so aus, aber wollte nur nochmal schnell nachsehen wie groß SA_BUFFER_SIZE ist und ob man das ALLES auf dem Stack haben wöllte, und dann fand ich
https://docs.microsoft.com/en-us/pre...152(v%3Dvs.85)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Jun 2020 um 22:19 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#17

AW: Konvertierung von C nach Delphi

  Alt 29. Jun 2020, 22:18
Egal, da die Daten sowieso manuell reingefüllt werden, also von dir und deinem Code, also kännte man es auch ändern, falls man es für nötig hielte.
Jo.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:49 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