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
Partager