Thursday, July 12, 2007

Python et HTA

Python peut parfaitement être utlisé dans les scripts HTA.
Ce qui est un avantage indéniable par rapport à l'utilisation de vbscript.


<html>
<head>
<TITLE>HTML Application Example</TITLE>
<HTA:APPLICATION ID="HTAEx" APPLICATIONNAME="HTAEx" ICON="e.ico" WINDOWSTATE="normal">
</head>

<body onLoad="Initialisation()">
<center><h1>Python in HTML Application</h1></center>

<FORM>
<INPUT TYPE="text" name="gauche">
<INPUT TYPE="button" name="gbutton" value = "MAJ Gauche">
</FORM>

<FORM>
<INPUT TYPE="text" name="centre">
<INPUT TYPE="button" name="cbutton" value = "MAJ Centre">
</FORM>

<FORM>
<INPUT TYPE="text" name="droite">
<INPUT TYPE="button" name="dbutton" value = "MAJ Droite">
</FORM>

<table width="100%" border=0>
<tr>
<td width="33%" valign="top" border= "black"><div id="tabgauche">&nbsp;</div></td>
<td width="33%" valign="top"><div id="tabcentre">&nbsp;</div></td>
<td width="33%" valign="top"><div id="tabdroite">&nbsp;</div></td>
</tr>
</table>

<div id="espace"></div>

S&eacute;lectionnez une option :<br />
<select size="3" name="liste" onChange="SelectOption()">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>


<!-- Script -->

<script language=Python>

import win32gui
import os


def GetValue(id):
#return document.getElementById(id).value
return document.getElementById(id).getAttribute("value")

def Initialisation():
win32gui.MessageBox(0, " Hello From Python", "Message d'Invite", 0)
d = document.getElementById('espace')
sp = "&nbsp;"*5
d.innerHTML = sp

def SelectOption(*args):
option = GetValue('liste')
win32gui.MessageBox(0, "Option : %s"%option, "Valeur de la Selection", 0)

def gbutton_Onclick():
valeur = GetValue('gauche')
div = document.getElementById('tabgauche')
div.innerHTML = valeur

def cbutton_Onclick():
valeur = GetValue('centre')
div = document.getElementById('tabcentre')
div.innerHTML = valeur

def dbutton_Onclick():
valeur = GetValue('droite')
div = document.getElementById('tabdroite')
div.innerHTML = valeur

</script>
</body>
</html>

Les Scripts HTA


Les applications 'hta' sont de simples fichiers html ayant pout extension 'hta'.
Leur intérêt, entre autre, est qu'il sont interprétes par Windows comme de véritables
applications. Ils permettent ainsi l'utilisation de tous les composants 'html' dans les
scripts écrits en vbscript ou tout autre langage supporté par wsh.


<html>
<head>
<title>Running a Script from Text</title>
<HTA:APPLICATION
ID="objScriptFromText"
APPLICATIONNAME="Running a Script from Text"
SCROLL="auto"
SINGLEINSTANCE="yes"
>
</head>

<SCRIPT Language="VBScript">

Sub RunScript
Msgbox "The script has run."
End Sub

Sub Pointer
document.body.style.cursor = "hand"
End Sub

Sub DefaultCursor
document.body.style.cursor = "default"
End Sub

</SCRIPT>

<body bgcolor="buttonface">

<span id="ClickableSpan" onClick="RunScript" onmouseover="Pointer"
onmouseout="DefaultCursor">
Click here to run the script</span>

</body>
</html>