Hello.
I ask the help on the editor. At once I apologise for bad English speech. I wish to make an unpretentious template for editor JaPBe. There was a question on a text insert in the editor from my program. Here my code:
Code: Select all
Enumeration
#Window_0
EndEnumeration
Enumeration
#Button_0
#Button_1
#Button_2
#ListIcon_0
EndEnumeration
Global Dim fileD.s(100),nF
Procedure jaPBe_Paste(jaPBe_ID, Text1.s)
Result=0 : MainClass${255}
Win.RECT
Center.POINT
GetWindowRect_(jaPBe_ID, @Win)
Center\x = (Win\left+Win\right)/2
Center\y = (Win\top+Win\bottom)/2
EditID = WindowFromPoint_(Center\X|(Center\Y<<32))
If EditID
GetClassName_(EditID,@MainClass$,$FF)
If LCase(MainClass$)="scintilla"
SendMessage_(EditID, #EM_GETSEL, @CharPos1, @CharPos2)
SendMessage_(EditID, #EM_SETSEL, CharPos1, CharPos1)
text2.s=GetClipboardText()
SendMessage_(EditID,#EM_REPLACESEL , 0,@text2)
Result=1
EndIf
EndIf
ProcedureReturn Result
EndProcedure
Procedure LoadFile(File.s)
If ReadFile(0, File)
FileSize=Lof(0)
*mem=AllocateMemory(FileSize+1)
ReadData(0, *mem, FileSize)
SetClipboardText(PeekS(*mem))
FreeMemory(*mem)
CloseFile(0)
rr=FindWindow_(0,"jaPBe V3 - PB4.31")
jaPBe_Paste(rr, "hfhfhhfhfhfj")
EndIf
EndProcedure
Procedure CHFILE()
If ExamineDirectory(0, GetCurrentDirectory(), "*.pb*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
Type$ = " [File] "
Else
Type$ = " [Sub-Dir] "
EndIf
fileD(nF)= DirectoryEntryName(0)
nF+1
Wend
FinishDirectory(0)
EndIf
EndProcedure
Procedure Open_Window_0()
If OpenWindow(#Window_0, 1065, 565, 199, 328, "Template", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
ButtonGadget(#Button_0, 5, 295, 40, 25, "ADD")
ButtonGadget(#Button_1, 65, 295, 60, 25, "REMOVE")
ButtonGadget(#Button_2, 145, 295, 40, 25, "EDIT")
ListIconGadget(#ListIcon_0, 5, 5, 190, 275, "", 200, #PB_ListIcon_GridLines|#PB_ListIcon_AlwaysShowSelection)
EndIf
EndProcedure
Open_Window_0()
CHFILE()
If fileD(0)<>""
For ddd=0 To nF-1
AddGadgetItem(#ListIcon_0,-1, ReplaceString(fileD(ddd),".pb","")+" ")
Next
EndIf
Repeat
ev=WaitWindowEvent()
Select ev
Case #PB_Event_Gadget ,#PB_Event_Menu
Select EventGadget()
Case #ListIcon_0
If EventType() = #PB_EventType_LeftDoubleClick
If GetGadgetState(#ListIcon_0)<>-1
LoadFile(fileD(GetGadgetState(#ListIcon_0) ))
EndIf
EndIf
EndSelect
EndSelect
Until ev=#PB_Event_CloseWindow