Hexwerte bitte in Decimal umwandeln.
Hexwerte bitte in Decimal umwandeln.
Hallo, guten Tag.
Ich habe bitte 256 Farbwerte in Hex für die VGA-Karte RGB in diesem Format.
000000
0000aa
00aa00
00aaaa
aa0000
aa00aa
aa5500
aaaaaa
555555
..........
..........
Ich möchte die bitte umwandeln in Decimal in diesem Format:
0 186 73
..........
.........
Wie geht das bitte mit nur Einlesen und Ausgabe als Text?
Danke.
Ich habe bitte 256 Farbwerte in Hex für die VGA-Karte RGB in diesem Format.
000000
0000aa
00aa00
00aaaa
aa0000
aa00aa
aa5500
aaaaaa
555555
..........
..........
Ich möchte die bitte umwandeln in Decimal in diesem Format:
0 186 73
..........
.........
Wie geht das bitte mit nur Einlesen und Ausgabe als Text?
Danke.
-
- Beiträge: 75
- Registriert: 17.01.2018 08:52
- Computerausstattung: Windows 11 64 bit, i7, 16GB RAM
- Wohnort: Wesertal in Nordhessen
Re: Hexwerte bitte in Decimal umwandeln.
Quick'n'dirty:
So ungefähr?
So ungefähr?
Code: Alles auswählen
EnableExplicit
Global r,g,b,c,d
For c=0 To 8
Read d
b=d&$ff
g=(d>>8)&$ff
r=(d>>16)&$ff
Debug Str(r)+" "+Str(g)+" "+Str(b)
Next
DataSection
Data.i $0,$0000aa,$00aa00,$00aaaa,$aa0000,$aa00aa,$aa5500,$aaaaaa,$555555
EndDataSection
formerly known as bizzl
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Hexwerte bitte in Decimal umwandeln.
Wenn es Strings sind, dann zum Beispiel so:
Aber funkheld, eigentlich müsstest du das doch schon können. Du bist doch schon lange hier mit dabei.
Code: Alles auswählen
Define rgbLine.s, rgbValue.l
Restore rgbLines
Repeat
Read.s rgbLine
If rgbLine = "": Break: EndIf
rgbValue = Val("$" + rgbLine)
Debug "" + Red(rgbValue) + " " + Green(rgbValue) + " " + Blue(rgbValue)
ForEver
DataSection
rgbLines:
Data.s "000000"
Data.s "0000aa"
Data.s "00aa00"
Data.s "00aaaa"
Data.s "aa0000"
Data.s "aa00aa"
Data.s "aa5500"
Data.s "aaaaaa"
Data.s "555555"
Data.s ""
EndDataSection
Re: Hexwerte bitte in Decimal umwandeln.
Danke für die Info.
So ganz funktioniert es noch nicht , weil ich einen String einlese.
d=Read....... da meckert Purebasic rum.
Danke.
So ganz funktioniert es noch nicht , weil ich einen String einlese.
d=Read....... da meckert Purebasic rum.
Danke.
Code: Alles auswählen
Global r,g,b,c,d
ReadFile(0, "d:\dospbgeos\vgapalette-umw1.txt")
CreateFile(1,"d:\dospbgeos\vga.pal")
While Eof(0) = 0
For c=0 To 8
d=Read.......???
b=d&$ff
g=(d>>8)&$ff
r=(d>>16)&$ff
Debug Str(r)+" "+Str(g)+" "+Str(b)
Next
Wend
CloseFile(0)
CloseFile(1)
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Hexwerte bitte in Decimal umwandeln.
Nutze dafür meine Variante. Und wenn du aus Dateien liest, weißt du doch schon lange, was du benötigst. Schau einfach nochmal in die Hilfe. ReadFile() hast du ja auch selbstständig gefunden.
-
- Beiträge: 75
- Registriert: 17.01.2018 08:52
- Computerausstattung: Windows 11 64 bit, i7, 16GB RAM
- Wohnort: Wesertal in Nordhessen
Re: Hexwerte bitte in Decimal umwandeln.
Ich habe da mal was gebaut:
Ich habe die Daten aus deinem ersten Post genommen und gespeichert unter "H:\PureBasic Programme\rgb.txt"
Aber, wie NickTheQuick schon schrieb, die Hilfe hilft da weiter.
Code: Alles auswählen
EnableExplicit
Global.s RGBWerte="H:\PureBasic Programme\rgb.txt" ;<--- Hier deinen Dateipfad eintragen
Global.l Farbe
If ReadFile(1,RGBWerte) ;Die For...Next-Schleife in meinem ersten Post war zum Einlesen der Datazeile(n) gedacht.
While Not Eof(1) ;Alle Daten lesen bis Dateiende
Farbe=Val("$"+ReadString(1)) ;Hier habe ich mich von NikTheQuick inspirieren lassen
; - ist hoffentlich okay für dich, NikTheQuick ?
Debug Str(Red(Farbe))+" "+Str(Green(Farbe))+" "+Str(Blue(Farbe)) ;ist einfacher als meine Bitschiebereien. Danke NikTheQuick
Wend
CloseFile(1)
EndIf
Code: Alles auswählen
000000
0000aa
00aa00
00aaaa
aa0000
aa00aa
aa5500
aaaaaa
555555
formerly known as bizzl
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Hexwerte bitte in Decimal umwandeln.
Es ist faszinierend wie viele Leute mich hier falsch schreiben. 
