kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015
-
3 mars 2008 à 10:57
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
5 mars 2008 à 03:31
Bonjour...
J'ai un petit problème avec un script vbs... et comme c'est pas trop ma tasse de thé j'en appel à votre aide...
Donc... en fait c'est un petit script que je veux combiner à l'appli clavier+... il sagit d'une petite appli qui permet de configurer des raccourcis clavier pour écrire du texte, lancer une autre appli, etc... le problème pour l'écriture de texte est que l'on ne peut pas intégrer de tag date il faut mettre la date en dur dans le texte associé au raccourcis... chiant quand il faut changer la date tous les jours et encore plus quand on a plusieurs raccourcis avec la date... j'ai donc fait un petit vbs, en me basant sur un code donné par le créateur de clavier+, qui renvoi la date... pas de p lorsqu'il sagit de récupérer uniquement la date courante... en fait je passe les bouts de chaine en argument au script... le problème se pose lorsque la date doit être intégrée au milieu d'une chaine de caractère ou au début de la chaine... impossible la date se retrouve toujours en dernière position dans la chaine... mon code vbs est...
Set args = WScript.Arguments
Set shell = WScript.CreateObject("WScript.Shell")
Select Case args.Count
Case 0
shell.SendKeys Date
Case 1
shell.SendKeys args(0) & Date
Case Else
shell.SendKeys args(0) & Date & args(1)
End Select
rien de bien compliqué mais ça bloque... imaginons que j'envois comme argument "test test 1 " et " test test 2" il me renvoi
test test 1 test test 203/03/2008
au lieu de...
test test 1 03/03/2008 test test 2
la date est concaténée en fin de chaine... je comprend pas pourquoi... et comme je suis nul en vb... si quelqu'un a une idée... merci d'avance pour votre aide... .. .
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 3 mars 2008 à 11:59
Merci pour ta réponse PCPT... malheureusement ça fait pareil avec ton code... ou alors c'est clavier+ qui fait tout foirer... c'est à n'y rien comprendre... surtout pour un novice du vb comme moi... et ça me ferait chier de devoir compiler un fichier php en exe (je fais que du dev web php, ruby, etc) juste pour mettre une date dans une chaine... .. .
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 3 mars 2008 à 12:27
umm oui ici çà semble venir du clavier+ dans ce cas...
solution alternative? selon ton besoin, est-ce possible de récupérer la date dans un fichier texte plutôt que dans la config de l'appli (je suppose) ?
comme çà le vbs est lancé à chaque changement de jour ou démarrage du PC par le planificateur windows, il change la date dans le fichier texte, et clavier+ va juste lire l'info?
c'est vraiment de la bidouille....
ou mieux, que l'auteur fasse une maj
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 4 mars 2008 à 13:11
Merci pour ton aide PCPT... j'ai trouvé d'où ça vient... en fait les arguments étaient mal passés par clavier+ dû à une erreur de ma part... .. .
Par contre j'en profite pour reposer une petite question (plutot que de réouvrir un topic) comment avoir les 0 initiaux avec les fonctions day() et month() car month(date()) me renvois 3 (pour le mois de mars) et j'aimerais bien avoir 03... je continu mes recherches sur mon ami google mais j'ai rien trouvé de concluant pour l'instant... .. .
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 4 mars 2008 à 18:51
Bonsoir à tous,
Bonsoir PCPT,
Ah que nenni, la fonction Format existe ....version Renfield !!!
'La fonction Format issue de ADODB :
'Formatage d'entier => Réponse fournie par Renfield (Admin CS) le 30/06/2006
'http://www.vbfrance.com/infomsg_FORMATAGE-ENTIER_770443.aspx
Option Explicit
Private Const adVariant = 12
Public Function Format(vsExpression, vsFormat)
Dim oFmt
Dim oRS
Set oFmt = CreateObject("MSSTDFMT.StdDataFormat")
oFmt.Format = vsFormat
Set oRS = CreateObject("ADODB.Recordset")
oRS.Fields.Append "Field1", adVariant
oRS.Open
oRS.AddNew
Set oRS.Fields(0).DataFormat = oFmt
oRS.Fields(0).Value = vsExpression
Format = oRS.Fields(0).Value
oRS.close
Set oRS = Nothing
Set oFmt = Nothing
End Function