Karekter atma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Karekter atma

Mesaj gönderen dogan »

Merhaba;

Databasede masaadı alanında yaklaşık 35 kayıt var;

Örnek:
MASA 1
MASA 2
MASA 3
MASA 4, Olarak databasede kayıtlı "StringReplace ve delete" gibi farklı komutlar kullandım fakat bir türlü (MASA) karekterlerini silediremedim. StringReplace ile denediğimde databasede, 35 masa olmasına rağmen sürekli aynı kayıt listeleniyor StringReplace iptal edince listeleme normal oluyor...

Kod: Tümünü seç

    DBMAS := StringReplace(FieldByName('MASAADI').Value, 'MASA', '', [rfReplaceAll]);


MASA 1
MASA 2
MASA 3

1
2
3 bu şekilde nasıl alabilirim?
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Karekter atma

Mesaj gönderen freeman35 »

Copy(S, length(xxx), Length(S) - length(xxx)); gibi
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 !!!
Kullanıcı avatarı
alguli
Üye
Mesajlar: 35
Kayıt: 04 Nis 2007 01:03

Re: Karekter atma

Mesaj gönderen alguli »

Freeman'ın önerisi doğrultusunda; eğer MASAADI field içeriği örneklerde olduğu gibiyse kod aynen şu şekilde olacaktır.

DBMAS := Copy(DatasetAdı.FieldByName('MASAADI').AsString,6, Length(DatasetAdı.FieldByName('MASAADI').AsString)-5);

Kolay gelsin.
Hayat yalanlarla dolu bir aşktır.
Gerçek aşka erişince o da biter.
ertank
Kıdemli Üye
Mesajlar: 1711
Kayıt: 12 Eyl 2015 12:45

Re: Karekter atma

Mesaj gönderen ertank »

dogan yazdı:

Kod: Tümünü seç

    DBMAS := StringReplace(FieldByName('MASAADI').Value, 'MASA', '', [rfReplaceAll]);
Senin yazdığın kod doğru. MASAADI alanının değeri içinden MASA ifadesini kaldırır. Geriye kalanı çevirir. Bu bilgi içinde boşluk karakterleri de olacaktır. Dolayısı ile aşağıdaki şekilde kullanman daha doğru olacaktır.

Kod: Tümünü seç

DBMAS := Trim(StringReplace(FieldByName('MASAADI').AsString, 'MASA', EmptyStr, []);
Yukarıda Özellikle veri tipi dönüşüm sorunu yaşamamak adına ".AsString" şeklinde alana erişim sağlıyoruz. Zaten database içinde bir alanda birden fazla MASA ifadesi geçmediğini bildiğimiz için frReplaceAll seçeneğini kullanmıyoruz.

Bununla birlikte senin yazığın kod ile örnek verilen kod arasında ciddi bir farklılık yok. Ancak bizimle kısmi kod paylaşımı yaptığın için DBMAS değişkenini ne şekilde kullandığını ve database'i ne şekilde güncellediğini bilemiyoruz ki senin sorunun yüksek ihtimalle bu noktada.
Cevapla