cs_sam013
Messages postés75Date d'inscriptionsamedi 27 mars 2004StatutMembreDernière intervention 4 juillet 2005
-
22 août 2004 à 15:55
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010
-
29 août 2004 à 10:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010 29 août 2004 à 10:40
ca y est j'ai compris, c'est ca qui ouvre la boite de dialogue
mais non pas sur l'ordi ou suis en ce moment , mais je l'ai sur un autre, j'essaierais .
Merci et a plus
Et sinon ca va mieux mon script avec ses corrections?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 août 2004 à 09:51
d'ou l'installation de VB susditement déclarée inexistante sur ton poste....
en fait, il cherche a utiliser cette Dll, fournie avec VB.
(je sais pas si tu l'as, sans VB)
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010 29 août 2004 à 08:57
ok suis calme...
Ben ouai pour ton code suis d'accord que c'est du vbs (sauf 2 ou 3 trucs que je connaissai pas ) mais pourquoi faudrait il que j'installe VB alors?
p.s: les trucs que moi pas connaitre c'est l'objet MSComDlg.CommonDialog de plus sur un autre poste il m'indique comme erreur que cette classe n'as pas de licence d'utilisation????
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 août 2004 à 13:38
oh là ! on reste calme !
j'ai bien vu que ton code etait du VBS , ce que j'ai proposé est du VBS également !
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010 28 août 2004 à 13:15
et bien ca explique tout , et ca commence a m'enerver car presque tout les scripts que j'ai mis se sont fait allumé avec des commentaire du style "ouais le mien est mieux avec mon ocx " ou encore "pourquoi tu utilise les fso..."
C'est du VBS que je fait et en plus dans la catégorie debutant donc je veut bien prendre des critique mais rester au VBS et je m'en fout completement du VB et des .net ou des ocx et je ne sais pas quoi encore
Et je ne risque pas d'installer VB dans ma machine , vue sa lenteur , Tant a mettre un compilateur je prefere le C,C++, du perl et meme l'assembleur mais pas du VB (merde alors!)
Bref mes scripts en ligne sont la pour rendre des petit service et montrer comment en peut donc faire pour un petit programme sans se casser la tete avec un compilateur
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 27 août 2004 à 07:31
Il ne fait rien ?
Je crois deviner que tu n'as pas VB installé sur ta machine, ca doit être pour ça.....
ca ouvre une boite de dialogue "Ouvrir" (boite classique) plutot que de faire saisir le nom, tu peux remplacer cette partie par ton ancien InputBox.
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010 26 août 2004 à 17:10
Correction:
-retrait d'un fso (desolé)
-prise en compte des noms de fichier comportant
plusieurs "."
-inscription de la dernierre ligne dans le source
Voila! sinon renfield je ne comprend pas ce que fait ton script concretement (que dalle qu'on je l'execute) si tu peut expliquer davantage . merci.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 24 août 2004 à 23:08
1 - Il Faut saisir le nom du fichier
2 - La dernière ligne n'est pas placée dans le fichier source
3 - Si le nom du fichier d'origine comporte un '.' , ce qui suit est l'extension !
4 - Tu créés inutilement 2 objets FSO !!
5 - Le but n'est pas d'effacer quelque caractère spécial non interpreté ! le systeme DOS utiliser Chr ( 13 ) + Chr ( 10 ) contrairement au systèmes de type Unix....
6 - Il est inconcevable de vouloir lire les caractères un par un !!!!
voila un code un peu amélioré :
Dim IFile_Path
IFile_Path = ShowOpen ( )
If IFile_Path <> "" Then
Dim IFile, OFile, OFile_Path
Dim i, Buffer, FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Set IFile = FSO.OpenTextFile(IFile_Path, 1)
For i = Len ( IFile_Path ) To 0 Step -1
If Mid ( IFile_Path , i , 1 ) = "." Then Exit For
Next
OFile_Path = Left ( IFile_Path , i ) & "clean.txt"
Set OFile = FSO.CreateTextFile(OFile_Path,2,True)
Dim Tmp
'# Il est possible de le lire en Streaming
Buffer = IFile.ReadAll
Tmp = Split ( Buffer , vbLf )
Buffer = Join ( Tmp , VbCrLf )
OFile.Write Buffer
Set RegEx = Nothing
IFile.Close()
OFile.Close()
Set WS = CreateObject("WScript.Shell")
ws.Run OFile_Path
MsgBox "Conversion Terminee" , 64
End If
Public Function ShowOpen()
Dim oCDlg
Dim sFile
Const OFN_HIDEREADONLY = &H4
Const OFN_CREATEPROMPT = &H2000
Const OFN_EXPLORER = &H80000
Const OFN_LONGNAMES = &H200000
Set oCDlg = CreateObject("MSComDlg.CommonDialog")
sFile = String(260, Chr(0))
With oCDlg
.Flags = OFN_EXPLORER Or OFN_LONGNAMES Or OFN_CREATEPROMPT Or OFN_HIDEREADONLY
.MaxFileSize = 260
.Filter = "All Files (*.*)|*.*"
.ShowOpen
ShowOpen = .FileName
End With
Set oCDlg = nothing
End Function
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010 24 août 2004 à 17:21
obligé de faire du caractere par caractere car le but est d'effacer les caracteres spéciaux non interprété
bon je vous met un zip avec le script et un fichier .htm pris au hasard dans mon dossier temporaire qui justement est mal mis en forme ouvre le avec notepad et tu verra la seule guele qu'il a, ensuite passe le a mon script et tu verra la difference aprés le traitement!
pour devsurf , c'est du vbscript, tu n'a besoin que de window pour le faire marcher , tu copie le source avec notepad et tu renomme l'extension "nom-fichier.vbs"
voila
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 août 2004 à 14:30
Il est complètement inconcevable d'utiliser un tel script : tu lit ton fichier caractère par caractère !!! ce n'est pas ce qu'il y a de plus rapide....
devsurf
Messages postés148Date d'inscriptiondimanche 13 octobre 2002StatutMembreDernière intervention13 novembre 2008 23 août 2004 à 13:59
Ca ne marche pas pour moi
Peut on avoir un zip avec toutes les references associées?
Je suis en VB6 et w2000
Merci
racattac13
Messages postés62Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention14 février 2010 23 août 2004 à 12:00
parce que c'est un petit travail sur les fichiers.
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 23 août 2004 à 00:22
29 août 2004 à 10:40
mais non pas sur l'ordi ou suis en ce moment , mais je l'ai sur un autre, j'essaierais .
Merci et a plus
Et sinon ca va mieux mon script avec ses corrections?
29 août 2004 à 09:51
en fait, il cherche a utiliser cette Dll, fournie avec VB.
(je sais pas si tu l'as, sans VB)
29 août 2004 à 08:57
Ben ouai pour ton code suis d'accord que c'est du vbs (sauf 2 ou 3 trucs que je connaissai pas ) mais pourquoi faudrait il que j'installe VB alors?
p.s: les trucs que moi pas connaitre c'est l'objet MSComDlg.CommonDialog de plus sur un autre poste il m'indique comme erreur que cette classe n'as pas de licence d'utilisation????
28 août 2004 à 13:38
j'ai bien vu que ton code etait du VBS , ce que j'ai proposé est du VBS également !
28 août 2004 à 13:15
C'est du VBS que je fait et en plus dans la catégorie debutant donc je veut bien prendre des critique mais rester au VBS et je m'en fout completement du VB et des .net ou des ocx et je ne sais pas quoi encore
Et je ne risque pas d'installer VB dans ma machine , vue sa lenteur , Tant a mettre un compilateur je prefere le C,C++, du perl et meme l'assembleur mais pas du VB (merde alors!)
Bref mes scripts en ligne sont la pour rendre des petit service et montrer comment en peut donc faire pour un petit programme sans se casser la tete avec un compilateur
27 août 2004 à 07:31
Je crois deviner que tu n'as pas VB installé sur ta machine, ca doit être pour ça.....
ca ouvre une boite de dialogue "Ouvrir" (boite classique) plutot que de faire saisir le nom, tu peux remplacer cette partie par ton ancien InputBox.
Toute la partie "Conversion" s'effectue là :
Dim Tmp
Buffer = IFile.ReadAll
Tmp = Split ( Buffer , vbLf )
Buffer = Join ( Tmp , VbCrLf )
OFile.Write Buffer
26 août 2004 à 17:10
-retrait d'un fso (desolé)
-prise en compte des noms de fichier comportant
plusieurs "."
-inscription de la dernierre ligne dans le source
Voila! sinon renfield je ne comprend pas ce que fait ton script concretement (que dalle qu'on je l'execute) si tu peut expliquer davantage . merci.
24 août 2004 à 23:08
2 - La dernière ligne n'est pas placée dans le fichier source
3 - Si le nom du fichier d'origine comporte un '.' , ce qui suit est l'extension !
4 - Tu créés inutilement 2 objets FSO !!
5 - Le but n'est pas d'effacer quelque caractère spécial non interpreté ! le systeme DOS utiliser Chr ( 13 ) + Chr ( 10 ) contrairement au systèmes de type Unix....
6 - Il est inconcevable de vouloir lire les caractères un par un !!!!
voila un code un peu amélioré :
Dim IFile_Path
IFile_Path = ShowOpen ( )
If IFile_Path <> "" Then
Dim IFile, OFile, OFile_Path
Dim i, Buffer, FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Set IFile = FSO.OpenTextFile(IFile_Path, 1)
For i = Len ( IFile_Path ) To 0 Step -1
If Mid ( IFile_Path , i , 1 ) = "." Then Exit For
Next
OFile_Path = Left ( IFile_Path , i ) & "clean.txt"
Set OFile = FSO.CreateTextFile(OFile_Path,2,True)
Dim Tmp
'# Il est possible de le lire en Streaming
Buffer = IFile.ReadAll
Tmp = Split ( Buffer , vbLf )
Buffer = Join ( Tmp , VbCrLf )
OFile.Write Buffer
Set RegEx = Nothing
IFile.Close()
OFile.Close()
Set WS = CreateObject("WScript.Shell")
ws.Run OFile_Path
MsgBox "Conversion Terminee" , 64
End If
Public Function ShowOpen()
Dim oCDlg
Dim sFile
Const OFN_HIDEREADONLY = &H4
Const OFN_CREATEPROMPT = &H2000
Const OFN_EXPLORER = &H80000
Const OFN_LONGNAMES = &H200000
Set oCDlg = CreateObject("MSComDlg.CommonDialog")
sFile = String(260, Chr(0))
With oCDlg
.Flags = OFN_EXPLORER Or OFN_LONGNAMES Or OFN_CREATEPROMPT Or OFN_HIDEREADONLY
.MaxFileSize = 260
.Filter = "All Files (*.*)|*.*"
.ShowOpen
ShowOpen = .FileName
End With
Set oCDlg = nothing
End Function
24 août 2004 à 17:21
bon je vous met un zip avec le script et un fichier .htm pris au hasard dans mon dossier temporaire qui justement est mal mis en forme ouvre le avec notepad et tu verra la seule guele qu'il a, ensuite passe le a mon script et tu verra la difference aprés le traitement!
pour devsurf , c'est du vbscript, tu n'a besoin que de window pour le faire marcher , tu copie le source avec notepad et tu renomme l'extension "nom-fichier.vbs"
voila
23 août 2004 à 14:30
23 août 2004 à 13:59
Peut on avoir un zip avec toutes les references associées?
Je suis en VB6 et w2000
Merci
23 août 2004 à 12:00
23 août 2004 à 00:22
c'est depassé et lent :(