Database stringgrid'e yükleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mrdmn
Üye
Mesajlar: 10
Kayıt: 11 Tem 2014 01:40

Database stringgrid'e yükleme

Mesaj gönderen mrdmn »

Arkadaşlar öncelikle merhaba forumda yeniyim,
Kullandığım almanca bir program var, program delphi ile yazılmış, kendilerince bir kod oluşturmuşlar bu kod sayesinde stringgrid verilerini *.dat uzantılı dosyaya kaydedip, okuyabiliyorlar. Ama kaydettikleri .dat dosyası kesinlikle Türkçe değil, saçma karakterler içeriyor, notepad ile anlaşılmıyor. İnternetteki mevcut tüm kodları denedim, "loadfromfile" ya da "assignfile" ile dosyayı stringlist'e aktardığım zaman stringlist boş görünüyor malesef. Debugger ile nasıl bir mantığın olduğunu anlamaya çalıştım ama bu konuda yeterli bilgim yok malesef. Yardımcı olabilecek arkadaşlar varsa pm ile program linkini(1.6 mb) atabilirim. Detaylarını oradan belirtirim. Teşekkürler
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2357
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Database stringgrid'e yükleme

Mesaj gönderen freeman35 »

"sequential file" yada "random file" olarak araştır,
aşağıdaki link "sequential file pascal" arama sonucu çıkan ilk sonuç
http://www.baskent.edu.tr/~tkaracay/etu ... l1013.html
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
mrdmn
Üye
Mesajlar: 10
Kayıt: 11 Tem 2014 01:40

Re: Database stringgrid'e yükleme

Mesaj gönderen mrdmn »

freeman35 yazdı:"sequential file" yada "random file" olarak araştır,
aşağıdaki link "sequential file pascal" arama sonucu çıkan ilk sonuç
http://www.baskent.edu.tr/~tkaracay/etu ... l1013.html
kolay gele
Cevabınız için teşekkür ederim. Ama denedim yine olmadı nedense.
Program http://www.nutrisurvey.de/ebispro/ebisdemo.exe, veritabanı olarak nasıl kaydettiğini anlamak için programın kurulu olduğu yerde "bls" isimli dosya var onu inceleyebilirsiniz. Programı açarak yukarıdaki "Lebensmittel" e tıklayıp 2.sıradaki seçeneği seçerek verilerin nasıl yüklendiğine bakabilirsiniz. Yardımcı olabilirseniz gerçekten çok sevinirim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Database stringgrid'e yükleme

Mesaj gönderen mrmarman »

Resim

Yukarıdaki Ekran Kopyasında göreceğin üzere, veritabanı binary yapı ile kayıt altına alınmış.

Structure dikkat edecek olursan;
[01] ilk 1 (byte) takip eden içeriğini uzunluğunu ifade ediyor. Demek ki ilk veri onaltılık sayı sistemine göre [00..FF] (onluk sayı sistemine göre karşılığı) 0..255 karakter uzunluğuna olabilir daha uzun olamaz. Örnekte : (07h) = 7 karakter olduğunu bildirmiş veri olarak da "B101000" ifadesini kayıt altına almış.

[02] İkinci takip eden veri de 1 (byte) uzunluğunda veri olduğunu gösteriyor. Örnekte : (0Ch) = 12 karakter olduğunu bildirmiş. Veri olarak da "Vollkornbrot" ifadesini kayıt altına almış.

bu şekilde adım adım tüm data structure elde edilebilir. Sonra da dilediğin bir veritabanına bu veri blokları data / snapshot olarak alınabilir aktarılabilir.

- Bunu kendin yapabilirsin, veya ağır gelirse minik bir hizmet bedeli karşılığı forumdan bizlere de yaptırabilirsin.


Bir başka metod ile de veri alabilirsiniz.
Ekrandaki bir TStringGrid olduğuna göre, bunun handle değerini bulmak çok kolay. Test ettim
Başlığı "Lebensmittel" olan ve sınıfı "TLebensmittel" bir form üzerindeki TStringGrid sınıfını takibe alırsan onun handle değerini bulabilirsin.
Bunun içeriğini ekranda gördüğün değerler olarak elde edebilirsin.

Bu da ileri düzey programcılık gerektirir, bu konuda da yardımcı olabiliriz.
Resim
Resim ....Resim
Kullanıcı avatarı
muratcelik64
Üye
Mesajlar: 17
Kayıt: 16 Tem 2014 05:07

Re: Database stringgrid'e yükleme

Mesaj gönderen muratcelik64 »

Elindeki *.dat uzantılı dosya muhtemelen btrieve ile oluşturulmuş olabilir.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Database stringgrid'e yükleme

Mesaj gönderen mrmarman »

bkz. bu link
mrmarman yazdı:...
Aşağıdaki linkte hazırladığım dosyayı göreceksin.
bu link.

Bu linkte de ayrıştırmaya çalıştığın veritabanının orjinal hali..

RAR paketi içinde
(1) veritabanından okuyan EXE projeyi,
(2) ilgili verinin TEXT dosyaya aktardığım hali olan TXT dosyayı.

Hayatta başarılar.
Resim
Resim ....Resim
mrdmn
Üye
Mesajlar: 10
Kayıt: 11 Tem 2014 01:40

Re: Database stringgrid'e yükleme

Mesaj gönderen mrdmn »

Bunu hangi kodlarla yapabilirim örnek kod verebilecek var mı acaba ?
Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Re: Database stringgrid'e yükleme

Mesaj gönderen warder »

viewtopic.php?f=2&t=32728#p176571
Buradaki resmi ve açıklamayı ciddiye aldığınızda sonuç çok yakın.
Dosyayı bir Stream üzerinden okuyabilirsiniz. Textreader veya BinaryReader ile de deneyebilirsiniz.
Help içerisinde hepsi ile ilgili örnek zaten mevcut. İnternette de var.
Öncesinde veri periyodunu belirlemelisiniz. Elinizde verinin StringGrid ile tasniflenmişi var zaten.
Örneğin Muharrem Hocamın mesajındaki resimde
Sağ alt kısımda görülen ..OD dört karakteri seçip hex editörde float olarak baktığınızda 828
devamındaki 4 karakteri seçip float olarak bakarsanız 43.042 sonraki 4 e bakarsanız 7.295
olarak devam edip gidiyor.
Programınızdan Grid içindeki ilk satırın ilk rakamlarına baktığınızda size tanıdık gelecektir.
Bir Hex Editörle Muharrem Hocamın açıklamaları doğrultusunda bu periyodu bulabilirsiniz.
ilk baştaki .B101000 ile sonraki .B106000 arasında 484 byte var. Hex editörle iki arayı seçtiğinizde veriyor zaten.
Al sana periyot çok mu zor. 5 dakika yetrli...
Örneğin ben o açıklamalara göre baktım.
Peryot : 484 -> String(8+65+65)+float(4x86)
gibi görünüyor.

Şu forumda hiç birimizin parayla alamayacağı her seviyeden bilgi birikimi hem yazılı hem müdavim olarak mevcut.
Bunun değerini saygıyla bilmek hepimize kazandırır. Aksi düşüncenin kimseye faydası yoktur.
Kolay gelsin.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
mrdmn
Üye
Mesajlar: 10
Kayıt: 11 Tem 2014 01:40

Re: Database stringgrid'e yükleme

Mesaj gönderen mrdmn »

warder yazdı:viewtopic.php?f=2&t=32728#p176571
Buradaki resmi ve açıklamayı ciddiye aldığınızda sonuç çok yakın.
Dosyayı bir Stream üzerinden okuyabilirsiniz. Textreader veya BinaryReader ile de deneyebilirsiniz.
Help içerisinde hepsi ile ilgili örnek zaten mevcut. İnternette de var.
Öncesinde veri periyodunu belirlemelisiniz. Elinizde verinin StringGrid ile tasniflenmişi var zaten.
Örneğin Muharrem Hocamın mesajındaki resimde
Sağ alt kısımda görülen ..OD dört karakteri seçip hex editörde float olarak baktığınızda 828
devamındaki 4 karakteri seçip float olarak bakarsanız 43.042 sonraki 4 e bakarsanız 7.295
olarak devam edip gidiyor.
Programınızdan Grid içindeki ilk satırın ilk rakamlarına baktığınızda size tanıdık gelecektir.
Bir Hex Editörle Muharrem Hocamın açıklamaları doğrultusunda bu periyodu bulabilirsiniz.
ilk baştaki .B101000 ile sonraki .B106000 arasında 484 byte var. Hex editörle iki arayı seçtiğinizde veriyor zaten.
Al sana periyot çok mu zor. 5 dakika yetrli...
Örneğin ben o açıklamalara göre baktım.
Peryot : 484 -> String(8+65+65)+float(4x86)
gibi görünüyor.

Şu forumda hiç birimizin parayla alamayacağı her seviyeden bilgi birikimi hem yazılı hem müdavim olarak mevcut.
Bunun değerini saygıyla bilmek hepimize kazandırır. Aksi düşüncenin kimseye faydası yoktur.
Kolay gelsin.
İşte aradığım cevap. İstediğim hale getirebildim sayenizde Allah razı olsun sizden. Teşekkür ederim herkese..
Cevapla