Dosyayı 0 ve 1 şeklinde gösterme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphiibo
Üye
Mesajlar: 72
Kayıt: 27 Eki 2005 04:55
Konum: istanbul
İletişim:

Dosyayı 0 ve 1 şeklinde gösterme

Mesaj gönderen delphiibo »

iyi çalışmalar arkadaşlar. Bir dosyayı veya stringi farketmez 0 ve 1 şeklinde nasıl gösteririz. BintoString mi öyle birşeymiş . Dosyayı 0 ve 1 sayıları şeklinde gösterecek ve tekrardan eski haline getirecek. BintoString ve StringToBin şeklinde. Nasıl yaparım acaba .Yardımlarınızı Bekliyorum.
Onun tek dostu Allah
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Dosyayı 0 ve 1 şeklinde gösterme

Mesaj gönderen sabanakman »

Eğer 10 MB'lık dosyayı 80 MB yapmayı gözün kestirebiliyorsa aşağıdaki fonksiyon bir byte değerini stringe çevirebilmektedir. Bunu kullanarak bir sistem geliştirebilirsin.

Kod: Tümünü seç

function BytetoBinary(Deger:Byte):String;
const Bir:Byte=1; Rakami:array[0..1]of String=('0','1');
var n:Integer;
begin
  Result:='';
  while Deger>0 do begin
    Result:=Rakami[Deger and Bir{en sağda kalan bit}]+Result;
    Deger:=Deger shr Bir;//değer 1 bit sağa kaydırılarak küçültülür
  end;
  for n:=8-Length(Result) downto 1 do Result:='0'+Result;
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: Dosyayı 0 ve 1 şeklinde gösterme

Mesaj gönderen akdatilla »

merhaba
aşağıda byte bilginin binary string formata nasıl çevrilebileceği hakkında bir örnek var.

Kod: Tümünü seç

unit teststru1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
Const
     byteBites:Array [0..255] of String=(
     '00000000','00000001','00000010','00000011','00000100','00000101','00000110','00000111',
     '00001000','00001001','00001010','00001011','00001100','00001101','00001110','00001111',
     '00010000','00010001','00010010','00010011','00010100','00010101','00010110','00010111',
     '00011000','00011001','00011010','00011011','00011100','00011101','00011110','00011111',
     '00100000','00100001','00100010','00100011','00100100','00100101','00100110','00100111',
     '00101000','00101001','00101010','00101011','00101100','00101101','00101110','00101111',
     '00110000','00110001','00110010','00110011','00110100','00110101','00110110','00110111',
     '00111000','00111001','00111010','00111011','00111100','00111101','00111110','00111111',
     '01000000','01000001','01000010','01000011','01000100','01000101','01000110','01000111',
     '01001000','01001001','01001010','01001011','01001100','01001101','01001110','01001111',
     '01010000','01010001','01010010','01010011','01010100','01010101','01010110','01010111',
     '01011000','01011001','01011010','01011011','01011100','01011101','01011110','01011111',
     '01100000','01100001','01100010','01100011','01100100','01100101','01100110','01100111',
     '01101000','01101001','01101010','01101011','01101100','01101101','01101110','01101111',
     '01110000','01110001','01110010','01110011','01110100','01110101','01110110','01110111',
     '01111000','01111001','01111010','01111011','01111100','01111101','01111110','01111111',
     '10000000','10000001','10000010','10000011','10000100','10000101','10000110','10000111',
     '10001000','10001001','10001010','10001011','10001100','10001101','10001110','10001111',
     '10010000','10010001','10010010','10010011','10010100','10010101','10010110','10010111',
     '10011000','10011001','10011010','10011011','10011100','10011101','10011110','10011111',
     '10100000','10100001','10100010','10100011','10100100','10100101','10100110','10100111',
     '10101000','10101001','10101010','10101011','10101100','10101101','10101110','10101111',
     '10110000','10110001','10110010','10110011','10110100','10110101','10110110','10110111',
     '10111000','10111001','10111010','10111011','10111100','10111101','10111110','10111111',
     '11000000','11000001','11000010','11000011','11000100','11000101','11000110','11000111',
     '11001000','11001001','11001010','11001011','11001100','11001101','11001110','11001111',
     '11010000','11010001','11010010','11010011','11010100','11010101','11010110','11010111',
     '11011000','11011001','11011010','11011011','11011100','11011101','11011110','11011111',
     '11100000','11100001','11100010','11100011','11100100','11100101','11100110','11100111',
     '11101000','11101001','11101010','11101011','11101100','11101101','11101110','11101111',
     '11110000','11110001','11110010','11110011','11110100','11110101','11110110','11110111',
     '11111000','11111001','11111010','11111011','11111100','11111101','11111110','11111111'
     );

procedure TForm1.Button1Click(Sender: TObject);
Var
   j,k:integer;
   s:String;
begin
     s:=Edit1.Text;//edit1 kaynak bilginin girişi için kullanıldı
     Edit2.Text:=''; //edit2 çıktının okunacağı kutu
     k:=length(s);
     for j := 1 to k do
     begin
          Edit2.Text:=Edit2.Text+bytebites[ord(s[j])];
          if j<k then
          Edit2.Text:=Edit2.Text+' ';//karakterlerin binary karşılıklarının arasına boşluk karakteri eklendi
     end;
end;

end.
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Dosyayı 0 ve 1 şeklinde gösterme

Mesaj gönderen adelphiforumz »

ihtiyacın olabilecek her türlü çeviri burda var gibi bir incele
http://www.antrak.org.tr/gazete/082001/nusret.htm
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Dosyayı 0 ve 1 şeklinde gösterme

Mesaj gönderen sabanakman »

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