komme hier mit einem Zugriff auf ein Memoryfeld nicht klar.
Wenn ich die Software richtig habe soll ein lesbares Muster zu sehen sein.
leider kommt bei dem PeekB immer null raus.
Anschliessend mal der Quell.
Das dazugehörige Datenfile habe ich unter
http://db0noe.dyndns.org/DL6SH1.DAT abgelegt.
Gruß Thomas
Code: Alles auswählen
;
; ------------------------------------------------------------
;
; Logo Anzeige Thomas Kalmeier DG5MPQ
;
; (c) 2004 - Joshua Soft & Hard
;
; ------------------------------------------------------------
;
*daten = AllocateMemory (32768)
count.l = 0
If OpenWindow(0, 10, 200, 773, 390, #PB_Window_SystemMenu | #PB_Window_TitleBar , "DAT to Logo")
If ReadFile (0,"DL6SH1.dat")
Anzahl = ReadData(*daten,32768)
If Anzahl <> 32768
MessageRequester ("Error","Anzahl <> 32768")
EndIf
Else
MessageRequester ("Error","Fehler open File")
EndIf
CloseFile (0)
;----- Hauptprogram --------------------------------
Repeat
Repeat
EventID.l = WaitWindowEvent()
Until EventID <> 0
If EventID = #PB_EventRepaint
Gosub Logo
EndIf
Until EventID = #PB_EventCloseWindow
;----- Hauptprogram --------------------------------
EndIf
End
;------- SUBS --------------------------------------
Logo:
StartDrawing(WindowOutput())
count.l = 0 ; den Counter erst mal auf null
For i = 1 To 127 Step 2 ; Hier schreiben wir die ungeraden Zeilen
For t = 1 To 256
;Debug = PeekB(*daten+count)
If PeekB(*daten + count ) > 0
Box(t * 3,i * 3,2,2, RGB(255,255,255))
Else
Box(t * 3,i * 3,2,2, RGB(0,0,0))
EndIf
count = count + 1
Next t
Next i
For i = 2 To 128 Step 2 ; Hier schreiben wir die ungeraden Zeilen
For t = 1 To 256
;Debug = PeekB(*daten+count)
If PeekB(*daten + count ) > 0
Box(t * 3,i * 3,2,2, RGB(255,255,255))
Else
Box(t * 3,i * 3,2,2, RGB(0,0,0))
EndIf
count = count + 1
Next t
Next i
StopDrawing()
Return
