HexToInt - IntToBin - BinToInt - IntToRoman

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

HexToInt - IntToBin - BinToInt - IntToRoman

Mesaj gönderen mege »

hextoint dönüşümü esasında eskiden beri döngü ile yaptığım işi delphi kolaycana yapıyormuş. vaybe :D görünce hemen denedim ve muvaffak oldum.

bu benden

Kod: Tümünü seç

////////HEX TO INT/////////////////
Function hexToInt(hexStr: string): longint;
var iErr:integer;
begin
  Result := 0;
  Val('$' + hexStr, Result, iErr);
end;
bunlar ise esinlendiğim siteden

Kod: Tümünü seç

function IntToBin(Value: LongInt;
                  Digits: Integer): String;
var
 i: Integer;
begin
 Result:='';
 for i:=Digits downto 0 do
  if Value and (1 shl i)<>0 then
   Result:=Result + '1'
  else
   Result:=Result + '0';
end;

Kod: Tümünü seç

function BinToInt(Value: String): LongInt;
var i: Integer;
begin
 Result:=0;
//remove leading zeros
 while Copy(Value,1,1)='0' do
  Value:=Copy(Value,2,Length(Value)-1);
//do the conversion
 for i:=Length(Value) downto 1 do
  if Copy(Value,i,1)='1' then
   Result:=Result+(1 shl (i-1));
end;

Kod: Tümünü seç

function IntToRoman(Value: LongInt): String;
const
Arabics: Array[1..13] of Integer =
(1,4,5,9,10,40,50,90,100,400,500,900,1000);
Romans:  Array[1..13] of String =
('I','IV','V','IX','X','XL',
'L','XC','C','CD','D','CM','M');
var
  i: Integer;
begin
 for i := 13 downto 1 do
 while (Value >= Arabics[i]) do begin
  Value := Value - Arabics[i];
  Result := Result + Romans[i];
 end;
end;
Kaynak : http://delphi.about.com/library/weekly/aa010599.htm
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ewt hocam bende StrToInt in boyle bir yetenegi oldugunu gorunce sasırmıstım:)
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

gkimirti yazdı:ewt hocam bende StrToInt in boyle bir yetenegi oldugunu gorunce sasırmıstım:)
hocam strtoint kullanınca sürekli exception oluşturuyor. try except koymaktansa bende val ile yaptım. hem daha kısa oldu :D .
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

Hocam BinToInt fonksiyonu yanlış değer döndürüyor.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Bunu dene :wink:

Kod: Tümünü seç

function BinToInt(Value: String): LongInt;
var
  i, iValueSize: Integer;
begin
  Result := 0;
  iValueSize := Length(Value);
  for i := iValueSize downto 1 do
    if Value[i] = '1' then 
      Result := Result + (1 shl (iValueSize - i));
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

Teşekkürler Hocam Oldu.



Kolay Gelsin...
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

S.A
Hocam gördüğüm ama tam olarak ne işe yaradığını bilmediğim "and ,or, ... shr,shl " fonksiyonlarını kısadan bir anlatabilirmisiniz?

Kod: Tümünü seç

IntergerDeger:=  IntegerA or IntegerB;
Burda "or ,and ,shr ,shl " ne işe yarar?

Tabi birde hocamlarımızdan Pointerlala ilgili bir makale istesem. Ne işe yaradıklarını biliyorumda. Kullanım şekilleri ve yerleri nelerdir?
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla