Database Yapısı
MyeDB.DLL
Şimdilik, v15'de MyeDB.DLL yalnızca 9000 serisi ürünleri desteklemektedir.
MyeDB.DLL, myeMain ActiveX Class'ını içeren DLL'dir. Bu class
- function ImportASCII(iTableNo: Integer; iParamNo: Integer; const sFileName: WideString): SYSINT; safecall;
- function ExportASCII(iTableNo: Integer; iParamNo: Integer; const sFileName: WideString): SYSINT; safecall;
- function ImportXML(const sFileName: WideString): SYSINT; safecall;
- function ExportXML(iTableNo: Integer; iParamNo: Integer; const sFileName: WideString): SYSINT; safecall;
- function LogIn(const sFirmaKodu: WideString; iCalismaYili: Integer; const sKullanici: WideString; const sSifre: WideString): SYSINT; safecall;
- function LogOff: SYSINT; safecall;
- function Get_Logged: SYSINT; safecall;
- function EvrakImportXML(const strXML: WideString; const strXSL: WideString): SYSINT; safecall;
- function ImportXML2(const sFileName: WideString; const sLogFileName: WideString): SYSINT; safecall;
- function EvrakImportXML2(const strXML: WideString; const strXSL: WideString; const strLog: WideString): SYSINT; safecall;
- procedure ValidateUser(const UserCode: WideString; const UserPass: WideString;
var Valid_fl: Shortint); safecall;
- property Logged: SYSINT read Get_Logged;
fonksiyonlarını içerir.
Bu fonksiyonların çağrılması için örnek delphi ve csharp kodlarını aşağıdan bulabilirsiniz.
myeDB_TLB.Pas
Yazacağımız projede, Uses içine myeDB_TLB eklenmelidir. Örneğin;
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,myeDB_TLB, Menus, StdCtrls, ExtCtrls, DB, ADODB,
DataCons, StrUtils, ComCtrls;
Ana formumuzun tanımında
TForm1 = class(TForm)
…….
private
procedure OnMyeMainError(Sender:TObject);
procedure ErrorMessage(ErrCode:Integer);
// diğer private tanımlarınız
public
myeObj : TmyeMain;
// diğer public tanımlarınız
end;
Formunuzun oluşturulmasında (OnCreate event)
procedure TForm1.FormCreate(Sender: TObject);
begin
myeObj:=TmyeMain.Create(Self);
myeObj.OnonError:=OnMyeMainError;
end;
ActiveX objemizi oluşturup, formu sonlandırılmasında (OnDestroy event)
procedure TForm1.FormDestroy(Sender: TObject);
begin
myeObj.Free;
end;
Objemizi sonlandırmamız mantıklı olur.
Veri üzerinde bir işlem (export ya da import ) yapılmadan önce login fonksiyonu çağırılmalıdır. Bu işlem için bir login penceresi tasarladığınızı ve ilgili alanları kullanıcıdan aldığınızı varsayıyoruz. Bu durumda, örnek login işlemi,
if myeObj.LogIn(txtFirmCode.Text,
StrToInt(txtYear.Text),
txtUserName.Text,
txtPassword.Text)<>0 then
ShowMessage('Kullanıcı sistemde');
else
ShowMessage('Bağlantı kurulamadı');
şeklinde olacaktır. Artık fonksiyonları kullanmaya hazırız.
Tüm fonksiyonlar benzer parametreler ile çalıştığından, en çok kullanılacağını sandığımız evrak import işlemi için bir örnek vereceğiz.
ErrCode:=myeObj.EvrakImportXML(XMLFileName,'');
if ErrCode<>0 then ErrorMessage(ErrCode) else ShowMessage('Evrak Import başarıldı');
Tahmin edilebileceği gibi, parametre olarak gönderilen dosya adı (XMLFileName) import etmek istediğim evrak bilgilerini içeriyor. ErrorMessage fonksiyonuda SDK içinde verilmiştir. Dönüş değerleri :
-1 : İşlem Başarısız. Tanımlanmamış Hata!
1 : Hatali Table No
2 : Hatali Parametre No
3 : Header`da Tanim (APN) dosyasi belirtilmemis
4 : Tanim dosyasi yok
5 : Import dosyasi bulunamadi yada XML Hatali
6 : Tekrarlayan Index
7 : Sirket Bulunamadi
8 : Kullanici / Sifre Hatali
9 : Firma Calisma dizini Hatali
10: Parametre Hatasi
11 : Firma Yolu Bulunamadi
12 : Firma Bilgileri Bulunamadi
13 : Export Dosyasi Yaratilamiyor
14 : Alan ismi Bulunamadi
15 : Sisteme Girilmemis
16 : Kayit yapilamadi
MYEDB_TLB kaynak kodu için Ek 1'den faydalanabilirsiniz.
Evrak XML importu için hazırlanmış 2 satırlık stok faturası örneği için Ek 2'den faydalanabilirsiniz.
FrmMain kaynak kodu için Ek 3'den faydalanabilirsiniz.
MyeDB_SDK.zip'i indirmek için tıklayınız.
MikroSDK.zip'i (c sharp) indirmek için tıklayınız.
XML evrak örneklerini indirmek için tıklayınız.
Güncellenme Tarihi : 09.08.2012 - Bu doküman ile ilgili bize yazın
©2012 Mikro Yazılımevi A.Ş. Tüm Hakları Saklıdır.