[R] Compter les caractères, et incrémentation de 1
Posté : mer. 30 nov. 2016 14:36
Bonjour, je suis entrain de codé une copie du bloc-notes de windows, enfin pas tout quand même
J'arrive à ouvrir des fichiers texte, mais comment faire pour prendre en compte, les retours à la ligne ? Tout est sur la même ligne...
Mon vrai problème se situe pour enregistrer les fichiers. Je ne veux pas simplement écraser le fichier par un autre, je veux calculer le nombre de caractères dans le champ texte, une fois que le fichier est ouvert, donc. Mais ça me retourne tout le temps 2 caractères, alors qu'il y en a plus que ça... Je voudrais faire par la suite, une variable au début du script == 0, est que si il y a une quelconque modification, la variable est incrémenté de 1, est pourra enregistrer. Par défaut, le menu "Enregistrer" est grisé. Il sera activé que si égal à 1.
Je ne sais si je suis bien claire....
Afin que ça soit le plus lisible possible, j'ai enlevé des fonctionnalités. De toute façon, j'en suis encore loin de là...
Avez-vous des idées, de comment je pourrais faire ?
Merci à vous.

J'arrive à ouvrir des fichiers texte, mais comment faire pour prendre en compte, les retours à la ligne ? Tout est sur la même ligne...
Mon vrai problème se situe pour enregistrer les fichiers. Je ne veux pas simplement écraser le fichier par un autre, je veux calculer le nombre de caractères dans le champ texte, une fois que le fichier est ouvert, donc. Mais ça me retourne tout le temps 2 caractères, alors qu'il y en a plus que ça... Je voudrais faire par la suite, une variable au début du script == 0, est que si il y a une quelconque modification, la variable est incrémenté de 1, est pourra enregistrer. Par défaut, le menu "Enregistrer" est grisé. Il sera activé que si égal à 1.
Je ne sais si je suis bien claire....

; [...]
; Include, GUICreate, les menus
;
GUISetState(@SW_SHOW) ; On affiche la fenêtre
$ChampTexte = GUICtrlCreateInput("", 3, 1, $largeur_texte, $hauteur_texte)
Local $MonBlocNotes
While 1
Switch GUIGetMsg()
;~ //////////////////////////////////////////////
; TRAITEMENT DU MENU 1
;~ //////////////////////////////////////////////
; 1er cas, c'est pour "Nouveau"
case $NouveauFichier
MsgBox($MB_SYSTEMMODAL, "Titre de test", "Nouveau")
; Fin du cas "Nouveau"
; 2eme cas, c'est pour "Ouvrir..."
case $OuvrirFichier
$File = FileOpenDialog("",@ScriptDir,"Text files (*.txt)",1)
$open = FileOpen($File,0)
$read = FileRead($open)
FileClose($open)
GUICtrlSetData($ChampTexte,$read)
; Fin du cas "Ouvrir"
; 3eme cas, c'est pour "Enregistrer"
case $Enregistrer
;~ MsgBox($MB_SYSTEMMODAL, "Titre de test", "Enregistrer")
Local $Compte_Caractere = StringLen($ChampTexte)
If ($Compte_Caractere = 0) Then
MsgBox(0,"", "Il y a 0 caractère")
Else
MsgBox(0,"", "Il y a " & $Compte_Caractere & " caractères")
EndIf
; Fin du cas "Enregistrer"
;~ //////////////////////////////////////////////
; FIN DE SCRIPT
;~ //////////////////////////////////////////////
EndSwitch
WEnd
GUIDelete()
; Include, GUICreate, les menus
;
GUISetState(@SW_SHOW) ; On affiche la fenêtre
$ChampTexte = GUICtrlCreateInput("", 3, 1, $largeur_texte, $hauteur_texte)
Local $MonBlocNotes
While 1
Switch GUIGetMsg()
;~ //////////////////////////////////////////////
; TRAITEMENT DU MENU 1
;~ //////////////////////////////////////////////
; 1er cas, c'est pour "Nouveau"
case $NouveauFichier
MsgBox($MB_SYSTEMMODAL, "Titre de test", "Nouveau")
; Fin du cas "Nouveau"
; 2eme cas, c'est pour "Ouvrir..."
case $OuvrirFichier
$File = FileOpenDialog("",@ScriptDir,"Text files (*.txt)",1)
$open = FileOpen($File,0)
$read = FileRead($open)
FileClose($open)
GUICtrlSetData($ChampTexte,$read)
; Fin du cas "Ouvrir"
; 3eme cas, c'est pour "Enregistrer"
case $Enregistrer
;~ MsgBox($MB_SYSTEMMODAL, "Titre de test", "Enregistrer")
Local $Compte_Caractere = StringLen($ChampTexte)
If ($Compte_Caractere = 0) Then
MsgBox(0,"", "Il y a 0 caractère")
Else
MsgBox(0,"", "Il y a " & $Compte_Caractere & " caractères")
EndIf
; Fin du cas "Enregistrer"
;~ //////////////////////////////////////////////
; FIN DE SCRIPT
;~ //////////////////////////////////////////////
EndSwitch
WEnd
GUIDelete()
Avez-vous des idées, de comment je pourrais faire ?
Merci à vous.
