cs_Enyx
Messages postés16Date d'inscriptiondimanche 25 juin 2006StatutMembreDernière intervention19 juin 2007
-
14 juin 2007 à 15:16
cs_Enyx
Messages postés16Date d'inscriptiondimanche 25 juin 2006StatutMembreDernière intervention19 juin 2007
-
14 juin 2007 à 16:30
Bonjour !
Voila jai un petit probléme, je veut supprimer une ligne dans un fichier texte
J'ouvre le fichier en Input
Je stock le contenu du fichier moin la ligne, dans une variable
Je ferme le fichier
Je l'ouvre en output
Mais la il me dit que le fichier est deja ouvert alors que je l'es fermer avec close#1
Si quelqu'un a la solution a mon probléme ?Merci
Tchao
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 14 juin 2007 à 16:05
Oups, oui, bien vu merci
Dim ff1 As Integer
Dim ff2 As Integer
ff1 = FreeFile
Open "C:\blabla\fichier.txt" For Input As #ff1
ff2 = FreeFile
Open "C\blabla\un_autre_fichier.txt" As #ff2
'code de lecture et écriture sumultanée
Close #ff2
Close #ff1
cs_Enyx
Messages postés16Date d'inscriptiondimanche 25 juin 2006StatutMembreDernière intervention19 juin 2007 14 juin 2007 à 15:24
If Second(Time) = 0 Then
Open (addbase & "" & Nombase) For Binary As #1
Do
Line Input #1, textebase
parabase = Split(textebase, "|")
finheure = parabase(2)
findate = parabase(3)
temp = Split(finheure, ".")
tempminute = (Val(temp(0)) * 60) + Val(temp(1))
temp = Split(Format(Time, "hh.mm"), ".")
tempminutepc = (Val(temp(0)) * 60) + Val(temp(1))
datepc = Val(Format(Date, "dd")) + Val(Format(Date, "mm")) * 100
datetab = Split(findate, ".")
datefinpc = Val(datetab(0)) + Val(datetab(1)) * 100
If datefinpc > datepc Then
'on garde
If textefichier = "" Then
textefichier = textebase
Else
textefichier = textefichier & vbCrLf & textebase
End If
Else
If datefinpc = datepc Then
If tempminute > tempminutepc Then
'on suprime
Else
If textefichier = "" Then
textefichier = textebase
Else
textefichier = textefichier & vbCrLf & textebase
End If
End If
End If
End If
Loop While Not EOF(1)
Close #1
Open (addbase & "" & Nombase) For Output As #2
Print #2, textefichier
Close #2
End If
cs_Enyx
Messages postés16Date d'inscriptiondimanche 25 juin 2006StatutMembreDernière intervention19 juin 2007 14 juin 2007 à 15:33
je cherche a lire une ligne d'un fichier et si l'heure et la date est passé je supprime la ligne
Voici un exemple de ligne :
toto|tousleréseaux|23.30|16.06
toto=varible pour mon prog
tousleréseaux = idem
23.30=heure
16.06=date
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 14 juin 2007 à 15:58
Oui,
Dim ff1 As Integer
Dim ff2 As Integer
ff1 = FreeFile
ff2 = FreeFile
Open "C:\blabla\fichier.txt" For Input As #ff1
Open "C\blabla\un_autre_fichier.txt" As #ff2
'code de lecture et écriture sumultanée
Close #ff2
Close #ff1
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 14 juin 2007 à 15:59
Salut,
Sûrement pas le plus simple mais cela semble fonctionner
Private Sub Form_Load()
Dim NumFile As Integer
Dim Fichier As String
Dim Contenu As String
Dim i As Integer
Dim Lignes() As String
Dim LDate As Date
Dim LHeure As Date
Dim Temoin As Date
Dim LParam() As String
NumFile = FreeFile
'Récupère le contenu entier du fichier deflist
Fichier = "C:\Test.txt"
Open Fichier For Binary As NumFile
Contenu = String(LOF(NumFile), 0)
Get #NumFile, , Contenu
Close #NumFile
'on recupère les lignes
Lignes = Split(Contenu, vbCrLf)
'on efface le contenu
Contenu = vbNullString
'Temoin de date et heure du debut de boucle
Temoin = Format(Now, "dd/mm/yyyy hh:mm")
'pour chaque lignes
For i = LBound(Lignes) To UBound(Lignes)
'on récupère les <> eleme
LParam = Split(Lignes(i), "|")
'petite sécurité
If UBound(LParam) = 3 Then
'on construit la date et l'heure
LDate = Replace(LParam(3), ".", "/") & "/" & Year(Date)
LHeure = Format(Replace(LParam(2), ".", ":"), "hh:mm")
'si le témoin est plus petit => pas encore passe donc on garde
If Temoin < (LDate & " " & LHeure) Then Contenu = Contenu & Lignes(i) & vbCrLf
End If
Next
Open Fichier For Binary As NumFile
Put #NumFile, , Contenu
Close #NumFile
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]