Convertisort : Différence entre versions
(Page créée avec « Convertisort converti le texte copié du .pdf du Livre du Joueur et collé dans un fichier "input.txt", en texte formaté pour être directement ajouté dans le Wiki. Ce t... ») |
|||
(3 révisions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | Convertisort converti le texte copié du .pdf du Livre du Joueur | + | Convertisort est un script script vbs qui converti le texte copié du .pdf du Livre du Joueur dans le presse-papier pour qu'il puisse être intégrer dans le Wiki. |
+ | |||
+ | il suffit de copier le sort depuis le .pdf, de lancer le script et de coller directement sur le Wiki. | ||
+ | |||
+ | Il faut juste modifier le code pour changer l'élément. | ||
==Script== | ==Script== | ||
+ | <pre> | ||
+ | 'Element du sort : | ||
+ | Const ELEMENT = "Air" | ||
− | + | 'Lecture depuis le presse-papier : | |
+ | Set Clipboard = CreateObject("htmlfile") | ||
+ | X = Clipboard.ParentWindow.ClipboardData.GetData("text") | ||
+ | Set Clipboard = nothing | ||
− | Set fso = CreateObject(" | + | 'Création d'un fichier texte de sortie : |
− | + | Set fso = CreateObject("scripting.FileSystemObject") | |
Set output = fso.CreateTextFile("output.txt", True) | Set output = fso.CreateTextFile("output.txt", True) | ||
− | + | output_path = mid(WScript.ScriptFullName, 1, len(WScript.ScriptFullName) - len(WScript.ScriptName)) & "output.txt" | |
− | + | Set fso = nothing | |
+ | 'Déclaration des mots clés qui vont servir de balises : | ||
Dim KeyWord(7) | Dim KeyWord(7) | ||
KeyWord(0) = "Temps d'incantation-" | KeyWord(0) = "Temps d'incantation-" | ||
Ligne 20 : | Ligne 31 : | ||
KeyWord(6) = "Utilisation alternative-" | KeyWord(6) = "Utilisation alternative-" | ||
+ | 'Création de la chaine de sortie : | ||
output.write "{{DISPLAYTITLE:<span>" & ELEMENT & " : {{PAGENAME}} -Coût " & getStr("-Coût ", " cL", X) & " cL</span>}}" & vbcrlf | output.write "{{DISPLAYTITLE:<span>" & ELEMENT & " : {{PAGENAME}} -Coût " & getStr("-Coût ", " cL", X) & " cL</span>}}" & vbcrlf | ||
− | |||
For i = 0 to 6 | For i = 0 to 6 | ||
For j = i+1 to 6 | For j = i+1 to 6 | ||
− | + | A = "-" | |
debut = KeyWord(i) | debut = KeyWord(i) | ||
fin = KeyWord(j) | fin = KeyWord(j) | ||
if i >= 4 then | if i >= 4 then | ||
− | + | A = vbCrLf | |
if j >= 6 then | if j >= 6 then | ||
− | fin = | + | fin = vbNullString |
end if | end if | ||
end if | end if | ||
− | |||
Y = getStr(debut, fin, X) | Y = getStr(debut, fin, X) | ||
Y = Replace(Y, " ", " ") | Y = Replace(Y, " ", " ") | ||
Ligne 41 : | Ligne 51 : | ||
if Y <> "" then | if Y <> "" then | ||
− | output.write "*" & mid(KeyWord(i), 1, len(KeyWord(i)) - 1) & | + | output.write "*" & mid(KeyWord(i), 1, len(KeyWord(i)) - 1) & A & Y |
exit for | exit for | ||
end if | end if | ||
Next | Next | ||
Next | Next | ||
− | |||
output.write vbcrlf & "[[Catégorie:Sorts " & ELEMENT & "]]" & vbcrlf & "[[Catégorie:Livre du Joueur]]" | output.write vbcrlf & "[[Catégorie:Sorts " & ELEMENT & "]]" & vbcrlf & "[[Catégorie:Livre du Joueur]]" | ||
output.close | output.close | ||
+ | 'Ecriture dans le presse-papier : | ||
+ | Set WshShell = WScript.CreateObject("WScript.Shell") | ||
+ | WshShell.Run "cmd.exe /c clip < " & output_path, 0, TRUE | ||
+ | Set WshShell = nothing | ||
+ | |||
+ | 'Fonction permettant de récupérer le texte entre deux balises : | ||
Function getStr(strStart, strEnd, text) | Function getStr(strStart, strEnd, text) | ||
posStart = inStr(text, strStart) | posStart = inStr(text, strStart) | ||
Ligne 66 : | Ligne 81 : | ||
getStr = ret | getStr = ret | ||
End Function | End Function | ||
+ | </pre> | ||
+ | |||
+ | [[Catégorie:Autre non-officiels]] |
Version actuelle datée du 25 février 2012 à 17:50
Convertisort est un script script vbs qui converti le texte copié du .pdf du Livre du Joueur dans le presse-papier pour qu'il puisse être intégrer dans le Wiki.
il suffit de copier le sort depuis le .pdf, de lancer le script et de coller directement sur le Wiki.
Il faut juste modifier le code pour changer l'élément.
Script[modifier]
'Element du sort : Const ELEMENT = "Air" 'Lecture depuis le presse-papier : Set Clipboard = CreateObject("htmlfile") X = Clipboard.ParentWindow.ClipboardData.GetData("text") Set Clipboard = nothing 'Création d'un fichier texte de sortie : Set fso = CreateObject("scripting.FileSystemObject") Set output = fso.CreateTextFile("output.txt", True) output_path = mid(WScript.ScriptFullName, 1, len(WScript.ScriptFullName) - len(WScript.ScriptName)) & "output.txt" Set fso = nothing 'Déclaration des mots clés qui vont servir de balises : Dim KeyWord(7) KeyWord(0) = "Temps d'incantation-" KeyWord(1) = "Portée-" KeyWord(2) = "Durée-" KeyWord(3) = "Zone-" KeyWord(4) = "Effet-" KeyWord(5) = "Spécial-" KeyWord(6) = "Utilisation alternative-" 'Création de la chaine de sortie : output.write "{{DISPLAYTITLE:<span>" & ELEMENT & " : {{PAGENAME}} -Coût " & getStr("-Coût ", " cL", X) & " cL</span>}}" & vbcrlf For i = 0 to 6 For j = i+1 to 6 A = "-" debut = KeyWord(i) fin = KeyWord(j) if i >= 4 then A = vbCrLf if j >= 6 then fin = vbNullString end if end if Y = getStr(debut, fin, X) Y = Replace(Y, " ", " ") Y = Replace(Y, " ", " ") Y = Replace(Y, " ", " ") if Y <> "" then output.write "*" & mid(KeyWord(i), 1, len(KeyWord(i)) - 1) & A & Y exit for end if Next Next output.write vbcrlf & "[[Catégorie:Sorts " & ELEMENT & "]]" & vbcrlf & "[[Catégorie:Livre du Joueur]]" output.close 'Ecriture dans le presse-papier : Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "cmd.exe /c clip < " & output_path, 0, TRUE Set WshShell = nothing 'Fonction permettant de récupérer le texte entre deux balises : Function getStr(strStart, strEnd, text) posStart = inStr(text, strStart) lenStart = len(strStart) posEnd = inStr(text, strEnd) lenGet = posEnd - posStart - lenStart if posStart = 0 then ret = "" elseIf posEnd = 0 then ret = "" elseIf lenGet < 0 then ret = mid(text, posStart + lenStart) else ret = mid(text, posStart + lenStart, lenGet) end if getStr = ret End Function