Re: PB5.30 geht.... PB5.50 bringt Fehler !
Verfasst: 22.11.2016 13:27
@Bisonte & @ts-soft
Stimmt, ihr habt recht.
Stimmt, ihr habt recht.
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Code: Alles auswählen
wav_datei$="D:\Haussteuerung\1.wav"
If ReadFile(0,wav_datei$ )
riff$=""
For i=1 To 4
riff$+Chr(ReadCharacter(0))
Next
gr=ReadLong(0)
wave$=""
For i=1 To 4
wave$+Chr(ReadCharacter(0))
Next
fmt$=""
For i=1 To 4
fmt$+Chr(ReadCharacter(0))
Next
fmt_length=ReadLong(0)
format_tag=ReadWord(0)
channels=ReadWord(0)
sample_rate=ReadCharacter(0 ,#PB_Ascii)
bytes_per_second=ReadCharacter(0 ,#PB_Ascii)
block_align=ReadWord(0)
bits_per_sample=ReadWord(0)
dat$=""
For i=1 To 4
dat$+Chr(ReadCharacter(0))
Next
data_length=ReadCharacter(0 ,#PB_Ascii)
*buffer=AllocateMemory(data_length)
ReadData(0, *buffer, data_length)
CloseFile(0)
EndIfJa, weil die Version 5.50 standardmäßig nur noch Unicode ist. ASCII wurde entfernt:Then hat geschrieben:In der Hilfe steht, dass man bei Compiler-Optionen das Häkchen bei Unicode rausnehmen kann, dieser Eintrag steht ja gar nicht in den Optionen mehr drin ??
Changelog hat geschrieben:- Removed: ASCII mode for internal PureBasic string representation, PureBasic is now unicode only.
Code: Alles auswählen
,#PB_AsciiCode: Alles auswählen
riff$+Chr(ReadCharacter(0),#PB_Ascii) ; FALSCHCode: Alles auswählen
riff$+Chr(ReadCharacter(0,#PB_Ascii)) ; RICHTIGDer Datenlängeneintrag ist 4 Byte groß. Das wäre Long. Du ließt aber nur das erste Byte.data_length=ReadCharacter(0 ,#PB_Ascii)