Elektrik Mühendisliği · Sayı 334-335 · Ağustos-Eylül 1986

BİLGİSAYAR DÜNYASI

A. Nusret Güçlü

Bilgisayar, yazılım ve internet Teknik / bilimsel makale

Yıl
1986
Sayfa
3
Okuma süresi
5 dk
Görüntülenme
0

Konu

Bilgisayar, yazılım ve internet

Anahtar kelimeler

  • dBase III
  • veri transferi
  • SuperCalc 3
  • Symphony
  • BASIC
  • PASCAL

Özet

Yazı, dBase III veri tabanı programı ile HardStar, SuperCalc 3, Symphony, BASIC ve PASCAL gibi diğer paket programlar arasında veri aktarımının nasıl yapılacağını adım adım algoritmalar ve örnek kodlarla anlatmaktadır.

Tam metin

Metin PDF'ten otomatik çıkarılmıştır; tablo, şekil ve formüller eksik ya da hatalı olabilir. Özgün dizgi için PDF'e bakın.

ff (D

DBASE I I I ÎLE VERİ TABANI ÜZERİNE İSLEN YAPABİLEN D16ER PROGRAMLAR ARASİ VERİ TRANSFERİ

A. Nusret GüCLü Elektrik Yüksek Mühendisi

I. Bu yazıda, dBase I I I (DBASE) i l e veri tabanı üzerine değişik islet kapasitesine sahip paket progratlar arası veri transferi incelenecektir.Tranfer , iki yönlüdür:DBASE'den diğer progratlara (export), diğer programlardan DBASE'e (itport) yazı içinde HardStar (HS) k e l i » iş le t ci prograıının HailHerge (MM) opsiyonu SuperCalc 3 (SC3) ve Syıphony entegre paket programın "spread sheet" opsiyonu BASIC ve PASCAL ele alınacak, izleme kolaylığı acısından adıt adıı algoritıalar seklinde verilıis yöntealerden sözedilecektir.Y öntetler örneklenecek ve kısa progratlarla des teklenecektir.

Açıklanacak yöntetler, diğer prograt paketleri için de uygu lanabilmektedir.

ve bu adreslere uygun zarflar hazırlaaakda olasıdır.Bunun için: Sİ.«S (D) uduna girilerek, MEKTUP.«K kütüğü a ç ı l ı r . S2.Aşağıdaki Metin hazırlanır.

.OP .DF ADRES. TXT

.RV AD, FIKHA, ADRES, ŞEHİR

&adl

(adresi

Hehir&

tarih

Sayın &ad&

II. HSv e m

a.Bir DBASE rapor çıktısını HS i l e okuyup, üzerinde gerekli değişiklikleri yapabilmek için:

Sl.DBASE'de bir rapor hazırlanır. HODIFY REPDRT DOSYA *

S2.Hazırlanan rapor bir aetin kütüğüne yollanır. REPORT FORH DOSYA TO TRANSFER.TXT

S3.DBASE'dcn ç ı k ı l ı r . OJİT

NOTsDOSYA (.FRH) ve TRANSFER.TXT isteğe bağlı olarak seçile bilecek i k i f a r k l ı kütük adıdır.

S4.KS ç a ğr ılır , (D) uduna g i r i l i r . S5.DENEHE.TXT adıyla bir kütük açılarak, READ (Ctrl KR) komutuyla TRANSFER.TXT kütüğü okunur.' S6.İstenilen değişiklikler yapılarak, kütük saklanır.

CTRL KK b.DBASE'de HH formatmda bir veri tabanı oluşturmak için öncelikle AD, FİRMA, ADRES ve ŞEHİR alanlarını içeren bir DBASE kütüğü açılmış olduğu varsayılacaktır.

CREATE ADRESİ Sİ.Oluşturulan kütük kullanılır.

USE ADRESİ S2.Alanlar birbirinden " i l e ayrılnak koşuluyla, ADRESİ b i l g i l e r i başka bir kütüğe kopyalanır.

COPY TO A0RES2.TXT DELIHITED HITH • S3.Artık İ t i, ADRES2.TXT kütüğünü okuyabilir.

c. (I b) bölücünde sözü gecen ADRES2.TXT kütüğünü US ve Ki i l e kullanarak tek bir eektup teinini yüzlerce f a r k lı adrese yolluak

lıza

NOT1: (.) i l e başlayan satırlar keliıe isletciye a it k ont la r ı içerlektedir ve 1. kolondan itibaren yazılmalıdır.

NOT2:.0P sayfa nuurasını atarak yazdırır. NDT3:.DF kullanılacak kütüğü tanıtlar. N0T4:.RV tanıtlanan kütükten değişkeni okur. N0T5:l...fc değişkeni belirt ir.

«S Ana Nenü'den

S3.HN seçilir, kütük i s t i sorulduğu zatan MEKTUP.HEK girilir.

S4.ftDRES2.TXT kütüğünde kaç adres varsa o kadar tektup arka arkaya yazılacaktır.

S5.Zarf için, NS (D) »odunda ZARF.MEK kütüğü seçilerek , su satırlar girilir.

.NTO .OP .DF ADftES2.TXT

.RV AD, FtRNA, ADRES, ŞEHİR

Sayın tadl (adresit işeniri

.PA

ELEKTRİK MÜHENDİSLİĞİ — 334 / 335

NOTİÎ.HT üst tarjinin sıfır'a ayarlanmasını sağlar.

N0T2:.PA yeni bir sayfaya geçilmesini sağlayan nokta komutudur.

Si.Bastırw sırasında, ya sayfa aralarında bekleme sorusuna Y (evet) yanıtı verilerek kağıt ve zarf değiştirilir ya da otoutik kağıt besleyici (CUT SHEET FEEDER) kullanılır.

Sitdiye dek anlatılan yöntemler, nektupların bütün adreslere gönderilmesini sağlayacaktır.Eğer varolan adres kütüğünden, belirli bir koşula uyan adreslerin seçilmesi gerekiyorsa aşağıdaki isietier uygulanabilir,Bunun için, DBASE içinde olunduğu ve Mektupların yalnızca Ankara'daki adreslere gönderil mek istendiği varsayılmıştır.

S1.U5E ADRESİ S2.C0PY TO ADRES2 FOR S£H1R='Ankara' DELIMITED NITH " S3.(l b) ve (I c) deki işlevler uygulanır, d.Sindi de, daha önce IH için US (N) «odunda oluşturulmuş bir kütük (ADRE52.TXT) olduğunu düşünelim.Bu kütüğü DBASE i l e okuyup üzerinde değişiklik yapıak için aşağıdaki i s i M I eri uygulamak yeterli olacaktır.

Sİ.W için tanımlanmış olan adlar kullanılarak bir kütük oluşturulur;

CREATE ADRESİ

S2.ADRES2.TXT kütüğünün verileri okunur. APPEND FROT1 ADRES2.TXT DELIMITED

S3.Sıralamâ, seçne, vb. islenler yapılır. S4.Değistirilen kütük MM formatında saklanır.

COPY TO ADRES2.TXT DELIHITED HITH "

Il.'Spread Sheet" prograıları

Bu bölütde DBASE i l e SC3 ve SYMPHONY arasındaki veri trans feri incelenecektir.

a.SC3'ten DBASE'e veri transferi için sırasıyla su i ş İ M İ e r uygulanuhdır:

S1.SC3 yüklenir, /L i l e transfer edilecek kütük yüklenir. S2.DBASE 'in okuyabil»esi için

/ GLOBAL BORDER SEÇİLİR. S3./0, (D)isplay, range (transfer edilecek alan verilecek t i r , (D)isk seçimleriyle verilen alan içindeki veriler, diske/diskete ASCII kütük olarak saklanır.(Bu kütük HS, vb. progrular tarafından da okunabilecektir.) NOT:Kütüğün CALC3 saklandığını düşünürsek, kütük list esi istendiğinde CALC3.PRN olarak görülür. S4.SC3'den ç ı k ı l ı p DBASE yüklenir. S5.CALC3.PRN kûtûğündeki her kolona karşılık gelecek şekilde bir alan içeren DBF kütüğü oluşturulur.

CREATEBASE NOTIBASE.DBF kütüğündeki alan genişlikleri CALC3.PRN kütüğündeki kolon genislikleriyle aynı olmalıdır. S6.USEBASE S7."System Data Format" (SDF)'ma uygun olarak veriler kopyalanır.

flPPEND FROM CALC3.PRN SDF Artık SC3 kütüğü DBASE'e transfer edilmiştir.Benzeri işlemler fttltiPlan ve SYMPHONY gibi progra»lara da uygulanabilir.

b.DBASE'den SYMPHONY gibi progranlara veri transferi i cin de "deli«iter" kullanmak gereklidir.

Sl.USE BASE S2.C0PY TO TRANSFER.TXT DELIMİTED HITH "

S3.SYMPH0NY yüklenir. S4.SERVlCES'te File Inport Structured opsiyonu seçilir ve kütük adı yerine TRANSFEK.TXT g i r i l i r . S5.Artık DBASE kütüğü SYMPHONY'ye transfer edilmiştir.Bütün alanlar görülmese bile kütük oradadır.Bunun için kolon genişliklerini ayarlamak gereklidir.Bu işlemler tamamlandıktan sonra, kütüğün son sekli saklanmalıdır. SYMPHONY'den DBASE'e veri transfer işlemi, 5C3'e uygulanan yönteme benzer.DBF kütüğünün başında boş kayıt çıkarsa DELETE ve PACK kooutlarıyla s i l i n e bi l i r .

Şimdiye kadar sözü edilen TRANSFER.TXT kütüğü, aynı zamanda BASIC "sequential" kütük olarak da kullanılabilecektir.

IV. a.DBASE DBF kütüğünü BASIC'e transfer etmek i ç i n, BASIC veri kütüğünün "seouential" olduğu düşünülecektir."Random* kütükler ise önce kısa bir BASIC programıyla "sequential" kütüğe çevrilecektir.Çünkü, "random" kütükler, genellikle i k i l i , sabit uzunlukta, "undelimited", sonunda "carriage return" ya da "line feed" olmayan kayıtlardan oluştuğu için, DBASE'in bu kütükleri doğrudan okuması bir sorun yaratabilecektir.Bu bölümde DBASE<=>BASIC SEQUENTIAL<==)BASIC RANDOH kütükler arası veri transferi yapabilmek için gerekli yöntemler i l e BASIC kütükleri arasındaki transferi sağlayabilecek i k i kısa program verilecektir.

DBF kütüğünü BASIC'e transfer etmek için: Sl.USE BASE S2.COPY TO SESUENTL.DAT DELIMITED KITH "

BASIC'den DBF'e transfer etmek için:

Sl.CREATE BASE

NOT:Alanlar ve uzunluklar BASIC kütüğündeki alanlar ve uzunluklar i l e uyumlu olmalıdır.

S2.APPEND FROM SE9UENTL.DAT DELIMITED BASIC kütükleri arası transfer i ç i n , önce "random" kütüğü "sequential" kütüğe çevirecek programı verelim;

10 ÖPEN, "R", 1, "RANDOM.DAT", UZUNLUK 20 FIELO 1, UZUNLUKİ AS Al , UZUNLUK2 AS ALAN2 , ... 30 ÖPEN " 0 " , 2, "SEOUENTİAL.DAT" 40 FOR KAY ITLI TO SONKAYIT 50 Al =ALAN1 ;A2 =ALAN2 :... 60HR1TE 2, Al , A2 , ... 70 NEXT 60CL0SE:END

'seauentiaT kütüğü "randoı1 kütüğe transfer etıek için ise su prograı yeterli olacaktır:

10 ÖPEN "R", 1, 'RANDOH.DAT", UZUNLUK 20 FIELD 1, UZUNLUKİ AS Al , UZUNLUK2 AS A2 30 ÖPEN "0", 2, "SEQUENTL.DAT"

40 FTJR KAYITM TO SONKAYIT 50 IF EOFtf) TNEN 100 60 »PUT 2 Al , A2 70 LSET ALANİ =al :LSET ALAN2 «A2 80 PUT 1, KAYIR 90NHT

100 CLOSEtEND

Bu programlarda UZUNLUK ve ALANlar kullanıl atacına göre tanın lanıp, değiştirilecektir.Ayrıca, SONKAYIT değişkemde kullanıcı tarafından bilinıelidir.

BASIC'de kütük acu, okuıa ve yazıa işİMİeri için kullanıl kılavuzlarına bakılmalıdır.

V. Son olarak, DBASE ve PASCAL arası veri transferi incelenecek tir. Bunun için, okuyucunun DBASE ile prograı yazıayı bildiği varsayılmıştır. ADRSEİ.DBF tütüğündeki bilgilerin PASC.DAT kütüğüne aktarılıasını sağlaıak için, ünce aşağıdaki prograı koşulıalıdır.

SELECT1 USE ADRESİ SELECT2 USEPASC.DAT SELECT 1 DO MHILE .NOT. EOF O

SELECT 2 APPENDBLANK STORE TRIH(AD)+', '+...+TRIHITEU TO KAYIT DO HHILE LENIKAYITKUZUNLUK

STOREKAYIT+" TO KAYIT ENDDO

REPLACE ALAN NITH KAYIT SELECT 1 SKİP ENDDO

CLOSE DATABASES

Daha sonra su işleıler uygulamalıdır: Sİ.USE PASC.DAT S2.C0PY TO PASC.DAT SDF Böylece ADRESİ kütüğü, PASC.DAT kütüğü aracılığı ile PASC1.DAT kütüğüne transfer edil«is olacaktır. Benzeri çalışsalar, diğer prograılau dilleri ve uygulat* progranları için de yapılabilir.