PB4 -deutsche Hilfe- Fehler im Beispielcode

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

mardanny71 hat geschrieben:@Falco

Ohne Parameter krieg ich auch nichts zum laufen.
Ich möchte auch mal Wissen, was Parameter 1 oder #PB_Image_DisplayFormat dann bedeuten. :roll:

Die Bittiiefe werden doch wohl Pflichtparameter werden.

Gruß
mardanny71
Ja, das sollte es eigendlich sein. Lt. Structureviewer unter Konstanten
soll #PB_Image_DisplayFormat = 8 sein. Also 8Bit-Tiefe =256Farben.
Setze ich die Konstante. Dann habe ich nur ein 2-Bit-Bild Grün/Schwarz.
Ersetzte ich diese aber nur durch die 8, dann ist das nicht das Gleiche.
Es sind zwar mehr Farben drinne, aber es sieht so aus, wie früher
beim C64 (256 Farben) :lol:
Aber Spass beiseite. Ein Debug verrät den wahren Wert, der lt. Structureviewer nicht stimmen kann. Ich bekomme beim
Debug #PB_Image_DisplayFormat eine "1" heraus und das ist ein Bug.

[Edit] Danke @Andre :allright: [/Edit]

MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Hallo!

Möchte meinen Senf auch noch dazu geben! In der Hilfe sind die Befehle
"GetExtensionPart", "GetFilePart" und "GetPathPart" unter Misc zu finden.
Ich fände es besser, wenn man die Erklärung nach FileSystem verschieben
würde. Passt da eher hin.
Ich habe mir mal selber extra dafür Funktionen gebastelt, bis ich die dann
durch Zufall unter Misc gefunden hatte. Solche Befehle hatte ich nämlich
eher unter FileSystem erwartet.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

@PBZecke: die Befehle sind auch in der Doku immer in der Lib gelistet, wo sie sich tatsächlich befinden. Kann aber gerne in der Doku zur FileSystem Lib entsprechende Hinweise/Links integrieren.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Besser wäre es doch, wenn Fred die entsprechenden Funktionen auch in die
FileSystem Lib verschiebt. Bessere Gelegenheit, als jetzt wird er wohl so
schnell nicht finden :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Andre hat geschrieben:@PBZecke: die Befehle sind auch in der Doku immer in der Lib gelistet, wo sie sich tatsächlich befinden. Kann aber gerne in der Doku zur FileSystem Lib entsprechende Hinweise/Links integrieren.

Hatte ich mir schon gedacht, dass das nach Libs sortiert ist,
aber ein Hinweis wäre wirklich gut, gerade für Pure-Einsteiger.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

ts-soft hat geschrieben:Besser wäre es doch, wenn Fred die entsprechenden Funktionen auch in die
FileSystem Lib verschiebt. Bessere Gelegenheit, als jetzt wird er wohl so
schnell nicht finden :wink:
Das wäre wohl wirklich die korrekte Lösung! :allright:
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
heinz.goldbach
Beiträge: 93
Registriert: 16.11.2005 18:27
Wohnort: Neuss

Beitrag von heinz.goldbach »

Als Beispiel zu CatchImage wird in der Hilfe folgendes aufgeführt:

Result = CatchImage(#Image, MemoryAddress [, Flags])

und als Beispiel das hier:

Code: Alles auswählen

CatchImage(0, ?Logo)
  End
  Logo: IncludeBinary "Logo.bmp"
Lief so unter 3.94, jedoch nicht mehr unter 4.0

Fred schrieb:

You will have to use the 'Length' parameter of CatchImage() when the image isn't 'safe' as some decoding error can error and the decoder will do a buffer overflow.


Diese zwei Beispiele gehen:

Code: Alles auswählen

UseJPEGImageDecoder()

CatchImage(0, ?kStart, ?kEnd - ?kStart)

OpenWindow(0,0,0,320,240,"")
StartDrawing(WindowOutput(0))
  DrawImage(ImageID(0),20,20)
StopDrawing()
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow

DataSection
  kStart:
  IncludeBinary "a4.jpg"
  kEnd:
EndDataSection
oder

Code: Alles auswählen

UseJPEGImageDecoder()

CatchImage(0, ?k, 22875) ; 22875 ist die Dateigrösse von ?k

OpenWindow(0,0,0,320,240,"")
StartDrawing(WindowOutput(0))
  DrawImage(ImageID(0),20,20)
StopDrawing()
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow

DataSection
  k: IncludeBinary "a4.jpg"
EndDataSection 
Flype erklärte mir das.
---------------------------------------------------
Man lernt nur aus Fehlern!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@heinz.goldbach
Was Flype Dir erklärt hat, trifft aber nicht auf das Beispiel zu, da die Länge
bei BMP nicht erforderlich ist. Die Längenangabe ist nur bei komprimierten
Imageformaten, wie z.B. jpg, erforderlich.

Aber ein Hinweis hierauf wäre schon sinnvoll, auch bei CatchSound mit OGG.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
heinz.goldbach
Beiträge: 93
Registriert: 16.11.2005 18:27
Wohnort: Neuss

Beitrag von heinz.goldbach »

Hallo ts-soft,
ich habe wieder etwas dazu gelernt.
Was mich nur wundert ist, das unter 3.94 die Länge bei JPG Dateien nicht angegeben werden musste und es bei 4.0 erfoderlich ist. Hat jemand eine Erklärung - nur interessenhalber.
---------------------------------------------------
Man lernt nur aus Fehlern!
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Hallo!

Ist eigentlich geplant EventLParam() und EventWParam() in die
Dokumentation aufzunehmen? Die Befehle gibts seit 2.4, wurden jedoch
nie beschrieben. Sind nur in der History aufgelistet. Ich kann mir zwar
denken wofür die sind, aber sollten trotzdem in der Hilfe auftauchen.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Gesperrt