Csharp dan Delphi ye

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
DelphiNV
Üye
Mesajlar: 54
Kayıt: 28 Oca 2005 03:15
Konum: Bursa

Csharp dan Delphi ye

Mesaj gönderen DelphiNV »

Merhaba;

Csharp da aşağıdaki gibi Yazılan Kodları delphi 7 ye aktarmam gerekiyor. Ama çözemedim. Mesela

Kod: Tümünü seç

        public UInt32 HeadFlag;
        public UInt16 Checksum, MessageLength;
        public UInt32 CSeq, Result;
        public UInt16 Command, ContentLength;

için nasıl tanımlama yapmam gerekiyor. Birde aşağıdaki işlemlerle ne yapılmaya çalışılmış yardımarınız için şimdiden teşekkür ederim.

Kod: Tümünü seç

       public UInt32 HeadFlag;
        public UInt16 Checksum, MessageLength;
        public UInt32 CSeq, Result;
        public UInt16 Command, ContentLength;

        public override string ToString()
        {
            return HeadFlag.ToString() + ", " + Checksum.ToString() + ", " + MessageLength.ToString() + ", "
                 + CSeq.ToString() + ", " + Result.ToString() + ", " + Command.ToString() + ", "
                  + ContentLength.ToString();
        }
    }

    class DeviceDataInterface
    {
        public static DeviceDataHeader ReadHeader(BinaryReader binaryReader)
        {
            DeviceDataHeader header = new DeviceDataHeader();
            header.HeadFlag = binaryReader.ReadUInt32();
            header.Checksum = binaryReader.ReadUInt16();
            header.MessageLength = binaryReader.ReadUInt16();
            header.CSeq = binaryReader.ReadUInt32();
            header.Result = binaryReader.ReadUInt32();
            header.Command = binaryReader.ReadUInt16();
            header.ContentLength = binaryReader.ReadUInt16();
            return header;
        }

        public static void WriteHeader(BinaryWriter binaryWriter, DeviceDataHeader header)
        {
            binaryWriter.Write(header.HeadFlag);
            binaryWriter.Write(header.Checksum);
            binaryWriter.Write(header.MessageLength);
            binaryWriter.Write(header.CSeq);
            binaryWriter.Write(header.Result);
            binaryWriter.Write(header.Command);
            binaryWriter.Write(header.ContentLength);
        }
    }
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Csharp dan Delphi ye

Mesaj gönderen Ertugrul »

Kod: Tümünü seç

type
TBasiKesilmisKendisiAcabaNedir = class
private
	FHeadFlag,FCSeq,FResult:Int64;
	FCheckSum,FMessageLen,FCommand,FContentLen:Int32;
public
	HeadFlag:Int64 read FHeadFlag write FHeadFlag;
	CSeq:Int64 read FCSeq write FCSeq;
	//................
	function AsString:string;
end;

function TBasiKesilmisKendisiAcabaNedir.AsString:string;
begin
	Result:=Format("%d, %d, %d, %d, %d, %d, %d, %d",[HeadFlag,Checksum,MessageLen,CSeq,Result,Command,ContentLen]);
end;
Digerinde ise yine kodun tamami verilmedigi icin (binaryreader nereden geliyor nereye erisiyor?) API uzerinden aygita veri yazdigini tahmin ediyorum.
DelphiNV
Üye
Mesajlar: 54
Kayıt: 28 Oca 2005 03:15
Konum: Bursa

Re: Csharp dan Delphi ye

Mesaj gönderen DelphiNV »

Merhaba;

Kodun Tamamı Bu binaryreader csharp ta sanırım bir fonksiyon yada procedur Stream olarak okumak yazmak için olabilir...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Csharp dan Delphi ye

Mesaj gönderen conari »

Ertugrul yazdı:

Kod: Tümünü seç

TBasiKesilmisKendisiAcabaNedir = class
function TBasiKesilmisKendisiAcabaNedir.AsString:string;
:lol: :lol:
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Csharp dan Delphi ye

Mesaj gönderen Ertugrul »

DelphiNV yazdı:Kodun Tamamı Bu binaryreader csharp ta sanırım bir fonksiyon yada procedur Stream olarak okumak yazmak için olabilir...
BinaryReader stream gibi bir obje evet fakat bu kod nerede kullaniliyor? Asagidaki gibi bir kullanimi olacak

Kod: Tümünü seç

BinaryReader br=new BinaryReader(asilGerekenKisimBurasi);
DeviceDataHeader ddh=DeviceDataInterface.ReadHeader(br);
DelphiNV
Üye
Mesajlar: 54
Kayıt: 28 Oca 2005 03:15
Konum: Bursa

Re: Csharp dan Delphi ye

Mesaj gönderen DelphiNV »

Merhaba;

Bo kod UDP üzerinden veri okuma ve veri yazmak için kullanılıyor.... Tüm kodları Özel mesaj olarak attım.

Teşekkürler
Cevapla