unit tanimlamalar;

interface

  procedure LoadDBStructure;

var
  HelpMessages: Array[1..9] of string = (
  'Bilgilerin alınacağı klasörü ve sunucuya göndermek istediğiniz eğitim öğretim dönemini belirleyin.',
  'Sunucuya gönderilecek tabloları belirleyin.',
  'Yükleme sürecinin tümünü bu ekrandan izleyebilirsiniz.',
  'e-Okul Güncelleyici ayarları. Sunucu bilgilerini "okoca@textzone.net" adresi ile iletişim kurarak edinebilirsiniz.',
  'Yükleme işlemi tamanlandı, sonuçlar aşağıdaki gibidir.',
  'Program hakkında bilgiler.',
  'B. Karma Veri tabanı biçimi, e-Okul Güncelleyicinin bu sürümü tarafından desteklenmiyor. Lütfen yardım dosyalarını ve e-Okul internet sitesini inceleyiniz.',
  'Sunucu ile bağlantı kurulamadı! İnternet bağlantınızı kontrol edin. Daha fazla bilgi için yardım dosyalarına ve e-Okul internet sitesine bakabilirsiniz',
  'e-Okul Güncelleyici de öngörülemeyen ve istenmeyen bir durum oluştu.'+#13+#10+'Ayrıntılı bilgi için .log dosyasina bakınız.'+#13+#10+'Bu tür durumlarda daha fazla bilgi almak için '+#13+#10+'yardım dökümanlarını okumanız tavsiye edilir.'
  );

const
  FieldCount = 83;

type
  TablesAndFieldsType = Array[1..FieldCount, 1..4] of string;

var
  TablesAndFields: TablesAndFieldsType;

  // B. KARMA 5.0 VERİ TABANI YAPISI
  TAF_v500: TablesAndFieldsType = (

  ('OgrenciGenel', 'Profile', 'Ogr_Numarasi', 				'SchoolNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Soyadi', 				'Surname'),
  ('OgrenciGenel', 'Profile', 'Ogr_Adi', 					'Name'),
  ('OgrenciGenel', 'Profile', 'Ogr_Sinif', 					'ClassCode'),
  ('OgrenciGenel', 'Profile', 'Ogr_Secmeli_Ders', 			'SelectiveLesson'),
  ('OgrenciGenel', 'Profile', 'Ogr_YabanciDil', 			'ForeignLanguage'),
  ('OgrenciGenel', 'Profile', 'Ogr_Kayit_Tarih', 			'RegistrationDate'),
  ('OgrenciGenel', 'Profile', 'Ogr_Adres', 					'Address'),
  ('OgrenciGenel', 'Profile', 'Ogr_Telefon', 				'Telephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Soyadi', 			'ParentsSurname'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Adi', 				'ParentsName'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Yakinlik', 			'ParentsKinship'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Isi', 				'ParentsJob'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Ev_Adresi', 		'ParentsHomeAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Ev_Telefon', 		'ParentsHomeTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Is_Adresi', 		'ParentsWorkAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Is_Telefon', 		'ParentsWorkTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Geldigi_Okul', 			'PreviousSchool'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Baba_Adi', 		'FatherName'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Ana_Adi', 			'MotherName'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Dogum_Yeri', 		'BirthPlace'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Dogum_Tarih', 		'BirthDate'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Ili', 				'City'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Ilce', 			'Town'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Mahalle_Koy', 		'Quarter'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Cilt', 			'VolumeNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Sira_No', 			'RowNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Aile_Sira_No', 	'FamilyRowNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Verildigi_Nufus', 	'RegistryOfBirths'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Verilis_Nedeni', 	'ReasonOfRequest'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Kayit_No', 		'RecordNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Cuzdan_Seri_No', 	'IdentiyCardSerialNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Veris_Tarihi', 	'RequestDate'),
  ('OgrenciGenel', 'Profile', 'Ogr_Egitsel_Kol', 			'EducationalBranch'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Ev_Adresi', 		'FatherHomeAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Ev_Telefon', 		'FatherHomeTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Is_Adresi', 		'FatherWorkAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Is_Telefon', 		'FatherWorkTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Cep_Telefon', 		'FatherGSMTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Ev_Adresi', 		'MotherHomeAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Ev_Telefon', 		'MotherHomeTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Is_Adresi', 		'MotherWorkAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Is_Telefon', 		'MotherWorkTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Cep_Telefon', 		'MotherGSMTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Bolumu', 				'Departmant'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Meslek', 			'FatherJob'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Meslek', 			'MotherJob'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Uyrugu', 			'Origin'),
  ('OgrenciGenel', 'Profile', 'Ogr_Askerlik_Subesi', 		'MilitaryOffice'),
  ('OgrenciGenel', 'Profile', 'Ogr_Seviye', 				'Level'),
  ('OgrenciGenel', 'Profile', 'Ogr_Sifre', 					'Password'),
  
  //******************************************************************************//
  
  ('Dershavuz', 'LessonsSpool', 'DH_Derskod', 			'LessonCode'),
  ('Dershavuz', 'LessonsSpool', 'DH_Dersadi', 			'LessonName'),
  ('Dershavuz', 'LessonsSpool', 'DH_Haftasaat', 		'LessonPeriod'),
  ('Dershavuz', 'LessonsSpool', 'DH_Alan_Bolum_Dersi', 	'DepartmentLesson'),

  //******************************************************************************//

  ('devamsizliklar', 'Continuity', 'D_Ogr_Numarasi', 'SchoolNumber'),
  ('devamsizliklar', 'Continuity', 'D_Sabah', 		 'AM'),
  ('devamsizliklar', 'Continuity', 'D_Ogle', 		 'PM'),

  //******************************************************************************//

  ('Notlar', 'Grades', 'N_Ogr_Numarasi', 	'SchoolNumber'),
  ('Notlar', 'Grades', 'N_Derskodu', 		'LessonCode'),
  ('Notlar', 'Grades', 'N_Ders_Sira', 		'LessonRowNumber'),
  ('Notlar', 'Grades', 'N_Donem1_Not', 		'Semester1Grade'),
  ('Notlar', 'Grades', 'N_Donem2_Not', 		'Semester2Grade'),
  ('Notlar', 'Grades', 'N_Som1_Yazili', 	'Semester1WrittenGrade'),
  ('Notlar', 'Grades', 'N_Som1_Sozlu', 		'Semester1OralGrade'),
  ('Notlar', 'Grades', 'N_Som1_Odev', 		'Semester1Homework'),
  ('Notlar', 'Grades', 'N_Som2_Yazili', 	'Semester2WrittenGrade'),
  ('Notlar', 'Grades', 'N_Som2_Sozlu', 		'Semester2OralGrade'),
  ('Notlar', 'Grades', 'N_Som2_Odev', 		'Semester2Homework'),
  ('Notlar', 'Grades', 'N_Som1_Onay', 		'Semester1Approval'),
  ('Notlar', 'Grades', 'N_Som2_Onay', 		'Semester2Approval'),

  //******************************************************************************//

  ('Siniflar', 'Classes', 'S_Sinifkod', 		'ClassCode'),
  ('Siniflar', 'Classes', 'S_Sinif_Ogretmeni', 	'ResponsibleTeacher'),
  ('Siniflar', 'Classes', 'S_Mudur_Yardimcisi', 'DirectorAssistant'),
  ('Siniflar', 'Classes', 'S_Unvan', 			'xxx'),
  ('Siniflar', 'Classes', 'S_Seviye', 			'Level'),
  ('Siniflar', 'Classes', 'S_Haftalik_Saat', 	'LessonPeriod'),

  //******************************************************************************//

  ('sinifdersleri', 'ClassLessons', 'Sd_Derskod', 				'LessonCode'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Dersadi', 				'LessonName'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Haftalik_Derssaati', 	'LessonPeriod'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Sinifkod', 				'ClassCode'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Ders_Ogretmeni', 		'Teacher'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Sira', 					'RowNumber'));

  //----------------------------------------------------------------------------
  //----------------------------------------------------------------------------
  // B. KARMA 5.1 VERİ TABANI YAPISI
  //----------------------------------------------------------------------------
  //----------------------------------------------------------------------------
  TAF_v510: TablesAndFieldsType = (

  ('OgrenciGenel', 'Profile', 'Ogr_Numarasi', 				'SchoolNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Soyadi', 				'Surname'),
  ('OgrenciGenel', 'Profile', 'Ogr_Adi', 					'Name'),
  ('OgrenciGenel', 'Profile', 'Ogr_Sinif', 					'ClassCode'),
  ('OgrenciGenel', 'Profile', 'Ogr_Secmeli_Ders', 			'SelectiveLesson'),
  ('OgrenciGenel', 'Profile', 'Ogr_YabanciDil', 			'ForeignLanguage'),
  ('OgrenciGenel', 'Profile', 'Ogr_Kayit_Tarih', 			'RegistrationDate'),
  ('OgrenciGenel', 'Profile', 'Ogr_Adres', 					'Address'),
  ('OgrenciGenel', 'Profile', 'Ogr_Telefon', 				'Telephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Soyadi', 			'ParentsSurname'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Adi', 				'ParentsName'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Yakinlik', 			'ParentsKinship'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Isi', 				'ParentsJob'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Ev_Adresi', 		'ParentsHomeAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Ev_Telefon', 		'ParentsHomeTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Is_Adresi', 		'ParentsWorkAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Veli_Is_Telefon', 		'ParentsWorkTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Geldigi_Okul', 			'PreviousSchool'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Baba_Adi', 		'FatherName'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Ana_Adi', 			'MotherName'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Dogum_Yeri', 		'BirthPlace'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Dogum_Tarih', 		'BirthDate'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Ili', 				'City'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Ilce', 			'Town'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Mahalle_Koy', 		'Quarter'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Cilt', 			'VolumeNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Sira_No', 			'RowNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Aile_Sira_No', 	'FamilyRowNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Verildigi_Nufus', 	'RegistryOfBirths'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Verilis_Nedeni', 	'ReasonOfRequest'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Kayit_No', 		'RecordNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Cuzdan_Seri_No', 	'IdentiyCardSerialNumber'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Veris_Tarihi', 	'RequestDate'),
  ('OgrenciGenel', 'Profile', 'Ogr_Egitsel_Kol', 			'EducationalBranch'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Ev_Adresi', 		'FatherHomeAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Ev_Telefon', 		'FatherHomeTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Is_Adresi', 		'FatherWorkAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Is_Telefon', 		'FatherWorkTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Cep_Telefon', 		'FatherGSMTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Ev_Adresi', 		'MotherHomeAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Ev_Telefon', 		'MotherHomeTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Is_Adresi', 		'MotherWorkAddress'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Is_Telefon', 		'MotherWorkTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Cep_Telefon', 		'MotherGSMTelephone'),
  ('OgrenciGenel', 'Profile', 'Ogr_Bolumu', 				'Departmant'),
  ('OgrenciGenel', 'Profile', 'Ogr_Baba_Meslek', 			'FatherJob'),
  ('OgrenciGenel', 'Profile', 'Ogr_Anne_Meslek', 			'MotherJob'),
  ('OgrenciGenel', 'Profile', 'Ogr_Nufus_Uyrugu', 			'Origin'),
  ('OgrenciGenel', 'Profile', 'Ogr_Askerlik_Subesi', 		'MilitaryOffice'),
  ('OgrenciGenel', 'Profile', 'Ogr_Seviye', 				'Level'),
  ('OgrenciGenel', 'Profile', 'Ogr_Sifre', 					'Password'),
  
  //******************************************************************************//
  
  ('Dershavuz', 'LessonsSpool', 'DH_Derskod', 			'LessonCode'),
  ('Dershavuz', 'LessonsSpool', 'DH_Dersadi', 			'LessonName'),
  ('Dershavuz', 'LessonsSpool', 'DH_Haftasaat', 		'LessonPeriod'),
  ('Dershavuz', 'LessonsSpool', 'DH_Alan_Bolum_Dersi', 	'DepartmentLesson'),

  //******************************************************************************//

  ('devamsizliklar', 'Continuity', 'D_Ogr_Numarasi', 'SchoolNumber'),
  ('devamsizliklar', 'Continuity', 'D_Sabah', 		 'AM'),
  ('devamsizliklar', 'Continuity', 'D_Ogle', 		 'PM'),

  //******************************************************************************//

  ('OgrenciNotlar', 'Grades', 'N_Ogr_Numarasi', 	'SchoolNumber'),
  ('OgrenciNotlar', 'Grades', 'N_Derskodu', 		'LessonCode'),
  ('OgrenciNotlar', 'Grades', 'N_Ders_Sira', 		'LessonRowNumber'),
  ('OgrenciNotlar', 'Grades', 'N_Donem1_Not', 		'Semester1Grade'),
  ('OgrenciNotlar', 'Grades', 'N_Donem2_Not', 		'Semester2Grade'),
  ('OgrenciNotlar', 'Grades', 'N_Som1_Yazili', 	'Semester1WrittenGrade'),
  ('OgrenciNotlar', 'Grades', 'N_Som1_Sozlu', 		'Semester1OralGrade'),
  ('OgrenciNotlar', 'Grades', 'N_Som1_Odev', 		'Semester1Homework'),
  ('OgrenciNotlar', 'Grades', 'N_Som2_Yazili', 	'Semester2WrittenGrade'),
  ('OgrenciNotlar', 'Grades', 'N_Som2_Sozlu', 		'Semester2OralGrade'),
  ('OgrenciNotlar', 'Grades', 'N_Som2_Odev', 		'Semester2Homework'),
  ('OgrenciNotlar', 'Grades', 'N_Som1_Onay', 		'Semester1Approval'),
  ('OgrenciNotlar', 'Grades', 'N_Som2_Onay', 		'Semester2Approval'),

  //******************************************************************************//

  ('Siniflar', 'Classes', 'S_Sinifkod', 		'ClassCode'),
  ('Siniflar', 'Classes', 'S_Sinif_Ogretmeni', 	'ResponsibleTeacher'),
  ('Siniflar', 'Classes', 'S_Mudur_Yardimcisi', 'DirectorAssistant'),
  ('Siniflar', 'Classes', 'S_Unvan', 			'xxx'),
  ('Siniflar', 'Classes', 'S_Seviye', 			'Level'),
  ('Siniflar', 'Classes', 'S_Haftalik_Saat', 	'LessonPeriod'),

  //******************************************************************************//

  ('sinifdersleri', 'ClassLessons', 'Sd_Derskod', 				'LessonCode'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Dersadi', 				'LessonName'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Haftalik_Derssaati', 	'LessonPeriod'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Sinifkod', 				'ClassCode'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Ders_Ogretmeni', 		'Teacher'),
  ('sinifdersleri', 'ClassLessons', 'Sd_Sira', 					'RowNumber'));

implementation

uses ana_unite, sysutils;

procedure LoadDBStructure;
var Version: integer;
begin
  Version := StrToInt(GetKarmaVersion);
  if Version <= 500 then TablesAndFields := TAF_v500
  else if Version <= 514 then TablesAndFields := TAF_v510;
end;

end.
 