Bonjour à tous
J'ai comme projet de faire un script qui inverse automatiquement un texte tapé au clavier avec la touche majuscule enfoncé en un texte avec la bonne casse.
Il m'arrive parfois d'écrire avec le clavier en majuscules au lieu de minuscules et c'est pénible de tout réécrire.
j'aimerais pouvoire sélectionner un texte ,faire un clic droit ,choisir inverser et la montexte en majuscule est transformé en minuscule.
ex: lA PHRASE ICI N4EST PAS DANS LA BONNE CASSE §
avec l'inversion cela donnerais : La phrase ici n'est pas dans la bonne casse.
Qui peut me donner un début de piste surtout pour intégrer la fonction dans le clic droit de la souris sur une sélection de texte.
Bascule Minuscules/mAJUSCULES
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- jchd
- AutoIt MVPs (MVP)
- Messages : 2278
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : En ligne
Re: Bascule Minuscules/mAJUSCULES
S'il s'agissait seulement d'inverser la casse, ça serait plutôt simple.
Mais là il faut remplacer de nombreux caractères "clavier" par leur version "shiftée", par exemple "!" et "§". Déjà il faut choisir le bon clavier, puis construire une table (ou une map) permettant de passer d'un niveau de shift clavier à l'autre, touche par touche.
Mais là il faut remplacer de nombreux caractères "clavier" par leur version "shiftée", par exemple "!" et "§". Déjà il faut choisir le bon clavier, puis construire une table (ou une map) permettant de passer d'un niveau de shift clavier à l'autre, touche par touche.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: Bascule Minuscules/mAJUSCULES
La difficultée c'est de rajouter un item dans le menu contextuel de la sélection de texte comment l'identifier dans la base de registre?
Le code fonctionne
Le code fonctionne
Code : Tout sélectionner
#include <MsgBoxConstants.au3>
;
$maj="12 4567890°+AZERTYUIOP¨£QSDFGHJKLM%µWXCVBN?./§"
$min="&é '(-è_çà)=azertyuiop^$qsdfghjklmù*wxcvbn,;:!"
$texte_exemple="lA PHRASE ICI N4EST PAS DANS LA BONNE CASSE §"
$txt_ok=""
Local $long_txt =StringLen($texte_exemple)
local $cpt=1
local $cptlong=1
;MsgBox( $MB_SYSTEMMODAL, "", "La longueur de cette chaîne est de " & $long_txt & " caractères.")
for $cpt=1 to $long_txt Step 1
stringmid ($texte_exemple,$cpt,1)
$txt_ok=$txt_ok&StringMid($min,StringInStr($maj,stringmid ($texte_exemple,$cpt,1),1),1)
$txt_ok=$txt_ok&StringMid($maj,StringInStr($min,stringmid ($texte_exemple,$cpt,1),1),1)
Next
MsgBox( $MB_SYSTEMMODAL, "", $texte_exemple& @crlf & $txt_ok)
- jchd
- AutoIt MVPs (MVP)
- Messages : 2278
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : En ligne
Re: Bascule Minuscules/mAJUSCULES
Perso, je ferai comme pour mes autres "raccourcis", via HotKeySet. Je ne m'amuse pas à gérer les menus de clic droit et autres.
L'exemple gère tous les scripts à casse (latin, cyrillique, grec, ...).
L'exemple gère tous les scripts à casse (latin, cyrillique, grec, ...).
Code : Tout sélectionner
#include <Array.au3>
#include <Clipboard.au3>
HotKeySet("!{F9}", ChangeShift)
HotKeySet("!²", _Exit)
While 1
Sleep(20)
WEnd
Func ChangeShift()
Local Static $mMap[]
$mMap["1"] = "&"
$mMap["&"] = "1"
$mMap["2"] = "é"
$mMap["é"] = "2"
$mMap["3"] = '"'
$mMap['"'] = "3"
$mMap["4"] = "'"
$mMap["'"] = "4"
$mMap["5"] = "("
$mMap["("] = "5"
$mMap["6"] = "-"
$mMap["-"] = "6"
$mMap["7"] = "è"
$mMap["è"] = "7"
$mMap["8"] = "_"
$mMap["_"] = "8"
$mMap["9"] = "ç"
$mMap["ç"] = "9"
$mMap["0"] = "à"
$mMap["à"] = "0"
$mMap["°"] = ")"
$mMap[")"] = "°"
$mMap["+"] = "="
$mMap["="] = "+"
$mMap["¨"] = "^"
$mMap["^"] = "¨"
$mMap["£"] = "$"
$mMap["$"] = "£"
$mMap["%"] = "ù"
$mMap["ù"] = "%"
$mMap["µ"] = "*"
$mMap["*"] = "µ"
$mMap[">"] = "<"
$mMap["<"] = ">"
$mMap["?"] = ","
$mMap[","] = "?"
$mMap["."] = ";"
$mMap[";"] = "."
$mMap["/"] = ":"
$mMap[":"] = "/"
$mMap["§"] = "!"
$mMap["!"] = "§"
Local $s = ClipGet()
If @error Then Return
Local $aText = StringSplit($s, "", 3)
For $i = 0 To UBound($aText) - 1
If MapExists($mMap, $aText[$i]) Then
$aText[$i] = $mMap[$aText[$i]]
Else
$aText[$i] = (StringIsUpper($aText[$i]) ? StringLower($aText[$i]) : StringUpper($aText[$i]))
EndIf
Next
$s = _ArrayToString($aText, "", Default, Default, "")
ClipPut($s)
EndFunc ;==>ChangeShift
Func _Exit()
Exit
EndFunc ;==>_Exit
#cs
gshn 356 ogzrno ui ojt âçèèéêëîïôöùûüæÆœŒ ioeJOI ѓͻϻҐЫЉБӂӬ JO jJIOPIJJ"(--èè__
GSHN "(- OGZRNO UI OJT Â9772ÊËÎÏÔÖ%ÛÜÆ挜 IOEjoi ЃϽϺґыљбӁӭ jo Jjiopijj35667788
#ce
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.