Tabledaki String bir ifade

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Tabledaki String bir ifade

Mesaj gönderen rapsodim »

paradox kullanıyorum.string alanlar tableda sola yaslanık duruyor.bunları sağa yaslanık yapmak için ne yapmam gerekiyor alanı string olarak tutmak istiyorum.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

* kullandığın datasete (TTable, TQuery vs.) sağ tıklayıp Fields Editorü aç.
* Add All fields diyerek tüm alanları ekle.
* istediğin alanı seç, alignment'ten ayarla.

Kolay gelsin.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

görüntü itibariyle sağa yaslıyor.alan uzunluğunu korumuyor.
benim asıl sorunum ;
'00000521' şeklinde ki string bir ifadeyi ' 521' şekline getirmek.trim ifadesi boşlukları kaldırıyor bu ifadenin tersi var mı? yani string bir ifadeye istenilen alan kadar boşluk atılsın.

tut := StrToInt64(table1.fieldbyname('tutar').asstring);
FmtStr(tutyolla, '%.15d', [tut]);
table2.FieldByName('tutar').asstring:= tutyolla;

ifadesi '000000004875210' şeklinde bir netice veriyor ben bunu
' 4875210' şekline getirebilirim.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hocam biz medyum falan değiliz :lol: Sadece gördüğümüz, okuduğumuz kadarına cevap verebiliriz sorunuza.

Ufak bir şaka yaptım, kusura bakmazsınız inşallah.

Böyle bir ifadeyi niye string olarak saklıyorsunuz. Integer veya Float olarak saklayın, gerektiği zaman baş tarafına 000 eklersiniz.

Sanırım sorun FmtStr'de, bu fonksiyonu daha önce hiç kullanmadım ama muhtemelen şöyle yaparsanız düzelecek.

Kod: Tümünü seç

tut := StrToInt64(table1.fieldbyname('tutar').asstring);
table2.FieldByName('tutar').asstring:= FloatToStr(tutyolla);
ama bana bu yöntem hiç sağlıklı gelmedi.

Kolay gelsin.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

00000521 ifadesindeki sıfırların yerine boşluk nasıl koyabilirim peki bu durumda
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

000000521 ifadesindeki sıfırları #32 (space tuşuna) çeviren bir işlem yapmalısın.
FillChar() gibi bir fonksiyon kullanabilirsin yada kendin yazabilirsin.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
eğer tutyolla string bir değişkense

Kod: Tümünü seç

tutyolla:=floattostr(strtofloat(tutyolla));
bu şekilde tutyolla nın iönündeki "0" ları sildik. (tabiki başka yöntemlerde kullanılabilir)
daha sonra boşlukekle functionunu kullanıyoruz.

Kod: Tümünü seç

tutyolla:=boslukekle(tutyolla,15);
Boslukekle bizim yazdığımız bir function stringin uzunluğu 15 olana kadar önüne boşluk ekliyor. kod şöyle

Kod: Tümünü seç

Function Boslukekle(s:string; newlen:byte):string;
Begin
  result:=s;
  while length(s)< newlen do
           result:=' '+result;
end;
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

Function Boslukekle bunu programın neresınde bulundurmam gerekiyor?
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

dediğiniz gibi yapamadım
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
implementation dan sonra yazarsan olur.
Yada yeni bir unit tanımlayıp orda yazarsın istediğin tüm unitlerde kullanırsın.
dediğiniz gibi yapamadım
nerede takıldınız.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Misafir

Mesaj gönderen Misafir »

merhaba.
strutils unitini eklemek şartı ile;ansireplacetext(stringbilgi,'0',' ');yazın.
kolay gelsin.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

delphi_coder yazdı:merhaba.
strutils unitini eklemek şartı ile;ansireplacetext(stringbilgi,'0',' ');yazın.
kolay gelsin.
evet ama ozaman rakmların içinceki "0" larıda boşluk yapmazmı?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

@rapsodim,

yapını tamamen yanlış kurmuşsun, debelenip duruyoruz. Eğer sayı saklıyorsan değeri float olarak sakla ve gerektiği zamanda başına sıfır ekleyerek göster.

Ne yapmak istediğini, niye string sakladığını baştan detaylıca bir yazsana. Bu yapıda daha çok sorun çıkar başına.

Kolay gelsin.
Cevapla