Pointer Kullanımı

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
demure
Üye
Mesajlar: 6
Kayıt: 16 Ara 2010 11:41

Pointer Kullanımı

Mesaj gönderen demure »

Merhaba arkadaşlar.
Delphi de iyi sayılmam. USB Programında yazdığım kodun bir kısmında (JEDI HID component) aşağıdaki kod yazmaktadır. Burdaki data yı integer olarak nasıl kullanabilirim. Teşkkürler

procedure TForm1.ShowRead(HidDev: TJvHidDevice; ReportID: Byte;
const Data: pointer; Size: Word);
var
I: Integer;
Str: string;
begin
for I := 0 to Size - 1 do
Str := Str + Format('%.2x ', [Cardinal(PChar(Data))]);
end;
demure
Üye
Mesajlar: 6
Kayıt: 16 Ara 2010 11:41

Re: Pointer Kullanımı

Mesaj gönderen demure »

Koskoca forumda kimse cevap yazmamış. Vakit bulamamışlardır umarım.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Pointer Kullanımı

Mesaj gönderen aslangeri »

s.a.
öncelikle aramıza hoşgeldin.
forum bir hazine, kullanmasını bilene....
kimse cevap yazmamış diye hayıflanacağınıza arama yapsanız forumda pointerlar ile ilgili güzel bilgilere ulaşabilirsiniz.
:ara pointer
viewtopic.php?f=2&t=26865&p=150361&hili ... er#p150361
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
demure
Üye
Mesajlar: 6
Kayıt: 16 Ara 2010 11:41

Re: Pointer Kullanımı

Mesaj gönderen demure »

İlgine teşekkür ederim arkadaşım. Fakat sende mesajın sadece başlığını değilde içeriğini okusaydın memnun olurdum. Verdiğin linkteki bilgiler google da hersayfada var. Burada sorduğum soru ayrı bir şey. Neyse senin ve benim bu yazdıklarımdan sonra bu sorunun anlamı kalmadı. Karşılıklı takıntılara girmek istemiyorum. Yine de teşekkür ederim.
demure
Üye
Mesajlar: 6
Kayıt: 16 Ara 2010 11:41

Re: Pointer Kullanımı

Mesaj gönderen demure »

Bu bir Jedi usb component. Orada pointer yazmakta fakat pointer olarak tanımlasam da kullanamadım. Ancak cardinal(Pchar(data)) şeklinde kullandım ve bir text de gösterebildim.
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: Pointer Kullanımı

Mesaj gönderen sabanakman »

Bilgiye dizi şeklinde zaten erişmişsiniz "Cardinal(PChar(Data))". İllaki sayısal tiple basit erişim gerekiyorsa PByteArray tipi kullanılarak Byte tipli dizi şeklinde erişebilirsiniz.

Kod: Tümünü seç

procedure TForm1.ShowRead(HidDev: TJvHidDevice; ReportID: Byte; const Data: pointer; Size: Word);
var
  I: Integer;
  Str: string;
  DataDizi:PByteArray;
begin
  DataDizi:=Data;
  for I := 0 to Size - 1 do
  //Str := Str + Format('%.2x ', [Cardinal(PChar(Data)[I])]);
    Str := Str + Format('%.2x ', [DataDizi^[i]]);  //-->DataDizi^[i]
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
demure
Üye
Mesajlar: 6
Kayıt: 16 Ara 2010 11:41

Re: Pointer Kullanımı

Mesaj gönderen demure »

might not have been initialized uyarısı verdi ama hata vermedi.. değeri 1 defa okudu. ikinci döngüde sorun oldu. Sanırım orayı çözebilirim. Çok teşekkür ederim.
demure
Üye
Mesajlar: 6
Kayıt: 16 Ara 2010 11:41

Re: Pointer Kullanımı

Mesaj gönderen demure »

Burda bir yanlışlık var benim işime yarayan i değil dolayısıyla istenilen değeri vermiyor. Data yı kullanmamız lazım. oradaki döngüde ben [Cardinal(PChar(Data)[0])] yazdığımda da istediğim değeri okuyorum. Zaten 1 byte bilgi gönderdiğim için. i sadece fazla byte lık işlemlerde kullanılıyor.
Cevapla