Ja det er jo meget smart men nu er det sådan at jeg har over 600 styringer
der er lavet efter det gamle princip med en kode lavet i pascal og så vil
jeg ikke lave det om bare fordi jeg gerne vil lære lidt visual basic ...
Her er koden i pascal:
type // A-Z
TMArray = array[1..26] of Integer;
const
DataArray1: TMArray = (0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,
17,18,19,20,21,22,23,
24,25);
DesArray: array[1..26] 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');
type // 0-9 og A-Z
TMyArray = array[1..36] of Integer;
const
DataArray: TMyArray = (0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,
17,18,19,20,21,22,23,
24,25,26,27,28,29,30,
31,32,33,34,35);
DescArray: array[1..36] of Char = ('0','1','2','3','4','5','6',
'7','8','9','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');
procedure TForm1.GdataClick(Sender: TObject);
//Beregner fra seriel nummer til uniqe ID
var
C1,C2,C3,C4,Serial1,cur:Integer;
begin
Serial1:= StrToInt(Sernum.Text);
// C1 til C4 = char
C1 := (SerIal1-10000000) div(36*36*36);
begin
C2 :=((Serial1-10000000)-(36*36*36*c1)) DIV (36*36);
begin
C3 :=((Serial1-10000000)-(36*36*36*C1)- (36*36*c2)) DIV 36;
begin
C4 :=((Serial1 -10000000)-(36*36*36*C1)-(36*36*C2)) - (36*c3) ;
// Beregning
begin
Cur := C1;
if Cur = 26 then Cur := -1;
C1 := Cur ;
Cha1 := DesArray[C1 + 1];
// Char 1
begin
Cur := C2;
if Cur = 36 then Cur := -1;
C2 := Cur ;
Cha2:= DescArray[C2 + 1];
// Char 2
begin
Cur := C3;
if Cur = 36 then Cur := -1;
C3 := Cur ;
Cha3 := DescArray[C3 + 1];
// Char 3
begin
Cur := C4;
if Cur = 36 then Cur := -1;
C4 := Cur ;
Cha4 := DescArray[C4 + 1];
// Char 4
globalID.text:=(cha1+cha2+cha3+cha4);
crtID.text:=(cha1+cha2+cha3+cha4);
end;end;end;end;end;end;end;
end;
m.v.h.
l. madsen
|