Arsip: Konversi data dari Port serial

 
user image
more 16 years ago

sayidjunior

Mau tanya ni, saya sudah coba gunakan komponen ComPortLib, komponen ini mengambil data serial dari port com dalam bentuk kode ASCII, terus bagaimana caranya agar bisa ditampilkan dalam bentuk desimal atau heksadesimal? misal data dari luar yang diterima $32 maka akan ditampilkan jadi angka dua, bagaimana agar bisa ditampilkan menjadi 32 (heksadesimal) atau 50 (desimal) atau lebih baik lagi kalau bisa menjadi 00110010 (biner), terimakasih atas bantuannya.
user image
more 16 years ago

wahyudi_delphi

Source Code konversi dari ascii ke biner ( $32 -->> 00110010), coba ya dan reply hasilnya

function HexToBin(Hexadecimal:string):string;
const
 BCD: array [0..15] of string =
     ('0000','0001','0010','0011','0100','0101','0110','0111',
      '1000','1001','1010','1011','1100','1101','1110','1111');
var
   i: integer;
begin
   for i := Length(Hexadecimal) downto 2 do
     Result := BCD[StrToInt('$'+Hexadecimal[i])] + Result;
end;
procedure TForm1.BConvertClick(Sender: TObject);
var a,b: string;
    i: integer;
begin
 EBiner.Text:=HexToBin(EAscii.Text);
end;
user image
more 16 years ago

wahyudi_delphi

Source Code konversi dari ascii ke biner ( $32 -->> 50), coba ya dan reply hasilnya

function HexToDec(Str: string): Integer;
var
  i, M: Integer;
begin
  Result:=0;
  M:=1;
  Str:=AnsiUpperCase(Str);
  for i:=Length(Str) downto 2 do
  begin
    case Str[i] of
      '1'..'9': Result:=Result+(Ord(Str[i])-Ord('0'))M;
      'A'..'F': Result:=Result+(Ord(Str[i])-Ord('A')+10) M;
    end;
    M:=M shl 4;
  end;
end;
procedure TForm1.BConvertClick(Sender: TObject);
begin
EDec.Text:=IntToStr(HexToDec(EAscii.Text));
end;
user image
more 16 years ago

wahyudi_delphi

Source Code konversi dari ascii ke biner ( $32 -->> 32), coba ya dan reply hasilnya

EHex.Text:=Copy(EAscii.Text,2,Length(EAscii.Text));
user image
more 16 years ago

NiceDream

Sadiz banget neh mas wahyudi, blh tny jg ga? bisa ga karakter (string) diubah kedalam bilangan bulat (integer)? misal 'kamu' jadi 182932
user image
more 16 years ago

NiceDream

@sayidjunior comport bs langsung baca data dalam bentuk integer langsung kok, cara'a sama ky biasa hanya jangan pakai readstr tp pakai read.
user image
more 16 years ago

agoes_5150


// String Heksadesimal ke Bilangan Bulat Desimal
StrToInt('$' + Input); // Jangan lupa pake blok try ... except/finally
// Bilangan Bulat Desimal ke String Heksadesimal
Format('%X', [Input]);
user image
more 16 years ago

agoes_5150


// String Heksadesimal ke Bilangan Bulat Desimal
StrToInt('$' + Input); // Jangan lupa pake blok try ... except/finally
// Bilangan Bulat Desimal ke String Heksadesimal
Format('%X', [Input]);
user image
more 14 years ago

daryl_sukma_gumilar

@ Wahyudi : nice Answer .. Saya mau tanya maz .. kalo merubah dari Biner ke ascii (Asciinya 8 bit) Misalnya : 100 1111 - > O 101 0010 - > S Bagaimana ya maz ...
user image
more 14 years ago

wongUedanTenan

@daryl_sukma_gumilar: @ Wahyudi : nice Answer .. Saya mau tanya maz .. kalo merubah dari Biner ke ascii (Asciinya 8 bit) Misalnya : 100 1111 - > O 101 0010 - > S Bagaimana ya maz ...
Convert dulu binaryke decimal (lupa lagi naruh samplenya). Baru pake fungsi CHAR misal : 1001111 = 79 trus X:=CHAR(79); hasilnya X=O
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com