Para todos , mas principalmente para o António Lopes de Coimbra
Obrigado por teres respondido , mas já que entendes a língua de Camões , podes me explicar melhor ?
Eu quero , fazer umas rotinas , com base no numero de serie do disco , para licenciar as cópias do meu programa .
Para isso gostava de saber o tamanho mínino e máximo desse numero e se é sempre numérico ou pode conter caracteres ?
Pelo que entendi da tua resposta , é sempre numérico , mas pode ser um valor negativo .
Ora , isso não entendi .
A função que enviaste , é para usar quando o nº de série é negativo , para o transformar em positivo ?
Por favor explica melhor , em português , por favor ...
***
HD's serial number is an unsigned long that can be stored as an integer: if negative, it should be complemented first. If you want to store its hexadecimal representation (such as reported by a DIR command), you should take that in account:
m.lnSerialNumber = -390867900 && my C drive, actually
? RIGHT(TRANSFORM(IIF(m.lnSerialNumber<0,2^32-m.lnSerialNumber,m.lnSerialNumber),"@0"),8)
In this case, you have a 8 bytes wide character string.
Pedro Silva
world is wonderful with your help .