APDComPort ile porta bilgi yazma ve okuma...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
tolgaozb
Üye
Mesajlar: 70
Kayıt: 26 Ara 2003 12:22
Konum: Karşıyaka
İletişim:

APDComPort ile porta bilgi yazma ve okuma...

Mesaj gönderen tolgaozb »

Selamlar arkadaşlar
Buna benzer konu çok geçti ancak net cevabı bulamadım eğer var ise şimdiden özür dilerim.
Elimde bir Mifare okuyucu ve çalışma mantığı hakkında çok kısıtlı bilgi var.
ComPort'dan haberleşiyor.Tek bildiğimi kart okuma moduna geçmesi için comporttan gönderilmesi gereken bilgi :
TX > FF00 01 82 83
okuma moduna başarılı şekilde geçerse vereceği cevap RX <FF 00 02 82 4C D0
doğru ise vereceği kart numarası RX <FF 00 06 82 02 EC 15 BF 14 5E şeklinde ...

Bunlar hex ifadeler diye tahmin ediyorum.Ancak APDComport bileşenleri ile bu işlemi nasıl yapacağımı bir türlü çözemedim.
Acil çözüm bulmam gerek.Kod örneği ile bilgi verebilecek bir arkadaş varmıdır ?
Şimdiden teşekkürler
T.Tolga Özbaltalar - http://www.veridizayn.com
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: APDComPort ile porta bilgi yazma ve okuma...

Mesaj gönderen adelphiforumz »

dün forumda benzer bir örnek yapıp göndermiştim.
bu linkteki örnek okuma yapıyor
http://rapidshare.com/files/279863356/ComportTest.zip

göndermek istediğin datayı
ADPComport.Output := "TEST";
seklinde yazman yeterli
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
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Re: APDComPort ile porta bilgi yazma ve okuma...

Mesaj gönderen ASE »

Rapid gidince örnekte gitmiş oldu. Yıllar olmuş ama bu arkadaş hala buralardaysa örneği tekrar yükleyebilir mi acaba.
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


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

Re: APDComPort ile porta bilgi yazma ve okuma...

Mesaj gönderen adelphiforumz »

Link verecek biryer bulamadım bende source olarak ekledim
işinizi görür umarım

PAS

Kod: Tümünü seç

unit UComTest;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, AdPacket, OoMisc, AdPort, ExtCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    BtnBasla: TButton;
    ACP: TApdComPort;
    ADP: TApdDataPacket;
    CBBaudRate: TComboBox;
    Label1: TLabel;
    BtnDur: TButton;
    RGIslemSonu: TRadioGroup;
    BtnTemizle: TButton;
    procedure BtnBaslaClick(Sender: TObject);
    procedure BtnDurClick(Sender: TObject);
    procedure RGIslemSonuClick(Sender: TObject);
    procedure CBBaudRateChange(Sender: TObject);
    procedure BtnTemizleClick(Sender: TObject);
    procedure ADPTimeout(Sender: TObject);
    procedure ADPStringPacket(Sender: TObject; Data: string);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ADPStringPacket(Sender: TObject; Data: string);
begin
  Memo1.Lines.Insert(0, Data);
end;

procedure TForm1.ADPTimeout(Sender: TObject);
begin
  ACP.Open := False;
  ACP.Open := True;
end;

procedure TForm1.BtnBaslaClick(Sender: TObject);
begin
  ACP.Open := True;
  BtnBasla.Enabled := Not(BtnBasla.Enabled);
  BtnDur.Enabled   := Not(BtnDur.Enabled);
end;

procedure TForm1.BtnDurClick(Sender: TObject);
begin
  ACP.Open := False;
  BtnBasla.Enabled := Not(BtnBasla.Enabled);
  BtnDur.Enabled   := Not(BtnDur.Enabled);
end;

procedure TForm1.BtnTemizleClick(Sender: TObject);
begin
  Memo1.Lines.Clear;
end;

procedure TForm1.CBBaudRateChange(Sender: TObject);
begin
  ACP.Open := False;
  BtnBasla.Enabled := True;
  BtnDur.Enabled   := False;
  ACP.Baud := StrToInt(CBBaudRate.Text);
end;

procedure TForm1.RGIslemSonuClick(Sender: TObject);
begin
  ACP.Open := False;
  BtnBasla.Enabled := True;
  BtnDur.Enabled   := False;
  case RGIslemSonu.ItemIndex of
    0 : ADP.EndString := #13;
    1 : ADP.EndString := #10;
    2 : ADP.EndString := #13 + #10;
    3 : ADP.EndString := #10 + #13;
  end;
end;

end.
DFM

Kod: Tümünü seç

object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Comport Test'
  ClientHeight = 347
  ClientWidth = 484
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poScreenCenter
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 4
    Top = 14
    Width = 47
    Height = 13
    Caption = 'BaudRate'
  end
  object Memo1: TMemo
    Left = 150
    Top = 36
    Width = 334
    Height = 303
    TabOrder = 0
  end
  object BtnBasla: TButton
    Left = 8
    Top = 186
    Width = 75
    Height = 25
    Caption = 'Ba'#351'lat'
    TabOrder = 1
    OnClick = BtnBaslaClick
  end
  object CBBaudRate: TComboBox
    Left = 57
    Top = 11
    Width = 60
    Height = 21
    ItemHeight = 13
    ItemIndex = 0
    TabOrder = 2
    Text = '9600'
    OnChange = CBBaudRateChange
    Items.Strings = (
      '9600'
      '19200'
      '38400'
      '57600'
      '115200')
  end
  object BtnDur: TButton
    Left = 8
    Top = 217
    Width = 75
    Height = 25
    Caption = 'Dur'
    Enabled = False
    TabOrder = 3
    OnClick = BtnDurClick
  end
  object RGIslemSonu: TRadioGroup
    Left = 4
    Top = 38
    Width = 135
    Height = 137
    Caption = #304#351'lem Sonu Karakteri'
    ItemIndex = 2
    Items.Strings = (
      'CR (#13)'
      'LF (#10)'
      'CR+LF (#13 + #10)'
      'LF+CR (#10 + #13)')
    TabOrder = 4
    OnClick = RGIslemSonuClick
  end
  object BtnTemizle: TButton
    Left = 150
    Top = 8
    Width = 334
    Height = 25
    Caption = 'Listeyi Temizle'
    TabOrder = 5
    OnClick = BtnTemizleClick
  end
  object ACP: TApdComPort
    Baud = 9600
    TraceName = 'APRO.TRC'
    LogName = 'APRO.LOG'
    Left = 28
    Top = 294
  end
  object ADP: TApdDataPacket
    Enabled = True
    StartCond = scAnyData
    EndCond = [ecString]
    EndString = #13#10
    ComPort = ACP
    PacketSize = 1
    TimeOut = 0
    OnStringPacket = ADPStringPacket
    OnTimeout = ADPTimeout
    Left = 82
    Top = 294
  end
end
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
Cevapla