[VB] Supprimer une ligne dans un fichier ?

Supprimer une ligne dans un fichier ? [VB] - Programmation

Marsh Posté le 27-12-2001 à 14:12:56    

Tout est ds le titre !  
Y'a des fctions lire / Ecrire et écrire des lignes blanches mais rien pr supprimer d'après la MSDN...G suppose que c possible mais comment ?
Merci :)

Reply

Marsh Posté le 27-12-2001 à 14:12:56   

Reply

Marsh Posté le 27-12-2001 à 15:07:36    

en fait je crois qu'il fo faire un delete
tu met  
variable ou chaine .delete

Reply

Marsh Posté le 27-12-2001 à 21:22:37    

Je connais pas MSDN mais pour supprimer une ligne ds un fichier ben le seul moyen c'est de prendre toutes les lignes apres la ligne que tu veux effacer(i,i+1,i+2.....)et de les reecrire a ces positions (i-1,i,i+1....) Voila :=)

Reply

Marsh Posté le 28-12-2001 à 10:45:59    

naivus > çà existe pô ds les filestream apparemment
 
Mystereetbouledegomme > c pas couillon çà ! Le seul pb c que en VB apparemment tu choisis pas où tu lis / écris ou alors g po vu
t'as des trucs genre f.readline / f.writeline qui lisent /écrivent à la position courante puis passent à la ligne suivante. Donc impossible de remonter ds le fichier pour écrire qqc avant la ligne lue à moin de stocker la ligne lue, son num, de réouvrir le fichier et de s'arrêter juste avant la ligne lue. Mais y'a pas qqc de + simple par hasard parce que je sens que g v me taper une bidouille infâme alors que si çà se trouve c tt couillon lol

Reply

Marsh Posté le 28-12-2001 à 10:51:09    

Ben les fichiers c pas des listes cherche du cote de seek ca doit exister le vb c merdique mais quand meme

Reply

Marsh Posté le 28-12-2001 à 11:08:51    

lol ce qui est bon c qu'avec les listbox tu fais çà les mains ds les poches  :)  
Tiens çà me donne une idée çà :sarcastic:

Reply

Marsh Posté le 28-12-2001 à 12:48:39    

y a pas une genre de stringlist ?
en delphi tu ferais:
liste := TStringList.Create;
liste.LoadFromFile('fichier.txt';);
liste.Delete(index de la ligne a supprimer);
liste.SaveToFile('fichier.txt';);
liste.Free;
il doit y avoir l'équivalent...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 28-12-2001 à 12:59:03    

alalala les assiste de la programmation je te jure cest quand meme pas complique un fread,fwrite,fseek et une boucle  :D

Reply

Marsh Posté le 28-12-2001 à 17:46:15    

antp > ds une liste ben ouaich mais pr les fichiers c la mémerde dès que tu veux modifier  :fou: VB :fou:
ce que g fais c que je passe par une liste invisible et je la modifie comme je veux et à la fin de la modif j'ouvre le fichier et bam je copie tte la liste dedans c crade mais çà marche  :)  
 
Mystereetbouledegomme > Ben non mais en VB il me semble que çà n'existe po  :(

Reply

Marsh Posté le 28-12-2001 à 17:49:59    

ben utilise un vrai langage alors  :lol:

Reply

Marsh Posté le 28-12-2001 à 17:49:59   

Reply

Marsh Posté le 02-01-2002 à 00:43:55    

Ben g voudrai bien mais on m'a demandé de faire çà en fait  :sarcastic:

Reply

Marsh Posté le 02-01-2002 à 12:14:11    

Mystereetbouledegomme a écrit a écrit :

ben utilise un vrai langage alors  :lol:  




 
Juste par curiosité : qu'appelles-tu un vrai language ?
 
Pour moi :
 
VB = pseudo-language
C/C++ Delphi Asm = vrais languages !


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 02-01-2002 à 12:41:38    

Ben Java,C,C++,Delphi,ASM enfin presque tout sauf HTML,VB et q truc du genre  :D

Reply

Marsh Posté le 02-01-2002 à 12:46:11    

Euh normallement avec les fonctions de vb on devrait pouvoir faire sans (enfin je pense) mais sinon tu peut utiliser le runtime scripting avec la classe TextStream
look keke :sol:
 
http://www.vbwm.com/art_1999/whatsnew/filesys.asp
 
you're welcome keke :sol:

Reply

Marsh Posté le 04-01-2002 à 17:12:00    

euuuuuh c koi le runtime scripting ?

Reply

Marsh Posté le 04-01-2002 à 22:29:12    

menu Projet > Références et normallement si t'est a jour il devrait y avoir Micorosoft Scripting Runtime et après tu peux voir ce que tu peut faire avec avec le lien dans mon precedent post

Reply

Marsh Posté le 07-01-2002 à 11:05:30    

Voici un exemple d'accès en mode binary ou en mode random à un fichier en VB.
 

Citation :


Option Explicit
' define structure of a variable-length record
Type Person_VariableLength
    ID               As Integer
    MonthlySalary    As Currency
    LastReviewDate   As Long
    FirstName        As String
    LastName         As String
    Title            As String
    ReviewComments   As String
End Type
 
' define structure of a fixed-length record
Type Person_FixedLength
    ID               As Integer
    MonthlySalary    As Currency
    LastReviewDate   As Long
    FirstName        As String * 15
    LastName         As String * 15
    Title            As String * 15
    ReviewComments   As String * 150
End Type
 
' variables for sample data
Private binSampleOne As Person_VariableLength
Private binSampleTwo As Person_VariableLength
Private randomSampleOne As Person_FixedLength
Private randomSampleTwo As Person_FixedLength
 
' record number for use with random (fixed-length) file
Private intRecNum As Integer
 
Public Sub main()
    buildSampleRecords
    demonstrateBinary
    demonstrateRandom
End Sub
 
Private Function demonstrateBinary()
    ' open the file and write the records
    Open "c:\BINsample" For Binary As #1
    Put #1, , binSampleOne
    Put #1, , binSampleTwo
    Close #1
     
    ' open the file and read the records
    Open "c:\binSample" For Binary As #1
    Dim udtPerson As Person_VariableLength
    Do While Not EOF(1)
        Get #1, , udtPerson
        ' display selected values
        With udtPerson
            Debug.Print .FirstName
            Debug.Print .LastName
            Debug.Print .ReviewComments
        End With
    Loop
    Close #1
End Function
 
Private Function demonstrateRandom()
    ' open the file and write the records
    Dim recSize As Person_FixedLength
    Open "c:\Randomsample" For Random As #1 Len = Len(recSize)
    Put #1, 1, randomSampleOne
    Put #1, 2, randomSampleTwo
    Close #1
     
    'open the file and read the records
    Dim udtPerson As Person_FixedLength
    Open "c:\randomsample" For Random As #1 Len = Len(udtPerson)
    ' demonstrate random access capability by reading file backwards
    For intRecNum = 2 To 1 Step -1
        Get #1, intRecNum, udtPerson
        ' display selected values
        With udtPerson
            Debug.Print .FirstName
            Debug.Print .LastName
            Debug.Print .ReviewComments
        End With
    Next intRecNum
    Close #1
End Function
 
Private Sub buildSampleRecords()
' routine to build sample records
' note that populating the data of the User Defined Type is the
' same regardless of fixed or variable length members
   With binSampleOne
        .ID = 1
        .MonthlySalary = 50000
        .LastReviewDate = #2/2/2000#
        .FirstName = "Wilma"
        .LastName = "Flintstone"
        .Title = "Movie Star"
        .ReviewComments = "Contract renewed for sequel"
    End With
    With binSampleTwo
        .ID = 2
        .MonthlySalary = 50000
        .LastReviewDate = #2/2/2000#
        .FirstName = "Fred"
        .LastName = "Flintstone"
        .Title = "Movie Star"
        .ReviewComments = "Replace with Clint Eastwood for sequel"
    End With
    With randomSampleOne
        .ID = 1
        .MonthlySalary = 50000
        .LastReviewDate = #2/2/2000#
        .FirstName = "Wilma"
        .LastName = "Flintstone"
        .Title = "Movie Star"
        .ReviewComments = "Contract renewed for sequel"
    End With
    With randomSampleTwo
        .ID = 2
        .MonthlySalary = 50000
        .LastReviewDate = #2/2/2000#
        .FirstName = "Fred"
        .LastName = "Flintstone"
        .Title = "Movie Star"
        .ReviewComments = "Replace with Clint Eastwood for sequel"
    End With
End Sub  

Reply

Marsh Posté le 07-01-2002 à 13:43:37    

ok çà marche, merci pour votre aide :)

Reply

Marsh Posté le 09-01-2002 à 19:32:41    

juju_le_barbare a écrit a écrit :

 
 
Juste par curiosité : qu'appelles-tu un vrai language ?
 
Pour moi :
 
VB = pseudo-language
C/C++ Delphi Asm = vrais languages !  




 
VB est un bon langage et si tu étais un programmeur sérieux tu le saurais. Y'a juste que ce n'est pas destiné au mêmes applications que VC++ par exemple. Le RAD a ses avantages lui aussi.
 
Sinon pour supprimer une ligne en VB, le plus simple et d'ouvrir le fichiers source, le fichier temporaire, lire ligne par ligne, les écrire dans la fichier temporaire (sauf si tu ext sur la ligne à virer) puis virer le fichier source et renommer le temporaire.

Reply

Marsh Posté le 09-01-2002 à 19:52:02    

Un programmeur serieux :D qui code en VB? Le delphi est quand meme plus performant et est aussi RAD, C++ Builder lui aussi ...

Reply

Marsh Posté le 10-01-2002 à 09:06:06    

Kyle_Katarn a écrit a écrit :

 
 
VB est un bon langage et si tu étais un programmeur sérieux tu le saurais. Y'a juste que ce n'est pas destiné au mêmes applications que VC++ par exemple. Le RAD a ses avantages lui aussi.
 
Sinon pour supprimer une ligne en VB, le plus simple et d'ouvrir le fichiers source, le fichier temporaire, lire ligne par ligne, les écrire dans la fichier temporaire (sauf si tu ext sur la ligne à virer) puis virer le fichier source et renommer le temporaire.  




 
hey je suis sérieux moi !
J'ai déjà donné toutes mes raisons, je sais plus où je vais faire une recherche sur le forum.


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 10-01-2002 à 12:22:40    

Kyle_Katarn a écrit a écrit :

 
 
VB est un bon langage et si tu étais un programmeur sérieux tu le saurais. Y'a juste que ce n'est pas destiné au mêmes applications que VC++ par exemple. Le RAD a ses avantages lui aussi.
 
Sinon pour supprimer une ligne en VB, le plus simple et d'ouvrir le fichiers source, le fichier temporaire, lire ligne par ligne, les écrire dans la fichier temporaire (sauf si tu ext sur la ligne à virer) puis virer le fichier source et renommer le temporaire.  




Excellente méthode ! Merci :)
Pr le reste g suis d'accord, ds la boite où g suis on fait plin de pgrm en VB qui font des trucs très intéressants :)

Reply

Marsh Posté le 10-01-2002 à 13:59:11    

cgmarmotte a écrit a écrit :

 
Excellente méthode ! Merci :)
Pr le reste g suis d'accord, ds la boite où g suis on fait plin de pgrm en VB qui font des trucs très intéressants :)  



en vb les applis sont très très intéressantes, et en delphi c'est idem * 40 ! Je rechercherais le topic où j'ai exposé mes raisons. (si j'ai le temps).
il était un temps ou j'était un inconditionnel du vb !!!
mais dès que je me suis mis au delphi, le vb ... abandonné !!!
 
@+


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 10-01-2002 à 17:16:07    

Enfin g veux dire à mon avis y'a des trucs où c mieux pr tel ou tel langage enfin g c que là ce que g fais pr le moment c possible qu'en VB piske les librairies sont écrites pr du VB et uniquement du VB :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed