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 :
Code Visual Basic :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
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#
Code C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
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