Avatar billede kornfreak Nybegynder
28. maj 2001 - 23:06 Der er 6 kommentarer og
1 løsning

Omskriv perl til asp!

Er der nogen der kan omskrive det her til asp?

my $cmd = join(\'\', map { $_ . \'/\' } @p);
$cksum &= 0xFF;
return $cmd . sprintf(\'%02X\', $cksum);
sub NumSum {
  my (@NumList) = @_;
  my $Sum = 0;
  my $Num;
  foreach $Num (@NumList) {
    $Sum += $Num;
  }
  return $Sum;
}
Avatar billede erikjacobsen Ekspert
28. maj 2001 - 23:11 #1
Det er jo taget lidt ud af sammenhæng :)

Men sæt \"/\" efter alle værdier i arrayet @p, og sæt det hele sammen
til én lang streng, f.eks.  a/b/ccc/hh/gg/  som $cmd

Så masker vi det sidste tegn ud af variablen $cksum, og skriver den
i halen af $cmd som 2 cifret hexadecimalt tal, og den værdi returneres.

Så er der en funktion, der aldrig bliver kaldt....
Avatar billede kornfreak Nybegynder
28. maj 2001 - 23:14 #2
Hm..er det?... det ved jeg ik, fik i opgave at omskrive det, men kan ikke helt gennemskue det!
Avatar billede kornfreak Nybegynder
29. maj 2001 - 13:49 #3
my $to  = shift;
    my $from = shift;
    my $data = shift;
    my $udh  = @_ ? shift : undef;

    my @p = (\'\') x $NoOfFields;

    $p[$TRN] = \'03\';
    $p[$LEN] = \'00000\';
    $p[$OoR] = \'O\';
    $p[$OT ] = \'51\';

    $p[$AdC ] = $to;
    $p[$AdC ] =~ s/^\\+/00/;
    $p[$OAdC] = $from;
    $p[$MT  ] = \'3\';

    if (defined($udh)) {
        # Treat $data as binary
        $p[$XSer] = \'01\' . sprintf(\'%02X\', length($udh) / 2) . uc($udh);
        $p[$MT  ] = \'4\';
        $p[$DCS ] = \'1\';
        $p[$NB  ] = sprintf(\'%04d\', length($data) * 8);
    }
    else {
        # Treat $data as ascii
        $data = &iso2emi($data);
    }
    $p[$MSG] = &ToHexStr($data);

    {
        my $len = &NumSum(2, map { 1 + length($_) } @p);
        $p[$LEN] = sprintf(\'%05d\', $len);
    }

    my $cmd = join(\'\', map { $_ . \'/\' } @p);

    my $cksum = &NumSum(map { ord($_) } split(//, $cmd));
    $cksum &= 0xFF;

    return $cmd . sprintf(\'%02X\', $cksum);

Det var vidst sårn den var!..
Avatar billede erikjacobsen Ekspert
29. maj 2001 - 23:25 #4
Man kan jo ikke bare skrive den om uden at vide hvor shift får værdierne
fra, og hvor f.eks. $TRN kommer fra - måske har du løst den del i ASP, men
så fortæl os det .... he he - det kommer til at fylde noget mere i ASP
Avatar billede kornfreak Nybegynder
31. maj 2001 - 15:32 #5
Jeg fatter nada af perl, tror de selv må omskrive det der :)
Avatar billede erikjacobsen Ekspert
31. maj 2001 - 15:37 #6
Som sagt kunne jeg gøre det, men jeg mener ikke jeg har oplysninger nok.
Avatar billede kornfreak Nybegynder
31. maj 2001 - 15:44 #7
Forståeligt nok ! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester