Aktuelle Zeit: 12.07.2020 08:16

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Vorschlag zu gelöschtem Beitrag - Volksforth-Seiten(Blöcken!
BeitragVerfasst: 04.02.2020 12:53 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Wie Volksforth Seiten entziffern?

Der Post wurde leider vom Ersteller gelöscht aber da ich schon etwas gebastelt hatte...

Original Frage:
Zitat:
Hallo, guten Tag.

Ich möchte den Text von Volksforth-Seiten(Blöcken) entziffern.
Ein Block hat 1024 Byte.
Der besteht 16 Zeilen , eine Zeile hat 64 Zeichen.
Da der Text dort drinnen nur durch das Zeichen $20 getrennt ist erscheint er im Notepad++ als eine lange Zeile.

Nun möchte ich den Text auslesen.
16 mal und je ein Zeile 64 Byte lang zum lesen.

Ich möchte auch wieder Text den ich erstellt habe in diesen Forth-text umwandeln.

wie kann man das bitte anfangen?

Als Byte auslesen und dann in Text umwandeln und speichern?

Danke.
Gruss



Vorschlag:
Code:
EnableExplicit

Structure VOLKSFORTH_BLOCK_STRUCT
  chr.a[64]
EndStructure

Structure VOLKSFORTH_STRUCT
  *block.VOLKSFORTH_BLOCK_STRUCT[16]
  block_size.i[16]
EndStructure

Procedure.i VolksForthCreate(*Buffer)
  Protected *vf.VOLKSFORTH_STRUCT
  Protected index.i
  Protected page.i
  Protected *split.Ascii
  If *Buffer
    *vf = AllocateStructure(VOLKSFORTH_STRUCT)
    If *vf
      *vf\block = *Buffer
      *split = *vf\block
      For index = 0 To 1023
        If *split\a = $20
          *vf\block_size[page] = index << 4
          page + 1
        EndIf
        *split + index
      Next
    EndIf
  EndIf
  ProcedureReturn *vf
EndProcedure

Procedure.s VolksForthString(*VolksForth.VOLKSFORTH_STRUCT,Index.i)
  ProcedureReturn PeekS(*VolksForth\block[Index],*VolksForth\block_size[Index],#PB_Ascii)
EndProcedure

Procedure.i VolksForthRelease(*VolksForth)
  FreeStructure(*VolksForth)
  ProcedureReturn #Null
EndProcedure

;-> load ur VolksForthFile into a buffer
;-> call VolksForthCreate(*Buffer)
;-> use the result and call VolksForthString() to read a string
;-> call VolksForthRelease() at the end to release the allocatet memory

_________________

Links:
PureBasic Discord
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Vorschlag zu gelöschtem Beitrag - Volksforth-Seiten(Blöc
BeitragVerfasst: 04.02.2020 13:09 
Offline

Registriert: 15.09.2004 18:11
Wohnort: hamburg
geht ´n bischen einfacher:
Code:
For zeile=1 To 16
  Zeile$(zeile)=Mid(VolksForth$,(zeile-1)*64+1,64)
Next

VolksForth$ enthält den gesammten Block,
im Array Zeilen$() sind dann die einzelnen Zeilen enthaöten...


viel Erfolg

_________________
Bild Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 18 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye