Einzelnen Beitrag anzeigen

Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Hilfe bei C++ Übersetzung

  Alt 23. Feb 2008, 13:14
Dann wohl C++ nach Delphi


Delphi-Quellcode:
Function StringToCommbyte (Input : String ;length : DWORD; sendbytescom : Byte):Boolean; //oder Sendbytecom ist das result (byte)
var
 firsttrail : Boolean;
      count : DWord;
         sc : DWord;
          s : DWord;
        CRC : DWord; //DWORD crc
  sendbytes : Array [0..9999] of Byte; // byte sendbytes[10000] = {0};
Begin
   sc := 0; //DWORD sc=0;
   Stringreplace(Input,#20,'',[rfReplaceAll]);//input.Remove((char)0x20);
   length :=length div 2; //length=length/2;
   if Copy(Input,0,2) = #126 then //if (input.Mid(0,2)=="7E")
   begin
     firsttrail := True; //firsttrail=true;
   end;
   for Count := 0 to length do//for (DWORD count=0; count<length; count++)
      begin
        //sendbytes[count]=(byte)_strtoui64(input.Mid(count*2,2),NULL,16);
      end;
 // CRC := CalcCRC16(sendbytes,length,firsttrail);
// sendbytes[length]=(byte)(crc%0x100);
// sendbytes[++length]=(byte)(crc/0x100);

for s := 0 to length + 1 do // for (DWORD s=0;s<length+1;s++)
   begin
      Case sendbytes[s] of // {Case of} switch ((byte)sendbytes[s])
    $7e: Begin //case 0x7e:
           if SC = 0 Then// if (sc!=0)
            Begin
              sendbytescom[sc] := $7D; //sendbytescom[sc]=(byte)0x7D;
              sendbytescom[inc(sc)] := $5e; //sendbytescom[++sc]=(byte)0x5E;
            end else
              sendbytescom[sc] := sendbytes[s]; //sendbytescom[sc]=sendbytes[s];
            break;
            end;
    $7d: Begin //case 0x7D:
           sendbytescom[sc] := $7D; //sendbytescom[sc]=(byte)0x7D;
           sendbytescom[inc(sc)] := $5D; // sendbytescom[++sc]=(byte)0x5D;
           break;
            end;
         else
           sendbytescom[sc] := sendbytes[s]; //sendbytescom[sc]=sendbytes[s];
            break;
      end;
   Inc(sc);
   end;
   length := sc;
end;
so in etwa hab ichs bis jetzt
Marcel
  Mit Zitat antworten Zitat