Campo sequencial usando numeros e letras
Pessoal, eh o seguinte:
Tenho um campo em minhas tabelas de tamanho e tipo CHAR(06), esse campo grava valores sequenciais para cada movimentacao na tabela esse valor nunca se repete, tipo:
ADCF42
ADCF43
ADCF44
ADCF45
ADCF46
ADCF47
...
...
ADCEWW
ADCEWX
ADCEWY
ADCEWZ
ADCEX0
ADCEX1
ADCEX2
...
...
AZAAA1
AZAAA2
AZAAA3
e sempre a ultima movimentacao eh gravada em um parametro em outra tabela de controle e sempre que haver uma movimentacao eh pego o conteudo desse parametro e eh somado + um numero ou letra, alguem tem alguma ideia de como posso fazer isso...
Obrigado.
Tenho um campo em minhas tabelas de tamanho e tipo CHAR(06), esse campo grava valores sequenciais para cada movimentacao na tabela esse valor nunca se repete, tipo:
ADCF42
ADCF43
ADCF44
ADCF45
ADCF46
ADCF47
...
...
ADCEWW
ADCEWX
ADCEWY
ADCEWZ
ADCEX0
ADCEX1
ADCEX2
...
...
AZAAA1
AZAAA2
AZAAA3
e sempre a ultima movimentacao eh gravada em um parametro em outra tabela de controle e sempre que haver uma movimentacao eh pego o conteudo desse parametro e eh somado + um numero ou letra, alguem tem alguma ideia de como posso fazer isso...
Obrigado.
Claudio_f
Curtidas 0
Respostas
Motta
22/12/2004
O Problema pode ser resolvido com uma conversão de base simples.
Devem existir varios sites que explica como fazer isto.
Usa-se uma base meio exdruxula (36) que seria
0123456789ABCD..Z 10 11 12 ... 19 1A 1B ...
Assim seria uma soma simples nesta base (36)
Não sei se fui claro.
Devem existir varios sites que explica como fazer isto.
Usa-se uma base meio exdruxula (36) que seria
0123456789ABCD..Z 10 11 12 ... 19 1A 1B ...
Assim seria uma soma simples nesta base (36)
Não sei se fui claro.
GOSTEI 0
Claudio_f
22/12/2004
Valeu,
Vou pesquisar no GooGle, se achar posto a solucao aqui...
Vou pesquisar no GooGle, se achar posto a solucao aqui...
GOSTEI 0
Paulo_amorim
22/12/2004
Olá
Fiz uma rotina aqui, acho que atende:
Espero que ajude
Até+
Fiz uma rotina aqui, acho que atende:
var Algarismos: array[1..36] of Char = (´A´,´B´,´C´,´D´,´E´,´F´,´G´,´H´,´I´,´J´,´K´,´L´,´M´, ´N´,´O´,´P´,´Q´,´R´,´S´,´T´,´U´,´V´,´W´,´X´,´Y´,´Z´, ´0´,´1´,´2´,´3´,´4´,´5´,´6´,´7´,´8´,´9´); (...) function TForm1.GeraCodigo(CodAtual: String): String; var cAux: Char; i, iPos: Integer; begin Result := CodAtual; for i := Length(Result) downto 1 do begin iPos := Pos(Result[i],Algarismos); if iPos < Length(Algarismos) then begin cAux := Algarismos[ iPos + 1]; Result[i] := cAux; break; end; Result[i] := Algarismos[1]; end; end;
Espero que ajude
Até+
GOSTEI 0