Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Mémo Mer 25 Nov 2020 - 2:48 | |
| Bonjour à tous ! Un Mémo pour "immortaliser" vos pensées. Caractéristiques : - Taille de fenêtre redimensionnable - Longueur de texte illimitée **- Retour à la ligne automatique **- Possibilité de changer de police d’écriture et de taille à tout moment avec un réajustement automatique ** du texte à la fenêtre de visualisation. - Menu contextuel (clic droit souris) donnant accès aux commandes d’édition :
- Couper
- Copier
- Coller
- Supprimer
- Choix de la Police et de sa taille
- La sélection d’une partie du texte peut s’effectuer soit à partir du clavier (touche SHIFT maintenue enfoncée + flèche de direction), soit à l’aide de la souris (bouton gauche maintenu enfoncé + déplacement de la souris). **- Un double clic sur un mot permet de le sélectionner entièrement. **- Sauvegarde automatique lorsque l’on quitte le programme - Les paramètres des dimensions et de la position de la fenêtre du mémo, de la police utilisée et de sa taille, sont mémorisés automatiquement à la sortie du programme. **Ces possibilités techniques sont issues nativement de l’objet MEMO. - Code:
-
' Mémo
dim police$, taillePolice%, hauteurFenetre%, largeurFenetre%, positionTopFenetre%, positionLeftFenetre%
label RedimensionnerFenetrePrincipale, choisirPolice, fermerFenetreChoixPolice, tailleFenetreChoixPolice label couperTexte, copierTexte, collerTexte, supprimerTexte label changerChoixNomPolice, changerChoixTaillePolice, fermermemo
lectureFichierConfiguration()
interfaceUtilisateur()
lectureFichierContenumemo()
end
sub interfaceUtilisateur() width 0,largeurFenetre% height 0,hauteurFenetre% left 0,positionLeftFenetre% top 0,positionTopFenetre% color 0,0,0,150 caption 0,"Mémo" on_resize 0,RedimensionnerFenetrePrincipale on_close 0,fermermemo
' zone affichage memo 3 height 3,height_client(0) - 100 width 3,width_client(0) - 100 left 3,50 top 3,50 color 3,200,200,200 bar_vertical 3 font_name 3,police$ font_size 3,taillePolice% menuContextuel() end_sub
sub menuContextuel() main_menu_pop 10 sub_menu 11 parent 11,10 caption 11,"Couper"+chr$(9)+"Ctrl + X" on_click 11,CouperTexte sub_menu 12 parent 12,10 caption 12,"Copier"+chr$(9)+"Ctrl + C" on_click 12,copierTexte sub_menu 13 parent 13,10 caption 13,"Coller"+chr$(9)+"Ctrl + V" on_click 13,collerTexte sub_menu 14 parent 14,10 caption 14,"Supprimer"+chr$(9)+"Suppr" on_click 14,supprimerTexte sub_menu 15 parent 15,10 caption 15,"-" sub_menu 17 parent 17,10 caption 17,"-" sub_menu 18 parent 18,10 caption 18,"Choix Police" on_click 18,choisirPolice end_sub
couperTexte: clipboard_string_copy SELECT_READ$(3) select_delete 3 return
copierTexte: clipboard_string_copy SELECT_READ$(3) return
collerTexte: select_delete 3 TEXT_INSERT 3,CARET_POSITION(3),CLIPBOARD_STRING_PASTE$ return
supprimerTexte: select_delete 3 return
choisirPolice: policeEcriture() return
sub policeEcriture() if object_exists(20) = 0 creerFenetreChoixPolice() end_if show 20 to_foreground 20 inactive 0 end_sub
sub creerFenetreChoixPolice() form 20 border_small 20 width 20,310 height 20,115 top 20,(screen_y - height(20)) / 2 left 20,(screen_x - width(20)) / 2 caption 20,"Choix de la police et de sa taille" on_resize 20,tailleFenetreChoixPolice on_close 20,fermerFenetreChoixPolice command_target_is 20 combo 21 width 21,170 top 21,25 left 21,25 font_names_load 21 text 21,police$ on_change 21,changerChoixNomPolice combo 22 width 22,50 top 22,25 left 22,220 text 22,taillePolice% on_change 22,changerChoixTaillePolice item_add 22,8 item_add 22,9 item_add 22,10 item_add 22,11 item_add 22,12 item_add 22,13 item_add 22,14 item_add 22,15 item_add 22,16 item_add 22,17 item_add 22,18 command_target_is 0 end_sub
changerChoixNomPolice: police$ = text$(21) font_name 3,police$ return
changerChoixTaillePolice: taillePolice% = val(text$(22)) font_size 3,taillePolice% return
fermerFenetreChoixPolice: file_open_write 30,"memo.cfg" file_writeln 30,police$ file_writeln 30,str$(taillePolice%) file_close 30 active 0 return
tailleFenetreChoixPolice: inactive 20 width 20,310 height 20,115 active 20 return
RedimensionnerFenetrePrincipale: off_resize 0 height 3,height_client(0) - 100 width 3,width_client(0) - 100 on_resize 0,RedimensionnerFenetrePrincipale return
sub lectureFichierConfiguration() if file_exists("memo.cfg") = 0 police$ = "Times New Roman" taillePolice% = 12 hauteurFenetre% = height(0) - height_client(0) + 700 largeurFenetre% = width(0) - width_client(0) + 1000 positionTopFenetre% = (screen_y - 700) / 2 positionLeftFenetre% = (screen_x - 1000) / 2 else file_open_read 30,"memo.cfg" police$ = file_readln$(30) taillePolice% = val(file_readln$(30)) hauteurFenetre% = val(file_readln$(30)) largeurFenetre% = val(file_readln$(30)) positionTopFenetre% = val(file_readln$(30)) positionLeftFenetre% = val(file_readln$(30)) file_close 30 end_if end_sub
sub lectureFichierContenumemo() if file_exists("memo.txt") = 1 file_load 3,"memo.txt" end_if set_focus 3 end_sub
fermermemo: file_save 3,"memo.txt" file_open_write 30,"memo.cfg" file_writeln 30,police$ file_writeln 30,str$(taillePolice%) file_writeln 30,str$(height(0)) file_writeln 30,str$(width(0)) file_writeln 30,str$(top(0)) file_writeln 30,str$(left(0)) file_close 30 terminate return | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Mémo Mer 25 Nov 2020 - 14:49 | |
| Ô Marc et pascal10000, combien d'œuvres littéraires vont, grâce à vos utilitaires, marquer pour les siècles des siècles cet illustre vingt-et-unième siècle d'une trace proprement indélébile ? Voyez, j'ai déjà commencé à écrire... D'ailleurs, vous pouvez continuer, on peut faire une œuvre commune qui n'en sera, certainement que plus immortelle...! | |
|
Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Sam 28 Nov 2020 - 18:55 | |
| Dans ce beau cadre bleu je me sens très à l'aise ! je n'oublierai plus rien grâce au petit Memo : j'écris comme un poisson dans l'eau ! | |
|