Well here you have some very basic code, but you can delete and wrap words.
Hope it helps.
;******* VERY BASIC TEXT EDITOR ******** ; ; By MadMax (Made in 5 minutes) ; ;*************************************** Graphics 640,480,16 ;Include "key_code.bb" Dim novel(5000); This should allow for a page of text curson=CreateImage(8,8) cursoff=CreateImage(8,12); these to are the cursors SetBuffer ImageBuffer(curson) Color 255,0,255 Rect 0,0,8,8,True SetBuffer ImageBuffer(cursoff) Color 0,0,0 Rect 0,0,8,12,True SetBuffer FrontBuffer() Color 255,255,255 MaskImage cursoff,50,50,50 h=10;horizontal cursor location y=10;vertical cursor location ;********** MAIN LOOP ************* While Not KeyDown(1) DrawImage curson,h,y+4 value=GetKey() If value<>0 ;******** DELETE **************** If value=8 DrawImage cursoff,h,y+2 h=h-8 DrawImage cursoff,h,y+2 pos=pos-1 EndIf ;******** CARRIAGE RETURN ****** If value=13 DrawImage cursoff,h,y+2 h=10 y=y+16 pos=pos+1 EndIf ;******** TEXT PRINT ************ If value>31 novel(pos)=value pos=pos+1 DrawImage cursoff,h,y+2 Locate h,y Write Chr$(value) h=h+8 ;*********** CHECK LINE END ********* If h>630 ; Here if the end of the line has been reached ; it starts a new one, but only if the end of line ; coincides with the end of a word. If value=32 h=10 y=y+16 ; Here what to do if the line end doesn't ; coincide with the end of word Else wrap=pos; remember position ;******* delete word ********** Repeat DrawImage cursoff,h,y+2 h=h-8 pos=pos-1 Until novel(pos)=32 h=10 y=y+16 pos=pos+1 ;******* reprint word in new line ***** Repeat Locate h,y Write Chr$(novel(pos)) h=h+8 pos=pos+1 Until pos=wrap EndIf EndIf EndIf EndIf Wend
Hope it helps.