
boite a fichiers
le chris a la bonne parole
bonjour merci chris "beau talent de chambreur lol!!!"
mais l'important dans la vie c'est d'avoir des idees je reconnais quelles sont modestes. tout le monde ne roule pas a la meme vitesse !!!
ceci dit je tire mon chapeau pointu a l'équipe de devellopeurs de ce langage qui ont fait un outils genial merci merci!!!!
le roi midas avait des oreille d'ane mais tout ce qu'il touchait devenait de l'or lol!!!
mais l'important dans la vie c'est d'avoir des idees je reconnais quelles sont modestes. tout le monde ne roule pas a la meme vitesse !!!
ceci dit je tire mon chapeau pointu a l'équipe de devellopeurs de ce langage qui ont fait un outils genial merci merci!!!!
le roi midas avait des oreille d'ane mais tout ce qu'il touchait devenait de l'or lol!!!
bonjour
voila un editor copier coller sauver ouvrir
avec des codes existant sur le forum!
j'ai ajouter un menu imprimer voila
voila un editor copier coller sauver ouvrir
avec des codes existant sur le forum!
j'ai ajouter un menu imprimer voila
Code : Tout sélectionner
; Author: Andre Beer / PureBasic Team modifié par KCC et remodifier par MetalOS :D
Declare boiteaFichier()
Global Path.s = "C:\"
Global file.s
Global IdGadgetSurvoler
Procedure xcm(x.f)
x = x * (PrinterPageWidth()/21) ; 21cm A4
ProcedureReturn x
EndProcedure
Procedure ycm(x.f)
x = x * (PrinterPageHeight()/29.7) ; 29,7cm A4
ProcedureReturn x
EndProcedure
OpenWindow(0,175,0,400,300,"Editeur Infos", #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
EditorGadget(1,0,0,400,280)
If CreateMenu(2,WindowID(0))
MenuTitle("Fichier")
MenuItem(3,"Nouveau")
MenuBar()
MenuItem(4,"Ouvrir")
MenuItem(5,"Sauver")
MenuItem(6,"Imprimer")
MenuBar()
MenuItem(7,"Quitter")
EndIf
If CreatePopupMenu(10) ; here the creating of the pop-up menu begins...
;MenuItem(40, "Annuler")
;MenuBar() ;pas de traitement de du mode annuler enfin pour le moment
MenuItem(41, "Couper")
MenuItem(42, "Copier")
MenuItem(43, "Coller")
EndIf
SetActiveGadget(1)
Repeat
GetCursorPos_(@point.POINT)
Handle = WindowFromPoint_(point\x,point\y)
IdGadgetSurvoler = GetDlgCtrlID_(Handle) ; Id du gadget survolé
Select WaitWindowEvent() ; check for window events
Case #WM_RBUTTONDOWN ; right mouse button was clicked =>
If IdGadgetSurvoler = 1
DisplayPopupMenu(10,WindowID(0),point\x,point\y) ; now display the popup-menu
EndIf
Case #PB_Event_Menu ; an item of the popup-menu was clicked
Select EventMenu() ; get the clicked menu item...
Case 3
ClearGadgetItemList(1)
SetActiveGadget(1)
Case 4
file = OpenFileRequester("Chargement du Fichier",Path,"*.txt|*.txt",1)
f=ReadFile(1, file)
ClearGadgetItemList(1)
;####changement pour la restoration d'un fichier de plus d'une ligne
Repeat
buffer$=ReadString(1)
AddGadgetItem(1,-1,buffer$)
Until Loc(1)=Lof(1) Or Eof(1)<>0
;###############################################################
CloseFile(1)
Case 5
boiteaFichier()
Case 6 ;impression de x pages avec numeros par kernadec
yhaut = 300
xleft = 300
p=0
If PrintRequester()
If StartPrinting("Multipages av n°")
Font=ycm(((8*0.090)/2.5))
LoadFont(1,"Arial",Font)
If StartDrawing(PrinterOutput())
DrawingFont(FontID(1))
For n=0 To CountGadgetItems(1)
yhaut=yhaut+(Font*1.5)
DrawText(xleft,yhaut,GetGadgetItemText(1,n-1,0))
If yhaut>ycm(780*0.035)
p=p+1 ; 29.7cm/848pixels=0.035 - 21.0cm/600pixels=0.035
DrawText(xcm(500*0.035),ycm(800*0.035),Str(p)) ;numero de bas page droite
NewPrinterPage()
yhaut=300
EndIf
Next n
p=p+1
DrawText(xcm(500*0.035),ycm(800*0.035),Str(p)) ;numero de derniere page
StopDrawing()
EndIf
StopPrinting()
EndIf
EndIf
Case 7
Quit = 1
Case 40 : Debug "Menu: Annuler"
Case 41 : Debug "Menu: Couper"
;Code Couper
Vide$ = ""
SendMessage_(GadgetID(1),#EM_GETSEL,@StartSel,@EndSel)
buffer$ = Space(EndSel-StartSel)
SendMessage_(GadgetID(1),#EM_GETSELTEXT,0,@buffer$)
ClearClipboard()
SetClipboardText(buffer$)
SendMessage_(GadgetID(1),#EM_REPLACESEL,#True,@Vide$)
;Fin Couper
Case 42 : Debug "Menu: Copier"
;Code Copier
SendMessage_(GadgetID(1),#EM_GETSEL,@StartSel,@EndSel)
buffer$ = Space(EndSel-StartSel)
SendMessage_(GadgetID(1),#EM_GETSELTEXT,0,@buffer$)
ClearClipboard()
SetClipboardText(buffer$)
;Fin Copier
Case 43 : Debug "Menu: Coller"
;Code coller
buffer$ = GetClipboardText()
SendMessage_(GadgetID(1),#EM_REPLACESEL,#True,@buffer$)
;Fin de code Coller
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
Procedure boiteaFichier() ; procedure 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, Left(file ,Len(file)-4)+ ".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(1))
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(1))
CloseFile(0)
Else
Debug "Erreur lors de l'écriture du fichier"
EndIf
EndSelect
EndProcedure
; IDE Options = PureBasic 4.20 (Windows - x86)
; CursorPosition = 127
; FirstLine = 76
Dernière modification par kernadec le ven. 10/juil./2009 13:04, modifié 4 fois.
kernadec a écrit :ce mode de lecture est le bon
plus d'oubli de derniere ligne
remplacer les lignes 49 à 54 par ceci:Code : Tout sélectionner
Repeat buffer$=ReadString(1) AddGadgetItem(1,-1,buffer$) Until Loc(1)=Lof(1) Or Eof(1)<>0
Bon !! faudrait voir a arrêter les codes du style PHP !!

c'est a dire avec des patchs, sans fin qu'il faut ajouter ou modifier !!
tu as un bouton [Editer] au dessus de tes messages, rien ne t'empêche de faire la modification que tu veux, et de proposer le listing Fini ....
ensuite d'ajouter un message qui signale que le listing a ete mis a jour !!
imagine un gars dans 2 ans, qui soit intéressé par ton code, si il faut qu'il se tape tout le topic a lire
et toute les modifs a faire, il est pas sorti de l'auberge !

ben oui c'est super pratique la touche editer heureusement !!kernadec a écrit :merci
Mr dobro
pour le {Editer} je ne connaissais pas
et je viens de l'utliser. merci
je doit dire que sur ce forum et dans un bon nombre de topics,
on rencontre ce genre de bout de code a ajouter

que tu ais rencontré dans CE forum des bouts de code a ajouter, c'est une erreur !! ça devrais meme pas exister !!

dénoncez moi les vilains qui ont osé !! je vais de ce pas les fouetter !!
, serieusement , faut pas le faire, il suffit de se mettre a la place du mec qui debarque dans 1 mois, ou une année, et la c'est l'angoisse
Merci pour tes modifs "in Code"
