Database stringgrid'e yükleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Database stringgrid'e yükleme
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
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
Re: Database stringgrid'e yükleme
"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
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 !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Database stringgrid'e yükleme
Cevabınız için teşekkür ederim. Ama denedim yine olmadı nedense.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
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
Re: Database stringgrid'e yükleme
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.
- muratcelik64
- Üye
- Mesajlar: 17
- Kayıt: 16 Tem 2014 05:07
Re: Database stringgrid'e yükleme
Elindeki *.dat uzantılı dosya muhtemelen btrieve ile oluşturulmuş olabilir.
Re: Database stringgrid'e yükleme
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.
Re: Database stringgrid'e yükleme
Bunu hangi kodlarla yapabilirim örnek kod verebilecek var mı acaba ?
Re: Database stringgrid'e yükleme
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.
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...
Mustafa Kemal Atatürk...
Re: Database stringgrid'e yükleme
İşte aradığım cevap. İstediğim hale getirebildim sayenizde Allah razı olsun sizden. Teşekkür ederim herkese..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.