bettyblues
Messages postés5Date d'inscriptionsamedi 28 mai 2011StatutMembreDernière intervention 3 juin 2011
-
2 juin 2011 à 22:27
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 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...
smathis
Messages postés153Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention17 juin 20115 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.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 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.