Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#1

[Gelöst] BASS_GetVersion: Wie auslesen?

  Alt 12. Dez 2014, 16:33
Die übliche Art des Auslesens ist:

Delphi-Quellcode:
Label1.Caption:= ' BASS.DLL-Version: '+INTTOSTR(LOWORD(BASS_GetVersion))+'.'
 + INTTOSTR(HIWORD(BASS_GetVersion));
Das funktioniert aber nur, wenn die Version z.B. 2.4 ist.

Ist die Version aber 2.4.10, dann geht das nicht.

Eine Behelfskonstruktion ist folgende:

Delphi-Quellcode:
var hstr, S1, S2, S3 : String;
begin
  hstr:= IntToHex(BASS_GetVersion div 256, 6);
  S1:= INTTOSTR(STRTOINT('$'+copy(hstr,1,2)));
  S2:= INTTOSTR(STRTOINT('$'+copy(hstr,3,2)));
  S3:= INTTOSTR(STRTOINT('$'+copy(hstr,5,2)));
  Label1.Caption:= ' BASS.DLL-Version: '+S1+'.'+S2+'.'+S3;
Geht das einfacher?

Nachtrag: Lösung gefunden:

Delphi-Quellcode:
function GetVersion(BASSversion: DWord): string;
begin
Result := Format('%d.%d.%d', [
BASSversion shr 24 and $ff,
BASSversion shr 16 and $ff,
BASSversion shr 8 and $ff]);
end;
...
  Label11.Caption:= ' BASS.DLL-Version: '+ GetVersion(BASS_GetVersion);
...

Geändert von hathor (12. Dez 2014 um 17:14 Uhr)
  Mit Zitat antworten Zitat