Сейчас на форуме: asfa, bartolomeo, hgdagon (+6 невидимых) |
eXeL@B —› Программирование —› Перевод данных [ Hex -> Dec ] на VB 6 |
Посл.ответ | Сообщение |
|
Создано: 03 июня 2006 16:55 · Личное сообщение · #1 |
|
Создано: 03 июня 2006 17:03 · Личное сообщение · #2 |
|
Создано: 03 июня 2006 17:08 · Личное сообщение · #3 Я VB не знаю, но вот как это на паскале: function StrToInt(s:PChar):integer; var i,r,expo:integer; bitMin,bitHex:boolean; begin r:=0; i:=0; while s[i]=' ' do inc(i); bitMin:=(s[i]='-'); if bitMin then inc(i); bitHex:=(s[i]='$'); if bitHex then inc(i,1); if bitHex then expo:=16 else expo:=10; if i<lstrlen(s) then begin while (byte(s[i])>=byte('0'))and(byte(s[i])<=byte('9'))or bitHex and(byte(s[i])>=byte('A'))and(byte(s[i])<=byte('F'))or bitHex and(byte(s[i])>=byte('a'))and(byte(s[i])<=byte('f')) do begin case s[i] of '0'..'9':r:=r*expo+(integer(s[i])-integer('0')); 'A','a':r:=r*expo+10; 'B','b':r:=r*expo+11; 'C','c':r:=r*expo+12; 'D','d':r:=r*expo+13; 'E','e':r:=r*expo+14; 'F','f':r:=r*expo+15; end; inc(i); end; if s[i]='' then Result:=r else Result:=0; end else Result:=0; end; Переложить на VB думаю труда не составит. |
|
Создано: 03 июня 2006 18:24 · Личное сообщение · #4 |
|
Создано: 03 июня 2006 18:29 · Личное сообщение · #5 |
|
Создано: 03 июня 2006 18:31 · Личное сообщение · #6 |
|
Создано: 03 июня 2006 21:55 · Поправил: SeQuick · Личное сообщение · #7 |
eXeL@B —› Программирование —› Перевод данных [ Hex -> Dec ] на VB 6 |
Эта тема закрыта. Ответы больше не принимаются. |