unsigned char  str[10];
unsigned long sum = 0;
memcpy(str,"为人民服务",10);
for (long iii = 0;iii<10;iii++)
{
sum += str[iii];
}
unsigned short lo = LOWORD(sum);

解决方案 »

  1.   

    var
      str: array[0..9] of Byte;
      sum: Cardinal;
      iii: Integer;
      lo: Word;
    begin
      sum := 0;
      Move('为人民服务', str, 10);
      for iii := 0 to 9 do
      begin
        Inc(sum, str[iii]);
      end;
      lo := LOWORD(sum);
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
      str: array[0..9] of Byte;
      sum: DWord;
      lo: Word;
    begin
      Move('为人民服务', str, 10);
      for I := 0 to 10 do   // Iterate
      begin
        sum := sum + str[I];
      end;    // for
      lo := LOWORD(sum);
    end;
      

  3.   

    不知道你要实现什么
    如果能读懂,用delphi写不是很困难
      

  4.   

    for iii := 0 to  9  do sum := sum + str[iii];
                     ↑
                   not 10