Firebird 1.5 --> Blob -Text alan

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Firebird 1.5 --> Blob -Text alan

Mesaj gönderen aslangeri »

Merhabalar...
Blob alana kaydedip gösteriyorum problem yok ama ben blob alana girdiğim verilerde sadece ilk satırı almak istiyorum. Bunun için bi sql falan varmı acaba.
Şimdiden teşekkürler.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

External Function'lardan SubStr var o iş için ama 80 chr boyutunda olması lazım. Bu işini görmez, bunun yerine Blob alanı (Memo olarak okut) ve Memo1.Lines[1] olarak eriş. (Veya Strings olabilir hangisi hatırlayamadım denemek lazım :)

Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

Eğer bu işi verileri serverden çekerken yaparsam çok güzel olacak. Ebürtürlü delphi amcamla biraz uğraşmamız gerekecek.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

serverden getirirken nasıl yapacağımı bulamadım ama delphiden alanın on gettext ini kullanarak istediğim şeyi yaptım.

Kod: Tümünü seç

procedure TFFatura.TItemsACIKLAMAGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
var
i:byte;
begin
  i:=50;
  if sender.asstring<>'' then
  begin
     if length(sender.asstring)<i then i:=length(sender.asstring);
     text:=copy(sender.asstring,1,i);
     if pos(#$D#$A,text)>0 then text:=copy(text,1,pos(#$D#$A,text)-1);
  end;
end;
ilk 50 karakteri gösteriyorum eğer satır 50 karekterden az ise satırı komple alıyorum.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla