https://www.youtube.com/watch?v=YYAEDqlW8oo&t=1881s

DataSnap JsonReflect Nedir?

Veri alışverişini Json datasetler üzerinden yapmamızı sağlayan sistem. Bize veri alışverişinin başka uygulamalar tarafından da okunabilir olmasını karşı tarafa Json gönderdiğimiz için bunu başka bir uygulamada açma avantajını sağlar.

Sunucumuzu açarak başlayalım. File >New >Others >açılan ekranda >DataSnap açıyoruz>DataSnap REST Application>Windows>Stand- alone GUI application>VCL application> test porta tıklayarak boş olup olmadığını kontrol ediyoruz> Mobile Connectors – Server Module – Simplified Dispatcher seçiyoruz> TDSServerModule > Kayıt yerimizi seçiyoruz>Finish.Delphi bizim için DataSnapREST sunucusu oluşturdu Çalıştırdığımızda start’a tıkladığımızda artık web browser’da kontrol edebileceğimiz bir uygulamamız var. Projeyi kaydedelim. FormUnit1.pas→UMainSrv , diğerlerini aynı isimleriyle kaydediyoruz. ServerMethodsUnıt1> Palette> FDConnection – FDQuery -FDGUIxWaitCursor- FDStanStorageBinLink. FDConnection’a çift tıklayarak Database’imizi seçiyoruz. FDQuery’e çift tıklayarak tablomuzun içini dolduruyoruz. select * from cari >execute alt kısımda tablomuzun geldiğini görüyoruz. FDQuery >properties> Login prompt >False > FDQuery >Name→qCari. Kod kısmına gidiyoruz.


procedure TServerMethods1.DSServerModuleDestory(Sender : TObject);
begin
FDConnection1.Close;
end;

Artık FireDAC işlemlerine başlayabiliriz. Uses kısmına →Data.FireDACJSONReflect ekliyoruz. Public kısmına bir adet function yazıyoruz →function CariListele : TFDJSONDataSets. Shift +Ctrl +C ile kod satırına gidiyoruz. Yazacağımız kod JsonDataSetten ve firedac queryden gelen veriyi alıcak JsonDatSet’e çevirip result olarak karşı tarafa verecek.


function TServerMethods1.CariListele:TFDJSONDataSets;
begin
  qCari.Active :=False;
  Result :=TFDJSONDataSetsWriter.ListAdd(Result,’cari’,qCari);
end;

Çalıştırıyoruz >start open browser > Server Function >TServerMethods1 >CariListele >execute. JsonDataSet olarak result’ımız dönmüş oluyor. Fazladan veriler göreceksiniz dataset olduğu için bazı eklemeler çıkartmalar yapması gerekiyor. JsonDataSet modunda döndüğü için siz bu veriyi sisteme bu şekilde kurarsanız paylaştığınızda karşı taraftaki kişi bunu parse ettiği zaman okuyabilir olması lazım.

Bir tane daha function oluşturalım. Bu seferde sunucudan bir bilgi çektik birde karşı tarafa yazmamız gerekebilir bunu update fonksiyonu ile yapıyoruz. Public’in altına funtionumuzu yazalım→ function CariGuncelle(list:TFDJSONDeltas): Boolean. Shift + Ctrl +C ile otomatik açılan satırlarda kodumuzu yazmaya başlayabiliriz.


function TServerMethods1.CariGuncelle(List:TFDJSONDeltas): Boolean;
var
  apply: IFDJSONDeltasApply
begin
  Result:=False;
  apply:= TFDJSONDeltasApplyUpdates.Create(List);
  apply.ApplyUpdates(‘cari’, qCari.Command);
  if apply.Errors.Create.Count >0 then
    raise Exception.Create(apply.Errors.Strings.Text);
    Result:= True;
end;

Sunucu kısmında yapacağımız işlemler bu kadar. Client tarafını yazarken sunucunun mutlaka çalışıyor olması gerekiyor. Uygulamamızı çalıştıralım ve client tarafını yazmaya başlayabiliriz. ProjectGroup1’e sağ tuş> add new project > Delphi > Multi Device Application >Blank Application. Uygulamamızı kaydediyoruz. Yeni klasör ekliyoruz→clnt, Unit2.pas→uMainClnt, Project1.dproj→JsonReflectClnt, ProjectGroup1.grouproj→pgjsonReflect şeklinde isimlendirerek kaydediyoruz. Client Module ekleyeceğiz. File >New >Others >DataSnap REST> Client Module →bunu eklerken server uygulaması açık olmalı. Açılan ekranda Local Server>Next >değişiklik yapmadan next >Test Connection >bağlantı başarılı ise finish. DataSnapServer ile kolay haberleşebilmemiz için delphi bizim için ekledi bunu da kaydediyoruz. Use unit ile clientmodule’i ekliyoruz. ClientModuleUnit2’ye >Palette >FDMemtable – FDStanStorageBinLink – FDGUIxWaitCursor ekliyoruz. uMainClnt kısmına >palette >Toolbar- Grid -BindNavigator ekliyoruz. BindNavigator >align >bottom. Grid>align >client. Live Bindings Designerdan Grid ile MemTable’ı ve sonrada Navigator’ü bağlıyoruz. Kod kısmına geçiyoruz. Uses kısmına→ data.FireDACJSONReflect; yazıyoruz. ClientModuleUnit2 kısmının uses kısmınada →data.FireDACJSONReflect; yazıyoruz.ClientModuleUnit2 de FDMemtable >name →memCari. Public kısmına →function CariAl: Boolean; Shift + Ctrl + C ile kod kısmına iniyoruz.


function TClientModule2.CariAl : Boolean,
begin
  var
  list:TFDJSONDataSets
  memCari.Close;
  list:ServerMethods1.Client.CariListele();
  memCari.AppendData(TFDJSONDataSetsReader.GetListValueByName(list,‘cari’));
  memCari.CachedUpdates:=True;
  memCari.Open;
end;

uMainClnt’e arayüz için eklemeler yapacağız. Toolbar’ın içine Palette > Button >name →btnCariListele >text →Cari Listele – align>left. Buttona çift tıklıyoruz.


procedure TForm2.btnCariListeleClick (Sender : TObject);
begin
  ClientModule2.CariAl;
end;
end.

Çalıştırıyoruz CariListele butonuna tıklıyoruz ve verileri görüyoruz. Palette>Button ekliyoruz. Button >align >right. Public kısmına function oluşturuyoruz →function CariGuncelle; Shift +Ctrl +C ile kod satırına iniyoruz.


procedure  Tform2.CariGuncelle ;
var
  deltas:TFDJSONDeltas;
begin
  try
  ClientModule2.memCari.Post;
  except
  end;
  deltas:= TFDJSONDeltasWriter.ListAdd(deltas,’cari’, ClientModule2.memCari);
  ClientModule2.ServerMethods1Client.CariGuncelle(deltas);
  ClientModule2.CariAL;
  end;
end.

Button1 >name →btmGuncelle(oluşturduğumuz fonksiyonu buradan çağırıyoruz.) Çift tıklıyoruz.


procedure TForm2.btnGuncelleClick(Sender:TObject);
begin
  CariGuncelle;
end;

Çalıştırıyoruz, Cari Listele butonuna tıklıyoruz veriler geliyor. Navigatorden ekleme(+) yapıyoruz btnGuncelle ile gönderiyoruz karşıya. Uygulamayı kapatıp açıyoruz eklediğimiz kaydın geldiğini görüyoruz.

Cam ++

CAM++

CNC Tezgahlara Program Yazan Program.

CAM++ Nedir?

CAM++, makine üreticisi firmaların, kendi ihtiyaçlarına göre özelleştirilmiş CAM (Computer-Aided Manufacturing) programlarını parametrik olarak oluşturabilecekleri gelişmiş bir yazılım geliştirme ortamıdır. Bu , firmaların üretim süreçlerini optimize etmelerine, verimliliklerini artırmalarına ve pazardaki rekabet güçlerini yükseltmelerine yardımcı olur. CAM++ ile, üretim alanında esneklik kazanırken, iş akışlarınızı hızlandırabilir ve kaynakları daha etkin kullanabilirsiniz.

Özellikler

Kapsamlı API Desteği

CAM++ , CAD/CAM süreçlerinizi basitleştiren geniş kapsamlı API desteği sunar. Karmaşık geometrik hesaplamalar, 3D modelleme ve hassas üretim verileri işleme gibi ihtiyaçlarınıza tam çözüm sunar.

Kolay Entegrasyon

CAM++ , mevcut sistemlerinize hızlı ve verimli bir şekilde entegre edilebilir. Özellikle iş akışınıza tam uyum sağlayarak üretkenliğinizi artırmak için tasarlandı.

Hassas Üretim Kontrolü

CAM++ , CNC makinelerinizin hassas kontrolünü sağlar. Gerçek zamanlı veri işleme ve programlama ile üretim süreçlerinizi hatasız yönetebilirsiniz.

Kimler İçin?

Makine Üreticileri

Kendi makineleri için özelleştirilmiş CAM programları geliştirmek isteyen makine üreticileri, CAM++ ile parametrik ve esnek çözümler oluşturabilirler.

CNC Tezgah Operatörleri

CAM++ , farklı üretim senaryoları için hızlı ve esnek çözümler oluşturmak isteyen CNC tezgah operatörlerine yönelik ideal bir araçtır.

Endüstriyel Otomasyon Firmaları

Üretim süreçlerini optimize etmek ve verimliliği artırmak isteyen endüstriyel otomasyon firmaları, CAM++ ile üretim hatlarında esnek ve özelleştirilebilir çözümler geliştirir.

Neden CAM++?

CNC Üniteniz ile Entegre Çalışan CAM Çözümleri

CAM++ size CNC tezgahınıza özel, ünitenizin içerisinde entegre çalışan güçlü bir CAM yazılımı sunar. Bu sayede, dış yazılımlarla vakit kaybetmeden CAD ve CAM işlemlerini tek bir ortamda yapabilirsiniz.

Zamandan Kazanın, Verimliliğinizi Artırın

CAM++ ile tüm CAD/CAM işlemlerinizi aynı platformda yaparak, iş süreçlerinizi hızlandırır ve zaman tasarrufu sağlarsınız. Bu, iş verimliliğinizi önemli ölçüde artırırken, üretim hattınızdaki duraksamaları minimuma indirir.

Kolay Kullanım ve Parametrik Ekranlarla Esneklik

Kullanıcı dostu arayüzler ve parametrik ekranlar sayesinde CAM++ kullanımı son derece kolaydır. Bu özellikler, farklı üretim senaryolarına hızlıca uyum sağlamanızı ve ihtiyacınıza göre özelleştirilmiş çözümler geliştirmenizi mümkün kılar.

Rekabette Bir Adım Önde Olun

CAM++’ın sağladığı verimlilik, hız ve esneklik avantajlarıyla rakiplerinizin önüne geçin. Üretim maliyetlerinizi düşürürken, iş gücü ve zaman yönetiminizi optimize edin.

Firma Bilgileri


Camart Araştırma Geliştirme Yazılım Otomasyon San. Tic.Ltd. Şti.

Mersis no : 3356 7133 6775 9746

info@camartarge.com

Vergi Dairse / no : Pamukkale v.d. 196 074 62 30

Tel : +90 850 333 80 20

İban (TL): TR30 0020 5000 0085 3809 5000 03

Arge :

Pamukkale Üniversitesi teknoloji geliştirme bölgesi (Teknokent)

Kınıklı mah. Hüsseyin yılmaz cad. no 67

idari bina d blok no g05 Pamukkale / Denizli

İban (USD):TR03 0020 5000 0085 3809 5001 01


Barbaros Mah. Halk Cad. No 47 / 2 34746 Ataşehir İstanbul

İban (Euro):TR73 0020 5000 0085 3809 5001 02

 
Harita verileri ©2015 Google

İletişim

Facebook Pinterest Twitter Google+ Dribbble