clubberzZ
Messages postés89Date d'inscriptionvendredi 29 octobre 2004StatutMembreDernière intervention 3 décembre 2007
-
5 juin 2007 à 12:55
clubberzZ
Messages postés89Date d'inscriptionvendredi 29 octobre 2004StatutMembreDernière intervention 3 décembre 2007
-
11 juin 2007 à 11:49
Bonjour à tous,
J'aimerais transfomer ce code vb.net en c# mais je ne trouve aucune alternative (désolé je suis débutant).
Merci d'avance pour vos réponses.
Voici le code en question :
Private
Sub btnModif_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btnModif.Click
Dim f As Integer f = FreeFile()
FileOpen(f, path, OpenMode.Binary)
FilePut(f, Chr(182), CInt("&H" & "1897EF") + 1)
FileClose(f)
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 7 juin 2007 à 07:45
Alors, pour ta première question, la réponse est oui.
Tu peux même écrire directement plusieurs bytes contigus:
byte[] toWrite = new byte[]{0x33,0xC0};
bw.Write(toWrite);
Pour la 2ème question, ce n'est pas difficile d'essayer, comme le compilateur ne réclamme ni 0xC0, ni avec 0xc0, on peut en déduire que la case importe peu.
Amicalement, SharpMao
"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 6 juin 2007 à 12:31
Salut,
Voici quelques corrections:
- Le path doit être précédé par un @ pour évité l'interprétation du caractère d'échappement.
- La fonction Seek prend un long comme premier argument.
- Il manque un ';' lors du close sur le FileStream
- Les méthodes close prennent des majuscules.
- ...
Merci j'avais effectivement corrigé tout cela sur mon projet, il me reste une erreur qui est celle de la fonction Seek (la fonction seek possèdes des arguments non valides), je pense que ma syntaxe pour la fonction Write n'est pas bonne non plus (byteValue), si quelqu'un connait la solution?
Tu ne peux pas écrire directement des nombre hexadécimaux, tu dois les précéder de 0x pour qu'il comprenne.
Sinon, il n'aurait aucun moyen de différencier 0x10 et 10.
Amicalement, SharpMao
"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Quand je regarde avec un editeur héxadécimale à l'offset 1897F9 j'obtient bien le C0 à cet emplacement mais il m'affiche trois 00 00 00 après! Reprend il le nombre de byte dans la chaine toWrite? Je trouve cela très bizard. Merci d'avance!