Conversion VB to C# [FileGet]

bettyblues Messages postés 5 Date d'inscription samedi 28 mai 2011 Statut Membre Dernière intervention 3 juin 2011 - 2 juin 2011 à 22:27
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 - 3 juin 2011 à 21:23
Bonsoir,

je souhaite convertir une source VB en C# mais je bloque sur l'élément FileGet() qui n'existe pas dans C# et je n'arrive pas à le reproduire...

mon code VB.net ressemble à ceci :
Imports System.IO
Public Class Form1

    Dim stub, text1 As String
    Const FileSplit = "@FileSplit@"

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        text1 = TextBox1.Text
        FileOpen(1, Application.StartupPath & "\stub.exe", OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
        stub = Space(LOF(1))
        FileGet(1, stub)
        FileClose(1)
        If File.Exists("programme.exe") Then
            My.Computer.FileSystem.DeleteFile("programme.exe")
        End If
        FileOpen(1, Application.StartupPath & "\programme.exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
        FilePut(1, stub & FileSplit & text1)
        FileClose(1)
    End Sub
End Class


Et voici la "traduction" que j'ai faite en C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        string stub;
    string text1;
        const string FileSplit = "@FileSplit@";

        private void Button1_Click(object sender, EventArgs e)
        {
            text1 = TextBox1.Text;	 	                        
            FileStream ouvreStub = File.Open(Application.StartupPath + "\\stub.exe", FileMode.Open, FileAccess.Read, FileShare.None);
            String test = new String(' ', (int)ouvreStub.Length);
            stub = test;
    
            // LE PROBLEME ...
            FileGet(1, stub);


            ouvreStub.Close();

    if (File.Exists("programme.exe")) 
            {
                File.Delete("programme.exe");
    }

            FileStream ouvreProgramme = File.Open(Application.StartupPath + "\\programme.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None);
            BinaryWriter bw = new BinaryWriter(ouvreProgramme);
            bw.Write(stub + FileSplit + text1);
            ouvreProgramme.Close();
        }
    }
}


Bien entendu je ne suis pas sur que ma conversion est totalement correct et je ne le saurais que lorsque j'aurais fini...

Mais pour l'instant c'est le "FileGet(1, stub);" qui me pose problème et je suis un peu perdu...

J'espère que vous saurez m'aider.

Merci

5 réponses

smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
3 juin 2011 à 09:33
Ca sert à quoi FileGet ?
0
bettyblues Messages postés 5 Date d'inscription samedi 28 mai 2011 Statut Membre Dernière intervention 3 juin 2011
3 juin 2011 à 13:13
Sur msdn ils disent sa : Lit les données d'un fichier disque ouvert et les place dans une variable.
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
3 juin 2011 à 16:05
Mais dans ton code tu l'utilises pour faire quoi ?
Parce que tu l'affectes à rien du tout. Donc je ne vois pas à quoi sert la ligne, mais je ne connais pas le VB.
0
bettyblues Messages postés 5 Date d'inscription samedi 28 mai 2011 Statut Membre Dernière intervention 3 juin 2011
3 juin 2011 à 18:01
Bin heu sa lit le fichier 1 (stub.exe) et le place dans la variable stub ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
3 juin 2011 à 21:23
Salut,

Expliques ce que tu veux, comment tu veux lire ton fichier.
Les fonctions de VB que tu utilises ne devrait plus etre utilisees elles sont la pour la compatibilite avec les dev en vb6.

Utilises un streamreader a la place
http://msdn.microsoft.com/en-us/library/f2ke0fzy.aspx

Bon dev
0
Rejoignez-nous