Seite 1 von 1

Data to Binary

Verfasst: 21.06.2016 14:42
von udg
Hallo,
mal wieder hatte ich die Unterhaltung bzgl inkludierte Daten wie Grafiken oder sonstiges als Data Block im Code.

Ich nutze herfür die sehr unkonventionelle Methode über PureForm (ImageGadget).

Nun habe ich mir gedacht ein kleines Tool zu schreiben, dass ich auf der Linken Seite per Drag n Drop (Datei reinziehen die gewandelt werden soll) reinziehen kann und auf der rechten Seite, ein EditorGadget den Codeblock anzeigen, den ich dann einfach kopiere und in meinen Code einfügen kann.

Wie kann ich ansetzen dies zu realisieren? Welche Umrechnung muss man dafür nehmen?

hier das Video Tutorial wie ich es seit je her mache:
https://youtu.be/5bfVARIOQSw

Ich ziehe also zB. links einen Shader.fx rein und per klick auf Button wird dann umgewandelt und.....

als Ausgabe im EditorGadget zeigt es mir den Datablock so an:

Code: Alles auswählen

 DataSection
Shader5: 
;{ Size = 1373 bytes
  Data.l $50202F2F,$2E332053,$65762030,$6F697372,$0D0A0D6E,$6F6C660A,$20327461,$6F736572,$6974756C,$3D206E6F,$30387B20,$30362C30
  Data.l $203B7D30,$6D202F2F,$20737375,$206E616D,$67726F76,$6E656265,$65646F20,$69652072,$6361666E,$6C612068,$61762073,$62616972
  Data.l $FC20656C,$67726562,$6E656265,$6C660A0D,$2074616F,$656D6974,$0D0A0D3B,$6F6C660A,$20347461,$6853794D,$72656461,$6F6C6628
  Data.l $20327461,$20786554,$4554203A,$4F4F4358,$20294452,$4F43203A,$0D524F4C,$0A0D7B0A,$66202020,$74616F6C,$6F432034,$3B726F6C
  Data.l $0A0D0A0D,$66202020,$74616F6C,$3D207820,$78655420,$2A20782E,$73657220,$74756C6F,$2E6E6F69,$0D3B2078,$2020200A,$616F6C66
  Data.l $20792074,$6554203D,$20792E78,$6572202A,$756C6F73,$6E6F6974,$0D3B792E,$200A0D0A,$6C662020,$2074616F,$30766F6D,$78203D20
  Data.l $632B792B,$7328736F,$74286E69,$29656D69,$292E322A,$3030312A,$69732B2E,$2F78286E,$2E303031,$30312A29,$3B2E3030,$20200A0D
  Data.l $6F6C6620,$6D207461,$2031766F,$2079203D,$7220202F,$6C6F7365,$6F697475,$20792E6E,$2E30202F,$202B2032,$656D6974,$200A0D3B
  Data.l $6C662020,$2074616F,$32766F6D,$78203D20,$20202F20,$6F736572,$6974756C,$782E6E6F,$30202F20,$3B20322E,$20200A0D,$6F6C6620
  Data.l $63207461,$203D2031,$28736261,$286E6973,$31766F6D,$6D69742B,$322F2965,$6F6D2B2E,$322F3276,$6F6D2D2E,$6D2D3176,$2B32766F
  Data.l $656D6974,$0A0D3B29,$66202020,$74616F6C,$20326320,$6261203D,$69732873,$3163286E,$6E69732B,$766F6D28,$30312F30,$2B2E3030
  Data.l $656D6974,$69732B29,$2F79286E,$2B2E3034,$656D6974,$69732B29,$7828286E,$2F29792B,$2E303031,$2E332A29,$0D3B2929,$2020200A
  Data.l $616F6C66,$33632074,$61203D20,$73287362,$63286E69,$6F632B32,$6F6D2873,$6D2B3176,$2B32766F,$2B293263,$28736F63,$32766F6D
  Data.l $69732B29,$2F78286E,$30303031,$2929292E,$200A0D3B,$65722020,$6E727574,$6C6F4320,$3D20726F,$6F6C6620,$28347461,$2C316320
  Data.l $632C3263,$2E312C33,$0D3B2930,$0A0D7D0A,$2F2F0A0D,$2D2D2D20,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D
  Data.l $2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$0A0D2D2D,$56202F2F,$65747265,$68532078,$72656461,$0A0D0A0D,$75727473,$56207463
  Data.l $4E495F53,$0D545550,$0A0D7B0A,$20202020,$616F6C66,$70203374,$7469736F,$096E6F69,$4F50203A,$49544953,$0D3B4E4F,$2020200A
  Data.l $6F6C6620,$20327461,$74786574,$30657275,$20202020,$54203A20,$4F435845,$3044524F,$7D0A0D3B,$0D0A0D3B,$7274730A,$20746375
  Data.l $4F5F5356,$55505455,$7B0A0D54,$20200A0D,$66202020,$74616F6C,$70682034,$7469736F,$206E6F69,$4F50203A,$49544953,$0D3B4E4F
  Data.l $2020200A,$6C662020,$3274616F,$78657420,$65727574,$3A202030,$58455420,$524F4F43,$0D3B3044,$0D3B7D0A,$560A0D0A,$554F5F53
  Data.l $54555054,$76796D20,$56202873,$4E495F53,$20545550,$29204E49,$0D7B0A0D,$2020200A,$5F535620,$5054554F,$4F205455,$0D3B5455
  Data.l $200A0D0A,$4F202020,$682E5455,$69736F70,$6E6F6974,$66203D20,$74616F6C,$4E492834,$736F702E,$6F697469,$20782E6E,$2E4E492C
  Data.l $69736F70,$6E6F6974,$2C20792E,$702E4E49,$7469736F,$2E6E6F69,$31202C7A,$0A0D3B29,$20202020,$2E54554F,$74786574,$30657275
  Data.l $49203D20,$65742E4E,$72757478,$0D3B3065,$2020200A,$74657220,$206E7275,$3B54554F,$0D7D0A0D,$202F2F0A,$2D2D2D2D,$2D2D2D2D
  Data.l $2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$2D2D2D2D,$0D0A0D2D,$6365740A,$71696E68
  Data.l $50206575,$5074736F,$65636F72,$0A0D7373,$200A0D7B,$70202020,$20737361,$0A0D3170,$20202020,$200A0D7B,$20202020,$2F2F2020
  Data.l $67694C20,$6E697468,$203D2067,$65757254,$200A0D3B,$20202020,$65562020,$78657472,$64616853,$3D207265,$6D6F6320,$656C6970
  Data.l $5F737620,$20305F33,$7376796D,$0D3B2928,$2020200A,$20202020,$78695020,$68536C65,$72656461,$63203D20,$69706D6F,$7020656C
  Data.l $5F335F73,$794D2030,$64616853,$29287265,$200A0D3B,$7D202020,$0A0D0A0D
  Data.b $7D
;}
 Shader5_End:
EndDataSection
Shader5: möchte ich selber mit einem StringGadget als Name vergeben können sowie: Shader5_End:

Viele Grüße

Re: Data to Binary

Verfasst: 21.06.2016 14:57
von NicTheQuick

Re: Data to Binary

Verfasst: 21.06.2016 16:21
von udg
Aha, danke. Schau ich mir an. Bei solch einem Vorhaben wusste ich nicht wirklich wonach ich suchen sollte,ob es das schon gibt.
Danke dir

Re: Data to Binary

Verfasst: 21.06.2016 16:50
von ts-soft

Re: Data to Binary

Verfasst: 21.06.2016 18:29
von udg
ts-soft hat geschrieben:Etwas ähnliches: http://www.purebasic.fr/english/viewtopic.php?p=374183
ja perfekt, da muss ich nicht erst neu Coden. :D

Top

eine Frage:
was ist der Unterschied zwischen:

Code: Alles auswählen

Data.q
und

Code: Alles auswählen

Data.l

Re: Data to Binary

Verfasst: 21.06.2016 18:54
von RSBasic
Das sind Datentypen. .q ist Quad, hat eine Größe von 8 Bytes und hat einen Bereich von -9223372036854775808 bis +9223372036854775807.
Und .l ist Long, hat eine Größe von 4 Bytes und hat einen Bereich von -2147483648 bis +2147483647.
Je größer der Bereich ist, desto größere Zahlen können gespeichert werden.
Weitere Informationen siehe PB-Hilfe unter "Variablen, Typen und Operatoren".

Re: Data to Binary

Verfasst: 21.06.2016 19:23
von udg
RSBasic hat geschrieben:Das sind Datentypen. .q ist Quad, hat eine Größe von 8 Bytes und hat einen Bereich von -9223372036854775808 bis +9223372036854775807.
Und .l ist Long, hat eine Größe von 4 Bytes und hat einen Bereich von -2147483648 bis +2147483647.
Je größer der Bereich ist, desto größere Zahlen können gespeichert werden.
Weitere Informationen siehe PB-Hilfe unter "Variablen, Typen und Operatoren".
Danke für die Information. :allright: