Waardes in Hex veranderen via een VBA

Status
Niet open voor verdere reacties.

Jan Van Haaren

Gebruiker
Lid geworden
27 okt 2002
Berichten
202
Hoi,

Sorry voor de vele vraagjes, maar ik heb al van alles geprobeerd, maar kan de oplossing niet vinden :(.
Ik heb een document van meer dan 200 KB dat ik enkel handmatig via een hexeditor kan editten. Nu zou ik iets willen maken dat er voor zorgt dat ik dmv een VBA in een tekstvak in decimaal een waarde invul, die naar hex omgezet wordt en die op de juiste plaats in het hexdocument geschreven wordt. Is dit mogelijk?

Groeten, Jan
 
even het tabeltje voor de duidelijkheid en om te controleren dat je uitvoer klopt.
<div align="center">
<table width="75%" border="1" align="center">
<tr>
<td width="100" height="15"><div align="center"><strong><code><font color="#FF0000">Decimal</font></code></strong></div></td>
<td width="100" height="15"><div align="center"><strong><code><font color="#FF0000">Hex</font></code></strong></div></td>
<td width="100" height="15"><div align="center"><strong><code><font color="#FF0000">Binary</font></code></strong></div></td>
</tr>
<tr>
<td><div align="center">00</div></td>
<td><div align="center">0</div></td>
<td><div align="center">0000</div></td>
</tr>
<tr>
<td><div align="center">01</div></td>
<td><div align="center">1</div></td>
<td><div align="center">0001</div></td>
</tr>
<tr>
<td><div align="center">02</div></td>
<td><div align="center">2</div></td>
<td><div align="center">0010</div></td>
</tr>
<tr>
<td><div align="center">03</div></td>
<td><div align="center">3</div></td>
<td><div align="center">0011</div></td>
</tr>
<tr>
<td><div align="center">04</div></td>
<td><div align="center">4</div></td>
<td><div align="center">0100</div></td>
</tr>
<tr>
<td><div align="center">05</div></td>
<td><div align="center">5</div></td>
<td><div align="center">0101</div></td>
</tr>
<tr>
<td><div align="center">06</div></td>
<td><div align="center">6</div></td>
<td><div align="center">0110</div></td>
</tr>
<tr>
<td><div align="center">07</div></td>
<td><div align="center">7</div></td>
<td><div align="center">0111</div></td>
</tr>
<tr>
<td><div align="center">08</div></td>
<td><div align="center">8</div></td>
<td><div align="center">1000</div></td>
</tr>
<tr>
<td><div align="center">09</div></td>
<td><div align="center">9</div></td>
<td><div align="center">1001</div></td>
</tr>
<tr>
<td><div align="center">10</div></td>
<td><div align="center">A</div></td>
<td><div align="center">1010</div></td>
</tr>
<tr>
<td><div align="center">11</div></td>
<td><div align="center">B</div></td>
<td><div align="center">1011</div></td>
</tr>
<tr>
<td><div align="center">12</div></td>
<td><div align="center">C</div></td>
<td><div align="center">1100</div></td>
</tr>
<tr>
<td><div align="center">13</div></td>
<td><div align="center">D</div></td>
<td><div align="center">1101</div></td>
</tr>
<tr>
<td><div align="center">14</div></td>
<td><div align="center">E</div></td>
<td><div align="center">1110</div></td>
</tr>
<tr>
<td><div align="center">15</div></td>
<td><div align="center">F</div></td>
<td><div align="center">1111</div></td>
</tr>
</table>
</div>

dim jouwVariabele as Integer

jouwVariabele = 15

msgbox Hex(jouwVariabele) 'laat F zien

jouwVariabele = &HE

MsgBox (jouwVariabele) 'Laat 14 zien

MsgBox Hex(jouwVariabele) 'Laat E zien


succes
 
Laatst bewerkt:
inlezen, hexwaarde tussenvoegen en dan opnieuw wegschrijven
 
weet iemand hoe ik al die witte ruimte aan het begin van de tabel weg krijg ?
 
Nou Vaat ik vind het gek dat je geen nieuw onderwerp mocht openen. Ik zit hier n.l. ook mee en het slaat als een tang op een varken wat betreft het originele onderwerp :(
Je maakt een jpg van je screen in paint, knipt het plaatst het in een nieuwe paint en dan zit ik ook met jouw probleem. Vreet dus ruimte bij Helpmij. Wel een onderwerp waard! :)
 
Als jullie echt dat onderwerp weer open willen hebben gaat die wel weer open
 
Ik denk dat Vaat op vakantie is ;)
Op het andere onderwerp zie ik hem ook niet.
En van hexwaardes heb ik ECHT geen verstand.
 
Hallo,
Een antwoord op jouw vraag om zelf een progje te schrijven heb ik niet maar heb je al eens 'Search & Replace' van Funduc-software geprobeerd? Heeft heel veel mogelijkheden om tekst te wijzigen, ook in binary-files. Is shareware en is meen ik 30 dagen uit te proberen.

http://www.funduc.com/search_replace.htm

succes, Peter
 
Bezig met de instructieset v.e. bepaalde microprocessor?

Hallo Jan,

Ik geef geen atwoord op jouw vraag, maar heb eerder een vraag te
stellen als dat mag. Heb je je Hex waarden nodig voor het programmeren in
assembler of voor het gebruik v.e geheugen dump zoals die van een (o.a.)
Mvs/Esa systeem(Mainframe) ?

Het beschreven bestandsformaat is door jou ook niet genoemd. Is dit
puur ASCII of iets anders?

Dennis.
 
Geplaatst door Jan Van Haaren


Dus héél die file moet opnieuw weggeschreven worden, die is meer dan 200 kb? :(

je kan toch per regel inlezen en meteen die regel weer wegschrijven totdat je bij de juiste regel bent. Daar dan iets tussenvoegen en dan die regel pas wegschrijven. Vervolgens schrijf je de rest weg.

Is gewoon een grote while loop (NOT EOF(1)) en een if statement daarin die de hex waarde zoekt.

Of je moet met Random Access files gaan werken. Maar die kan je niet zomaar weer openen in notepad.
 
Waardes in Hex verandren via VBA

Ik weet wel een oplossing, maar is die nog nodig?
 
Ik weet wel een oplossing, maar is die nog nodig?

Dat moet jij weten of je die post of niet.

Heel vaak wordt er op forums geen aandacht besteed aan " oude" topics, de nieuw gestelde vragen daarentegen verdienen onze aandacht.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan