Page 1 sur 2
boite a fichiers
Publié : dim. 20/juil./2008 23:42
par kernadec
bonsoir c'est ennuyeux d' ecraser un fichier alors voila
Code : Tout sélectionner
;##########################################################################################
;########## Sauvegarde avec choix recursif de remplacer le fichier existant ##########
;########## et creation d'une copie de sauvegarde avec l'extention file.bak ##########
;########## Kernadec en juillet 2008 ##########
;##########################################################################################
chemin$="C:\"
file$ = SaveFileRequester("Sauvegarde du Fichier",chemin$,"*.txt|*.txt",1)
If GetExtensionPart(file$)=""
file$=file$+".txt"
EndIf
If ReadFile(1,file$)
CloseFile(1)
recommencer:
n=MessageRequester("ATTENTION"," Fichier Existant!!! Voulez vous le Remplacer",#PB_MessageRequester_YesNoCancel)
If n=2
Goto sortie
EndIf
If n=6
RenameFile(file$, Left(file$,FindString(file$,".txt", 1))+".bak")
EndIf
If n=7
file$ = SaveFileRequester("Sauvegarde du Fichier",chemin$,"*.txt|*.txt",1)
If GetExtensionPart(file$)=""
file$=file$+".txt"
EndIf
If ReadFile(1,file$)
CloseFile(1)
Goto recommencer
EndIf
EndIf
EndIf
If CreateFile(0,file$) ; création fichier texte.
WriteStringN(0,"Johnny et la boite a Que Que.!! ou the Box in {Qiou Qiou.!!}")
CloseFile(0)
EndIf
;#################################### lecture ########################################
file$ = OpenFileRequester("Chargement du Fichier",chemin$,"*.txt|*.txt",1)
f=ReadFile(1, file$)
If f
While Eof(1)=0
buffer$=ReadString(1,#PB_Ascii) ; lecture fichier
Wend
CloseFile(1)
EndIf
Debug buffer$
sortie:
Publié : mer. 23/juil./2008 13:32
par kernadec
bonjour
je suis distrais j'avais mis une version precedente desole!!
celle ci est celle que j'utilise pour le moment
si quelqu'un en a une meilleur boite a coucou ou a des idees? merci
Code : Tout sélectionner
;##########################################################################################
;########## Sauvegarde avec choix recursif de remplacer le fichier existant ##########
;########## et creation d'une copie de sauvegarde avec l'extention file.bak ##########
;########## Kernadec en juillet 2008 ##########
;##########################################################################################
chemin$="C:\"
file$ = SaveFileRequester("Sauvegarde du Fichier",chemin$,"*.txt|*.txt",1)
If GetExtensionPart(file$)=""
file$=file$+".txt"
EndIf
If ReadFile(1,file$)
CloseFile(1)
recommencer:
If file$=".txt" Or file$=".bak" ; modif pour les fichier sans nom lol
Goto sortie
EndIf
n=MessageRequester("ATTENTION"," Fichier Existant!!! Voulez vous le Remplacer",#PB_MessageRequester_YesNoCancel)
If n=2
Goto sortie
EndIf
If n=6 ; les bak ne cree qu'une fois et avec 2.. resolu
DeleteFile(Left(file$,FindString(file$,".txt", 1))+"bak")
RenameFile(file$,Left(file$,FindString(file$,".txt", 1))+"bak")
EndIf
If n=7
file$ = SaveFileRequester("Sauvegarde du Fichier",chemin$,"*.txt|*.txt",1)
If GetExtensionPart(file$)=""
file$=file$+".txt"
EndIf
If ReadFile(1,file$)
CloseFile(1)
Goto recommencer
EndIf
EndIf
EndIf
If CreateFile(0,file$) ; création fichier texte.
WriteStringN(0,"Johnny et la boite a Que Que.!! ou the Box in {qiou qiou.!!}")
CloseFile(0)
EndIf
;;#################################### lecture ########################################
file$ = OpenFileRequester("Chargement du Fichier",chemin$,"*.txt|*.txt",1)
f=ReadFile(1, file$)
If f
While Eof(1)=0
buffer$=ReadString(1,#PB_Ascii) ; lecture fichier
Wend
CloseFile(1)
EndIf
Debug buffer$
sortie:
Publié : mer. 23/juil./2008 15:55
par Cls
Il vaut mieux utiliser au minimum les GOTO/LABEL. Voilà une autre manière de faire :
Code : Tout sélectionner
Path.s = "C:\"
; Choix d'un fichier
Status.l = 0
Repeat
File.s = SaveFileRequester("Fichier destination", Path, "Fichiers textes|*.txt",1)
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
EndSelect
EndIf
Else
Status = 2
EndIf
Until Status > 0
; Traitement du code de sortie
Select Status
Case 1 : Debug "Appui sur Cancel"
Case 2 : Debug "Appui sur Annuler"
Case 3
If CreateFile(0, File)
WriteStringN(0,"Fichier de test.")
WriteStringN(0,"Le fichier est désormais ici : " + File + ".bak")
CloseFile(0)
Debug "Fichier correctement écrit"
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
EndSelect
Publié : mer. 23/juil./2008 21:41
par Gillou
En me basant sur le tien j'en ai fait un autre dans le même style (à améliorer...)
Code : Tout sélectionner
Procedure.s SaveFileRequesterPlus(Title.s, Path.s, Pattern.s, PatternPosition.l, DefaultExtension.s="")
file$ = SaveFileRequester(title, path, Pattern, PatternPosition)
If Len(file$) >0
If FileSize(file$) >= 0
Select MessageRequester("ATTENTION"," Fichier Existant!!! Voulez vous le Remplacer?",#PB_MessageRequester_YesNoCancel)
Case #PB_MessageRequester_Yes
Select MessageRequester("REMPLACEMENT","Souhaitez vous conserver l'ancien fichier?",#PB_MessageRequester_YesNo)
Case #PB_MessageRequester_Yes
i=0
Repeat
i+1
Until FileSize(file$+"."+Str(i)+".bak") < 0
If RenameFile(file$, file$+"."+Str(i)+".bak") = 0
Select MessageRequester("ERREUR","L'ancien fichier n'a pu être renommé, voulez-vous tout de même écraser ce fichier?",#PB_MessageRequester_YesNo)
Case #PB_MessageRequester_Yes
ProcedureReturn file$
Default
ProcedureReturn ""
EndSelect
EndIf
EndSelect
ProcedureReturn file$
Case #PB_MessageRequester_No
SaveFileRequesterPlus(Title, Path, Pattern, PatternPosition, DefaultExtension)
Default
ProcedureReturn ""
EndSelect
Else
ExtFound = #False
ExtAll = #False
Pattern = LCase(Pattern)
For i=2 To CountString(Pattern, "|")+1 Step 2
If Len(PatternExt$) > 0 : PatternExt$ + ";" + StringField(Pattern, i, "|")
Else : PatternExt$ + StringField(Pattern, i, "|") : EndIf
Next
For i=1 To CountString(PatternExt$, ";")+1
Ext$ = StringField(StringField(PatternExt$, i, ";"), 2, ".")
If Ext$ = "*"
ExtAll = #True
ElseIf LCase(GetExtensionPart(file$)) = Ext$
ExtFound= #True
EndIf
Next
If ExtFound = #False And ExtAll = #False
file$ + DefaultExtension
EndIf
EndIf
EndIf
EndProcedure
DefDir$ = "/home/gillou/Dev/"
SaveFileRequesterPlus("Test", DefDir$, "Tous les fichiers|*.*|Fichiers textes|*.txt", 1)
Publié : mer. 23/juil./2008 23:14
par kernadec
bonsoir
merci pour vos reponses sympas
le cahier des charges de ce code devrait être celui-ci si je n’ai rien oublier lol :
d’abord écrire une fichier avec un contenu sans pour autant donner une extension
puisque définie par la boite a coucou
s'il rencontre pas de problème alors il crée un fichier avec le contenu
s'il rencontre un fichier du même nom il averti et demande la permission de l'écrasé oui ou non ?
si c'est non il me propose de choisir un nouveau nom
autrement dans les autres cas il ne fait rien
si je choisi l’ option écrasé il me crée un nouveau fichier et en même temps
il me crée une copie du précèdent avec l'extension bak
si par la suite je souhaite remplacer à nouveau ce fichier
et que je décide d' écraser à nouveau ce fichier
il devras gérer le fichier qui porte le même nom.bak l' effacer
pour pouvoir me créer une copie copie.bak plus récente
voila ce que je cherche enfin mon code n’est pas très pro je le reconnais
mais il fait cela
merci CLS j’ai teste ta version super le code mais il bloque en status3
pour la création simple il faut qu’il rencontre un problème pour créer un fichier
mais je vais m’inspirer de ce code pour en réécrire un nouveau
merci Gillou aussi top le code c’est une bonne base il faut que le travail pour créer
un fichier qui ne rencontre pas de problème
je vais m essayer a l'ameliorer
merci au revoir
Publié : jeu. 24/juil./2008 0:01
par kernadec
j'ai regle le ptit detail le => dans la boucle
et la case 0 fonctionne
et c'est parfait merci cls
avec l'option qui gere l'extension du nouveau fichier voila
Code : Tout sélectionner
Path.s = "C:\"
; Choix d'un fichier
Status.l = 0
Repeat
File.s = SaveFileRequester("Fichier destination", Path, "Fichiers textes|*.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
EndSelect
EndIf
Else
Status = 2
EndIf
Until Status => 0
Debug status
; Traitement du code de sortie
Select Status
Case 0 :
If CreateFile(0, File)
WriteStringN(0,"j'ecris un nouveau fichier sans rencontrer de probleme : " + File + ".txt")
CloseFile(0)
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
Debug "j'ai creer un nouveau fichier"
Case 1 : Debug "Appui sur Cancel"
Case 2 : Debug "Appui sur Annuler"
Case 3
If CreateFile(0, File)
WriteStringN(0,"Fichier de test.")
WriteStringN(0,"Le fichier est désormais ici : " + File + ".bak")
CloseFile(0)
Debug "Fichier correctement écrit"
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
EndSelect
Publié : jeu. 24/juil./2008 0:32
par kernadec
comme je suis un distrait ca continue je me suis tromper de copier coller lol voila le code qui fonctionne dans tous les cas grace a CLS merci
a moins qu'il y est une autre manip avec bug non percue pour ce genre de processus
Code : Tout sélectionner
Path.s = "C:\"
; Choix d'un fichier
Status.l = 0
Repeat
File.s = SaveFileRequester("Fichier destination", Path, "Fichiers textes|*.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,"j'ecris un nouveau fichier sans rencontrer de probleme : " + File + ".txt")
CloseFile(0)
Debug "j'ai creer un nouveau fichier"
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
Case 1 : Debug "Appui sur Annuler"
Case 2 : Debug "Appui sur non"
Case 3
If CreateFile(0, File)
WriteStringN(0,"Fichier de test.")
WriteStringN(0,"Le fichier est désormais ici : " + File + ".bak")
CloseFile(0)
Debug "Fichier correctement réecrit sans ecraser le precedent"
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
EndSelect
editeur gadget load save
Publié : ven. 25/juil./2008 10:47
par kernadec
bonjour
en utilisant le code de KALE paru dans codearchivebeta4\gadget\ editorgadget "EditorGadget_TabEditing.pb"
avec le code de CLS cela donne ceci maintenant il ne reste plus que le copier coller lol! si il y a des amateurs merci
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,"Editor Test",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered|#PB_Window_Invisible)
CreateMenu(#MenuBar_Main,WindowID(#WINDOW_MAIN))
MenuTitle("File")
MenuItem(#MenuBar_Main_New,"New")
MenuBar()
MenuItem(#MenuBar_Main_Open,"Open")
MenuItem(#MenuBar_Main_Save,"Save")
MenuBar()
MenuItem(#MenuBar_Main_Exit,"Exit")
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,25,400,233)
CreateStatusBar(#StatusBar_Main,WindowID(#WINDOW_MAIN))
AddStatusBarField(100)
AddStatusBarField(100)
HideWindow(#WINDOW_MAIN,0)
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)
If f
While Eof(1)=0
SetGadgetText(#Gadget_Main_Editor,ReadString(1,#PB_Ascii))
Wend
CloseFile(1)
EndIf
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
Publié : ven. 25/juil./2008 10:50
par kernadec
eh bien decidement je suis distrait ? le
pour reparer mes oublis
Publié : ven. 25/juil./2008 11:54
par kernadec
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
Publié : sam. 26/juil./2008 7:34
par kernadec
bonjour
ptit probleme de fiabilite du gadget editor : quand on recharge un fichier sauvegarder avec cet editeur si l'on a plusieurs lignes a caracteres blanc et que l'on fait des modifs avec le copier coller du clavier en ayant l'ascenseur apparent apres la saisie des lignes disparaissent en fin de texte pas compris??
je suis revenu a ce code
Publié : sam. 26/juil./2008 7:52
par kernadec
avec ceci ca fonctionne un retour chariot en fin de fichier !!
Publié : sam. 26/juil./2008 20:41
par kernadec
je viens de comprendre eh oui? le gadget editor doit avoir 20 unites de moins dans sa hauteur que celle de la fenetre pour que l'ascenseur soit complet ce qui me provoquer des problemes avec les lignes mais pas evident pour moi je pensais que l'on devait lui donner la taille la fenetre voila!! alors je continue mon apprentissage lol!!
Publié : sam. 26/juil./2008 20:58
par Chris
C'est un One-man-show, ton topic!
Remarque, tant que tu cause tout seul, tu risques pas de te fâcher avec quelqu'un, hein!

Publié : sam. 26/juil./2008 22:21
par Kwai chang caine
C'est un One-man-show, ton topic!
Remarque, tant que tu cause tout seul, tu risques pas de te fâcher avec quelqu'un, hein!
CHRIS, il est en forme aujourd'hui
Allez hop un petit chapeau pointu, un petit paquet de confetis, une langue de belle mere (Trouloulou) et à la queuleuleu
