ptite modif pour charger la totalite du fichier lol alors qu'il ne prenait qu'une ligne lolll
Code : Tout sélectionner
; English forum: http://www.purebasic.fr/english/viewtopic.php?t=7030&highlight=
; Author: Kale (updated for PB3.92 by Andre, updated for PB4.00 by blbltheworm)
; Date: 29. July 2003
; OS: Windows
; Demo: No
Declare boiteacoucou()
;-Init Constants
#WindowIndex =0
#GadgetIndex =0
#ImageIndex =0
#StatusBarIndex =0
#MenuBarIndex =0
;-Window Constants
Enumeration
#WINDOW_MAIN
EndEnumeration
;-Gadget Constants
;Window_Main
Enumeration
#MenuBar_Main
#MenuBar_Main_New
#MenuBar_Main_Open
#MenuBar_Main_Save
#MenuBar_Main_Exit
#MenuBar_Main_Settings
#MenuBar_Main_Help
#MenuBar_Main_About
#MenuBar_1
#MENU_NEW
#MENU_OPEN
#MENU_SAVE
#MENU_SAVEAS
#MENU_UNDO
#MENU_REDO
#MENU_CUT
#MENU_COPY
#MENU_PASTE
EndEnumeration
Enumeration
#Gadget_Main_Editor
EndEnumeration
Enumeration
#StatusBar_Main
#StatusBar_Main_Field1
#StatusBar_Main_Field2
EndEnumeration
Global Path.s = "C:\"
Global File.s
Procedure NoTabJump(pGadgetID)
;Needed, because i don't want a jump with tab
Style = GetWindowLong_(pGadgetID, #GWL_STYLE)
newStyle = Style & (~#WS_TABSTOP)
SetWindowLong_(pGadgetID, #GWL_STYLE, newStyle)
ProcedureReturn pGadgetID
EndProcedure
Procedure.l Window_Main()
If OpenWindow(#WINDOW_MAIN,175,0,400,300,"Editeur Infos",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered|#PB_Window_Invisible)
CreateMenu(#MenuBar_Main,WindowID(#WINDOW_MAIN))
MenuTitle("Fichier")
MenuItem(#MenuBar_Main_New,"Nouveau")
MenuBar()
MenuItem(#MenuBar_Main_Open,"Ouvrir")
MenuItem(#MenuBar_Main_Save,"Sauve")
MenuBar()
MenuItem(#MenuBar_Main_Exit,"Quitter")
;MenuTitle("Edit")
; MenuItem(#MenuBar_Main_Settings,"Settings")
; MenuTitle("Help")
; MenuItem(#MenuBar_Main_Help,"Help")
; MenuBar()
; MenuItem(#MenuBar_Main_About,"About")
;If CreateToolBar(10, WindowID(#WINDOW_MAIN))
; ToolBarStandardButton(#MENU_NEW, #PB_ToolBarIcon_New)
; ToolBarToolTip(10,#MENU_NEW, "New")
; ToolBarStandardButton(#MENU_OPEN, #PB_ToolBarIcon_Open)
; ToolBarToolTip(10,#MENU_OPEN, "Open")
; ToolBarStandardButton(#MENU_SAVE, #PB_ToolBarIcon_Save)
; ToolBarToolTip(10,#MENU_SAVE, "Save")
; ToolBarSeparator()
; ToolBarStandardButton(#MENU_UNDO, #PB_ToolBarIcon_Undo)
; ToolBarToolTip(10,#MENU_UNDO, "Undo")
; ToolBarStandardButton(#MENU_REDO, #PB_ToolBarIcon_Redo)
; ToolBarToolTip(10,#MENU_REDO, "Redo")
; ToolBarSeparator()
; ToolBarStandardButton(#MENU_CUT, #PB_ToolBarIcon_Cut)
; ToolBarToolTip(10,#MENU_CUT, "Cut")
; ToolBarStandardButton(#MENU_COPY, #PB_ToolBarIcon_Copy)
; ToolBarToolTip(10,#MENU_COPY, "Copy")
; ToolBarStandardButton(#MENU_PASTE, #PB_ToolBarIcon_Paste)
; ToolBarToolTip(10,#MENU_PASTE, "Paste")
; EndIf
If CreateGadgetList(WindowID(#WINDOW_MAIN))
EditorGadget(#Gadget_Main_Editor,0,0,400,300)
;CreateStatusBar(#StatusBar_Main,WindowID(#WINDOW_MAIN))
; AddStatusBarField(100)
;AddStatusBarField(100)
HideWindow(#WINDOW_MAIN,0)
SetActiveGadget(#Gadget_Main_Editor)
ProcedureReturn WindowID(#WINDOW_MAIN)
EndIf
EndIf
EndProcedure
;-Main Loop
If Window_Main()
RemoveKeyboardShortcut(#WINDOW_MAIN, #PB_Shortcut_All)
quitMain=0
Repeat
EventID=WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
If EventWindow()=#WINDOW_MAIN
quitMain=1
EndIf
Case #PB_Event_Menu
Select EventMenu()
Case #MenuBar_Main_New
ClearGadgetItemList(#Gadget_Main_Editor)
SetActiveGadget(#Gadget_Main_Editor)
Case #MenuBar_Main_Open
file = OpenFileRequester("Chargement du Fichier",path,"*.txt|*.txt",1)
f=ReadFile(1, file)
ClearGadgetItemList(#Gadget_Main_Editor)
;####changement pour la restoration d'un fichier de plus d'une ligne
Repeat
buffer$=ReadString(1)
AddGadgetItem(#Gadget_Main_Editor,-1,buffer$)
Until Loc(1)=Lof(1) Or Eof(1)<>0
;##################################################################
CloseFile(1)
Case #MenuBar_Main_Save
boiteacoucou()
Case #MenuBar_Main_Exit
quitMain = 1
Case #MenuBar_Main_Settings
Case #MenuBar_Main_Help
Case #MenuBar_Main_About
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case #Gadget_Main_Editor
EndSelect
EndSelect
Until quitMain
CloseWindow(#WINDOW_MAIN)
EndIf
End
Procedure boiteacoucou() ; Ecrite par CLS juillet 2008
Repeat
File.s = SaveFileRequester("Fichier destination", Path, "*.txt|*.txt",1)
If GetExtensionPart(file)=""
file=file+".txt"
EndIf
If File
If FileSize(File) > -1
Select MessageRequester("Fichier existant", "Voulez - vous le remplacer ?", #PB_MessageRequester_YesNoCancel)
Case #PB_MessageRequester_Yes
CopyFile(File, File + ".bak")
DeleteFile(File)
Status = 3
Case #PB_MessageRequester_Cancel
Status = 1
Case #PB_MessageRequester_No
Status = 2
EndSelect
EndIf
EndIf
Until Status => 0
; Traitement du code de sortie
Select Status
Case 0 :
If CreateFile(0, File)
WriteStringN(0,GetGadgetText(#Gadget_Main_Editor))
CloseFile(0)
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
Case 1 : Debug "Appui sur Cancel"
Case 2 : Debug "Appui sur non"
Case 3
If CreateFile(0, File)
WriteStringN(0,GetGadgetText(#Gadget_Main_Editor))
CloseFile(0)
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
EndSelect
EndProcedure