vbscript

Status
Niet open voor verdere reacties.
Als het goed is bestaat in VB de functie BIN() niet, maar wel HEX() en OCT(), derhalve moet daarvoor een eigen functie worden gemaakt. Dat heb ik even gedaan.

Plaats op een Form een knop en een label. De code voor de knop staat hieronder:

Code:
Private Sub Command1_Click()
   Dim AantalBits As Integer
   Dim Teller As Integer
   Dim Bits As String
   Dim Bit As Long
   Dim Decimaal As Long
   Dim Gewicht As Long
   Bits = Trim(Text1.Text)
   Decimaal = 0

   AantalBits = Len(Text1.Text)
   For Teller = 1 To AantalBits
       Bit = Val(Mid(Bits, Teller, 1))
       Gewicht = Bit * (2 ^ (AantalBits - Teller))
       Decimaal = Decimaal + Gewicht
       Gewicht = 0
   Next Teller
Label1 = Decimaal
End Sub
 
Hallo stevendemunter,

Er moet op het Form natuurlijk ook een text-box worden geplaatst t.b.v. de invoer van het binair getal. Dat was ik even vergeten te vermelden. Excuus.

Dennis.
 
Hai, :D

Dennis plaats zover ik weet nooit ongeteste code dus wat werkt er niet aan de code?

Heb net in VBA getest en daar werkt het prima.
(Overigens geen zin gehad om te kijken of de bereking klopt..Dennis kan toch beter rekenen als ik) ;)

Krijg je een compliler error?

Volgens mij heb je alleen een form nodig met:
1 tekstbox: Text1
1 Label: Label1
1 Commandbutton: Command1

Stukje code om het form te showen...
En runnen die hap! :thumb:
 
Geplaatst door joost verdaasdo
Dennis plaats zover ik weet nooit ongeteste code dus wat werkt er niet aan de code?
Hai Joost,

Bedankt:thumb: . Ik heb het inderdaad eerst getest, met een wetenschappelijke calculator. Ik hoef dat eigenlijk niet eens te doen. Een correcte algoritme kun je ook zonder een computer te maken. Mijn volgorde was ook: Een algoritme opstellen en weet ook dat het goed is en dan voor de zekerheid pas die code in VB gemaakt.

Dennis.

PS. Ja, het is maar een klein programma.
 
No problems Dennis, :D

Goeie logica hanteer je daar en toch slim dat je het nog test..(Een goede programeur schrijft eerst zijn verhaaltje en dan de code..is het snelst)

En ben nou toch benieuwd waarom het niet werkt....:cool:
 
Geplaatst door joost verdaasdo
No problems Dennis, :D
Wederom bedankt.
Geplaatst door joost verdaasdo

Goeie logica hanteer je daar
Eigenlijk was(lees: schreef) ik inconsequent, want als de logica goed in elkaar zit, dan hoef je dat ook niet meer op de computer te testen. (niet voor niets bewonder ik George Boole, omdat in die tijd de electronica nog niet eens bestond)

Misschien een klein beetje over mijzelf:
Ik volgde een programmeercursus(eeuwen geleden) en toch zonder gebruik te maken v.e. computer. Jaren later kon ik pas de gemaakte opgaven met een computer controleren.
Geplaatst door joost verdaasdo
en toch slim dat je het nog test
Dus eigenlijk niet helemaal slim, zie boven.
Geplaatst door joost verdaasdo
Een goede programeur schrijft eerst zijn verhaaltje en dan de code..is het snelst)
Je hebt volkomen gelijk, zo hoort het ook.
Geplaatst door joost verdaasdo

En ben nou toch benieuwd waarom het niet werkt....:cool:
Ik ook. Waarschijnlijk bedoelt hij echt met VBS.

Dennis.

PS. Ik zal maar niet al te diep ingaan over de logicaleer. Het is wel een heel belangrijk aspect voor het programmeren.
 
Laatst bewerkt:
In vbscript moet je je variabelen wel declareren maar je hoeft er geen type aan te hangen.
Met deze link heb je een aantal voorbeeldjes.
De for-next lus van Dennis90 werkt dus die hoef je alleen maar een klein beetje aan te passen
De meeste VB functies werken ook in vbscript.
Kijk bij MSDN Microsoft voor gedetailleerde info.

Weest gegroet,
Guus
 
Andersom is trouwens een stuk eenvoudiger:
Code:
    DecValue = 500000	'Your Decimal number here
    Do
    TempValue = DecValue Mod 2
    BinValue = CStr(TempValue) + BinValue
    DecValue = DecValue \ 2
    Loop Until DecValue = 0
    'Show result
    Msgbox BinValue
Enjoy!

Weest gegroet,
Guus
 
Hai Dennis, :D

Ik ga een heel stuk in jou logica mee maar ik haak af op het punt waarop jij zegt dat je verwijst naar punt 1 wat zogenaamd slim is!

Jazeker is het slim om de logica helder te hebben maar het niet meer hoeven te testen van de code vindt ik ronduit "Arogant" en zulke mensen moeten vooral bij Microsoft gaan werken om het aantal Hotfixes op te krikken! :mad: (En ook ik kan knappe koppen waarderen overigens)

Ik bedoel hier overigens niets mee naar jou toe maar ik ben het er dus gewoon niet mee eens. Hoe goed je ook bent ik vindt dat je op zijn minst de moeite moet nemen om je werk te controleren...(Beter nog laat een ander dat doen) ;)

Maar goed ik zal dus nooit iets ongetest plaatsen en voor de rest doet een ieder zijn eigen ding hé!

Ook ik ga hier eigenlijk weer veel te ver op door...dus vergeef me! ;)
 
Geplaatst door joost verdaasdo
Ook ik ga hier eigenlijk weer veel te ver op door...dus vergeef me! ;)
Je gaat daar helemaal niet te ver op door, Joost. Ik kan jou beter om vergiffenis vragen. Ik heb het verkeerd verwoord, ik doelde eigenlijk meer op mezelf. Dus de zin "Dus eigenlijk niet helemaal slim" slaat op mijzelf. Je hebt volkomen gelijk met datgene wat je schrijft. Excuus voor de onduidelijkheid.

Groetjes,

Dennis.
 
Ja Guus, mooi die korte code. Hoe korter hoe beter(sneller). Zo heb ik het eigenlijk geleerd via een staartdeling. Dat had ik ook kunnen doen, maar wilde dit keer via de 'positionelestelsel' gaan werken. Normaal bereken je dat van LSB naar MSB, maar nu doe ik dat voor de veandering andersom.

Dennis.
 
Geplaatst door DENNIS90

Je gaat daar helemaal niet te ver op door, Joost. Ik kan jou beter om vergiffenis vragen. Ik heb het verkeerd verwoord, ik doelde eigenlijk meer op mezelf. Dus de zin "Dus eigenlijk niet helemaal slim" slaat op mijzelf. Je hebt volkomen gelijk met datgene wat je schrijft. Excuus voor de onduidelijkheid.

Groetjes,

Dennis.
Fijn om te horen dat we er ongeveer hetzelfde over denken! (Zijn we weer vriendjes?) :p
 
Beste stevendemunter,

Is het nog gelukt?

Met VB heb je de VB-compiler nodig en met VBA heb je MS-Access of MS-Word of MS-Excel nodig en met VBS niets, als je maar Windows draait.

Dennis.
 
Voor vbscript heb je Windows scripting host nodig. Ofwel Wscript. Ik zou wel de laatste versie installeren. Als editer zou je UltraEdit kunnen gebruiken.

Met de nieuwe security instellingen bestaat de kans dat je de mogelijkheid om scripts te draaien eerst aan moet zetten.

Weest gegroet,
Guus
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan