- Can create more than one DataSection files in the same session
- No of columns can be changed even in the same file
Your created files will be in your Home directory
Code: Select all
#UDS_HOTTRACK = $0100
Procedure.s GetFileName(File.s)
If Len(GetExtensionPart(File))
Temp$+Left(GetFilePart(File), Len(GetFilePart(File))-1-Len(GetExtensionPart(File)))
Else
Temp$+File
EndIf
Temp$ = RemoveString(Temp$," ")
ProcedureReturn Temp$
EndProcedure
LoadFont(0,"Georgia",16)
new = 1
If OpenWindow(0,0,0,600,400,"Any File 2 DataSection",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ExplorerTreeGadget(0, 10, 10, 200, 320, "*.*")
SetGadgetColor(0, #PB_Gadget_BackColor, $FEE9D3)
;SetGadgetColor(0, #PB_Gadget_FrontColor, $00FEEF)
ExplorerListGadget(1, 220, 10, 370, 320, "C:\*.bmp",#PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder| #PB_Explorer_AutoSort|#PB_Explorer_FullRowSelect)
SetGadgetColor(1, #PB_Gadget_BackColor, $E2FEFD)
SetGadgetColor(1, #PB_Gadget_FrontColor, $EA0801)
RemoveGadgetColumn(1,1)
RemoveGadgetColumn(1,2)
SetGadgetItemAttribute(1, 0, #PB_Explorer_ColumnWidth, 250,0)
StringGadget(2,220,335,370,20,"")
ComboBoxGadget(3,450,370,140,20,#PB_ComboBox_Editable)
AddGadgetItem(3, -1, "*.bmp")
AddGadgetItem(3, -1, "*.jpg")
AddGadgetItem(3, -1, "*.png")
AddGadgetItem(3, -1, "*.*")
SetGadgetState(3,0)
StringGadget(4,60,335,110,34,"Choose No. of"+#CRLF$+ "Columns per Line",#ES_MULTILINE|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
; TextGadget(4,10,335,120,20,"Choose No.of"+#CRLF$+"Columns per Line",#SS_CENTERIMAGE )
; SpinGadget(5,140,335,30,20,1,10,#PB_Spin_Numeric)
; SetGadgetState(5,5)
;hwnd = GetWindow_(GadgetID(5),#GW_HWNDNEXT)
;MoveWindow_(hwnd,160,335,20,20,1)
SGhwnd = TextGadget(5,170,335,40,32,"",#SS_CENTERIMAGE|#SS_CENTER| #PB_Text_Border)
CreateUpDownControl_(#WS_CHILD|#WS_BORDER| #WS_VISIBLE|#UDS_ALIGNRIGHT| #UDS_SETBUDDYINT| #UDS_HOTTRACK| #UDS_ARROWKEYS, 10,10,80,22,WindowID(0),1, GetModuleHandle_(0), SGhwnd,10,1,5)
;TextGadget(6,50,374,80,20,"Add Data 2 Bin ? :",#SS_CENTERIMAGE)
ButtonGadget(7,60,374,70,20,"Add File")
ButtonGadget(8,140,374,70,20,"New File")
TextGadget(9,290,365,110,40,"")
SetGadgetFont(9,FontID(0))
SetGadgetColor(9,#PB_Gadget_FrontColor,#Red)
ButtonGadget(10,5,335,50,60,"EXIT")
If FileSize(GetHomeDirectory() + "Bin2Data.txt") > 0
DeleteFile(GetHomeDirectory() + "Bin2Data.txt")
EndIf
OpenFile(0,GetHomeDirectory() + "Bin2Data.txt")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
If IsFile(0)
WriteStringN(0,"EndDataSection")
CloseFile(0)
EndIf
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0
SetGadgetText(1,GetGadgetText(0))
Case 1
SetGadgetText(2,GetGadgetItemText(1,GetGadgetState(1)))
SetGadgetText(9,"Add File !")
Case 3
Select EventType()
Case #PB_EventType_Change
SetGadgetText(2,"")
SetGadgetText(1,GetGadgetText(3))
SetActiveGadget(1)
EndSelect
Case 7
File$ = GetGadgetText(0)+GetGadgetText(2)
If File$ <> ""
SetGadgetText(9,"WAIT")
ReadFile(1,File$)
If RUN = 0
WriteStringN(0,"DataSection")
Else
WriteStringN(0,"")
EndIf
WriteStringN(0,GetFileName(File$)+":")
noc = Val(GetGadgetText(5))
Repeat
For x = 1 To noc
For y = 1 To 8
If Eof(1)
Break
Else
RetVal$ = RSet(Hex(ReadByte(1),#PB_Byte),2,"0") + RetVal$
EndIf
Next
If x = noc
RowText$ = RowText$ +"$"+RetVal$
ElseIf Eof(1)
RowText$ = RowText$ + "$" + RetVal$
Break
Else
RowText$ = RowText$ +"$"+RetVal$ + ","
EndIf
RetVal$ = ""
Next
WriteStringN(0," Data.q "+RowText$)
RowText$ = ""
RetVal$ = ""
Until Eof(1)
CloseFile(1)
SetGadgetText(9,"Add File !")
WriteStringN(0,GetFileName(File$)+"end:")
RUN = 1
EndIf
Case 8
If IsFile(0)
WriteStringN(0,"EndDataSection")
CloseFile(0)
EndIf
new + 1
OpenFile(0,GetHomeDirectory() + "Bin2Data"+Str(new)+".txt")
SetGadgetText(9,"New File")
RUN = 0
Case 10
If IsFile(0)
WriteStringN(0,"EndDataSection")
CloseFile(0)
EndIf
Quit = 1
EndSelect
EndSelect
Until Quit = 1
EndIf