Cobol'da yazılmış bir programın datalarını Interbase'e dönüştürerek Delphi ile yazılmış bir projede kullanmak istiyorum. Cobol veri yapısı ile ilgili bilgisi olan arkadaşların yardımına ihtiyacım var.
Teşekkürler, İyi çalışmalar.
Delphi ve Interbase proje için Cobol Data Dönüştürme
-
- Üye
- Mesajlar: 18
- Kayıt: 07 Haz 2004 09:04
- Konum: Mersin
- İletişim:
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
Selamlar,
Internette biraz araştırdım çeşitli toollar var, data çevirimi yapan. Onlar işinize yarayabilir. Google'dan Cobol Data Convertion yazıp arattırırsanız çıkıyor bir sürü şey.
Ayrıca hangi cobol versiyonunda yazılmış bu data?
Internette biraz araştırdım çeşitli toollar var, data çevirimi yapan. Onlar işinize yarayabilir. Google'dan Cobol Data Convertion yazıp arattırırsanız çıkıyor bir sürü şey.
Ayrıca hangi cobol versiyonunda yazılmış bu data?
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
-
- Üye
- Mesajlar: 18
- Kayıt: 07 Haz 2004 09:04
- Konum: Mersin
- İletişim:
Tekrar Merhaba Arkadaşlar.
Öncelikle ilginiz için çok teşekkür ediyorum.
Bahsettiğim programın .DAT ve .IDX uzantılı dosyaları var. Ayrıca dataların olduğu klasörde XM.EXE ve REBUILD.EXE dosyaları var.
XM.EXE çalıştırılınca aşağıdaki mesaj geliyor. Buradan Micro Focus Cobol olduğu anlaşılıyor.
V1.4.6 - The Micro Focus DOS Extender Copyright (c) 1987-1996 Micro Focus Ltd
URN AXCPA/000000000 [Protocol: DPMI] Ref 022
internetten araştırılınca bir çok program bulunuyor fakat hangisinin tam işlevsel olduğunu ve nasıl çalıştığını bile anlamak çok zor oluyor. Bu yüzden sizin bildiğiniz ve bu tip dataları dönüştürebilecek bir yazılım var mı acaba.
Görüşmek üzere.
Öncelikle ilginiz için çok teşekkür ediyorum.
Bahsettiğim programın .DAT ve .IDX uzantılı dosyaları var. Ayrıca dataların olduğu klasörde XM.EXE ve REBUILD.EXE dosyaları var.
XM.EXE çalıştırılınca aşağıdaki mesaj geliyor. Buradan Micro Focus Cobol olduğu anlaşılıyor.
V1.4.6 - The Micro Focus DOS Extender Copyright (c) 1987-1996 Micro Focus Ltd
URN AXCPA/000000000 [Protocol: DPMI] Ref 022
internetten araştırılınca bir çok program bulunuyor fakat hangisinin tam işlevsel olduğunu ve nasıl çalıştığını bile anlamak çok zor oluyor. Bu yüzden sizin bildiğiniz ve bu tip dataları dönüştürebilecek bir yazılım var mı acaba.
Görüşmek üzere.
selam
Coboldaki verileri otomatik olarak transfer eden bir şey varsa kullanın yoksa coboldaki verileri bir text file olarak Export edip Firebird e bir kod
yazarak aktarabilirsiniz.
Tabi bunun içinde Cobol bilmek gerekli
cobol daki programın source
kodları yoksa bunu yapmakda bildiğim kadarıyla mümkün değil. File
yapısı bu sourceların içinde oluyor veya dışarıdaki *.cop gibi dosyalarda
duruyor.
saygılar.
Coboldaki verileri otomatik olarak transfer eden bir şey varsa kullanın yoksa coboldaki verileri bir text file olarak Export edip Firebird e bir kod
yazarak aktarabilirsiniz.
Tabi bunun içinde Cobol bilmek gerekli

kodları yoksa bunu yapmakda bildiğim kadarıyla mümkün değil. File
yapısı bu sourceların içinde oluyor veya dışarıdaki *.cop gibi dosyalarda
duruyor.
saygılar.
Bilgi Paylaştıkça Çoğalır
Cobol ile hiç çalışmadım. İş dünyasında hala kullanılmasına rağmen Türkiye'de tarih olmuş bir yazılım aracı.
google da aratınca bazı conventer ar bulunuyor. Örneğin
http://www.netcobol.com/products/windows/dconv.htm
adresinde programın özellikleri ekran görüntüleri var. Fakat program yok. Muhtemelen bu işi yapan free bir yazılım yoktur.
Ama belki kendinizde bu işi kotarabilirsiniz.
Eğer veri dosyaya değiştirilmeden yazıldı ise(yani kodlanıp faklı şekillere sokulmadı ise) bu dosyayı çözmek mümkün olabilir.
Sonuçta veri dosyası 2 tipte olabilir. Ya sabit kayıt uzunluğu ve bu kayıt içinde sabit veri alanları vardır (bu daha muhtemel). Yada text dosyalarda olduğu gibi kayıt sonunu gösteren özel bir karekter (carry return gibi) ve veri alanlarını ayarlayan kullanıcı tarafından tanımlanmış bir özel karekter vardır.
Dosyayı bir text editor ile açıp bakın anlamlı bazı kelimeler görünüyormu. Muhtemelen bir sürü karışık düzensiz ne olduğu belli olmayan karekterler vardır, ama arada anlamlı program içinde gördüğünüz verileri görebiliyorsanız bu iş olabilecek demektir.
Dosyanın tipini veri deseninden anlamaya çalışın. Tipini (yukarıda anlatılan iki tipten biri) belirledikten sonra kayıt (record) büyüklüğünü belirlemeli yada kayıt başında bulunan verinin önünde her kayıt başında olan karekteristik bir karakter yada karakter dizisi var mı ona bakmalı. eğer bunuda tesbit edebilirseniz dosyayı binary modda açar belirlediğiniz özelliklere göre parse eder veritabanına yazarsınız.
Çok mu zor görünüyor. O kadarda değil. Eğer yukarıda yazdığım belirlemeler yapılabilirse değil. Bir arkadaşıma fatura programı yazmıştım. Eski programa kirilmiş tanımları kullanmak istediğini tekrar girmenin zor olacağını söyledi. Bir DOS programı idi ve hangi dilde yazıldığını veri dosyasının 10 larca dosyadan hangisi olduğunu ve dosya biçimini bilmiyordum. Ebatı büyük olan günlenme tarihi yeni olan bir kaç dosyayı text editörle (HEX editorde olurdu aslında) inceledim. Tanımlar olduğu anlaşıan bir dosya buldum. Belirlemelerimi yaptım. Okudum parse ettim paradox tablosuna yazdım. Aslında bu projeden sonra veri dosyalarını okuyup analiz eden parse edip bir veri tabanına yazan araç yazayım dedim ama askere gittik şimdide üşeniyorum onca işin arasında.
Oldu yani. Gözünüzde büyütmeyin. Tabi biraz şansta gerek. Adam veriyi kodlayarak dosyaya yazdı ise anlaşılamaz.
Daha uçuk bir yol da, eğer alınması gereken veri ilgili programda bir pencerede görülebilen kayıtlar biçiminde ise bir Dos TSR si yazıp programı çalıştırıp ekrandan okumak (ve tabi veri içinde gezmek için TSR miz bazı karekterleri göndermeli, enter tab vb.) ta olabilir. Ama bu daha zor.
Aslında pek çok şey mümkün önemli olan neye mal olduğu.
Kolay gelsin.
google da aratınca bazı conventer ar bulunuyor. Örneğin
http://www.netcobol.com/products/windows/dconv.htm
adresinde programın özellikleri ekran görüntüleri var. Fakat program yok. Muhtemelen bu işi yapan free bir yazılım yoktur.
Ama belki kendinizde bu işi kotarabilirsiniz.
Eğer veri dosyaya değiştirilmeden yazıldı ise(yani kodlanıp faklı şekillere sokulmadı ise) bu dosyayı çözmek mümkün olabilir.
Sonuçta veri dosyası 2 tipte olabilir. Ya sabit kayıt uzunluğu ve bu kayıt içinde sabit veri alanları vardır (bu daha muhtemel). Yada text dosyalarda olduğu gibi kayıt sonunu gösteren özel bir karekter (carry return gibi) ve veri alanlarını ayarlayan kullanıcı tarafından tanımlanmış bir özel karekter vardır.
Dosyayı bir text editor ile açıp bakın anlamlı bazı kelimeler görünüyormu. Muhtemelen bir sürü karışık düzensiz ne olduğu belli olmayan karekterler vardır, ama arada anlamlı program içinde gördüğünüz verileri görebiliyorsanız bu iş olabilecek demektir.
Dosyanın tipini veri deseninden anlamaya çalışın. Tipini (yukarıda anlatılan iki tipten biri) belirledikten sonra kayıt (record) büyüklüğünü belirlemeli yada kayıt başında bulunan verinin önünde her kayıt başında olan karekteristik bir karakter yada karakter dizisi var mı ona bakmalı. eğer bunuda tesbit edebilirseniz dosyayı binary modda açar belirlediğiniz özelliklere göre parse eder veritabanına yazarsınız.
Çok mu zor görünüyor. O kadarda değil. Eğer yukarıda yazdığım belirlemeler yapılabilirse değil. Bir arkadaşıma fatura programı yazmıştım. Eski programa kirilmiş tanımları kullanmak istediğini tekrar girmenin zor olacağını söyledi. Bir DOS programı idi ve hangi dilde yazıldığını veri dosyasının 10 larca dosyadan hangisi olduğunu ve dosya biçimini bilmiyordum. Ebatı büyük olan günlenme tarihi yeni olan bir kaç dosyayı text editörle (HEX editorde olurdu aslında) inceledim. Tanımlar olduğu anlaşıan bir dosya buldum. Belirlemelerimi yaptım. Okudum parse ettim paradox tablosuna yazdım. Aslında bu projeden sonra veri dosyalarını okuyup analiz eden parse edip bir veri tabanına yazan araç yazayım dedim ama askere gittik şimdide üşeniyorum onca işin arasında.
Oldu yani. Gözünüzde büyütmeyin. Tabi biraz şansta gerek. Adam veriyi kodlayarak dosyaya yazdı ise anlaşılamaz.
Daha uçuk bir yol da, eğer alınması gereken veri ilgili programda bir pencerede görülebilen kayıtlar biçiminde ise bir Dos TSR si yazıp programı çalıştırıp ekrandan okumak (ve tabi veri içinde gezmek için TSR miz bazı karekterleri göndermeli, enter tab vb.) ta olabilir. Ama bu daha zor.
Aslında pek çok şey mümkün önemli olan neye mal olduğu.
Kolay gelsin.
Biz hiç bir tool kullanmadan böyle bişey yapmıştık. Bitane dosya yazıcısı tanımlıcaksın. Yani programdaki yazıcı çıktısını printer' a değilde bi dosyaya yazdırcaksın. Bütün verileri listeletip dosyanın içine yazdır. Bu dosyaya aldıktan sonra gerisi kolay zaten. İstersen delphi kodu yaz (for do döngüsü ile satır satır okutup vt ye yaz) veya excelde açarak EMS interbase programı ile excelden verileri vt ye atabiliyorsun. Kolay gelsin