IntToStrSabit(Sayi:integer,Sabitlength:integer):string

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
tanerileri

IntToStrSabit(Sayi:integer,Sabitlength:integer):string

Mesaj gönderen tanerileri »

Bu gibi bir fonksiyon yapmak istiyorum , biliyorum çok basit bir işlem ama bir türlü için işinden çıkamadım , istediğim şey şu:

187,8 girdiğimde , 00000187 (8 karekter)
187,5 girdiğimde , 00187 (5 karekter) gibi string döndürecek bir fonksiyon.

0 ları karekter kadar kopyalacayacak fonksiyonu bir türlü yapamadım

Teşekkürler
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Hocam tekrarlama için muhtemelen bilmediğim bir string fonksiyonu olabilir :wink: Ama aşağıdaki kod da işini görür.

Kod: Tümünü seç

function IntToStrSabit(Sayi: integer; Sabitlength: integer): string;
begin
  result := FormatFloat(copy('000000000000000',1, SabitLength), Sayi)
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hazır Fonksiyonla yapılıyor olması lazım ama hatırlayamadım.

Kod: Tümünü seç

function SayiFormatla(int:integer;howChar:integer):String;
var
    i,f:integer;
    str:string;
begin
    i:=0;
    f:=howChar-length(inttostr(int));
    while i < f do
    begin
        str:=str + '0';
        inc(i);
    end;
    result := str + inttostr(int);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
    edit1.Text:= sayiformatla(strtoint(edit1.Text),8);
end;
Kolay Gelsin...

Recep abi hızlısın maaşallah :D

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kardeş her yiğidin bir yoğurt yiyişi var. Önemli olan olayı çözmek öyle yada böyle.. Algoritmik olarak sorunu çözsen de bazen teknolojinin getirdiklerini de kullanmak gerekir :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

hehe haklısın abi ya uzun süredir php iye daldım :oops: unutmak kötü oluyor :(

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Hocam, hafıza tazeleyim. FORMAT fonksiyonundan içi içe iki tane kurmayı denemek kafi...

Kod: Tümünü seç

Function IntToStrSabit(Sayi, Sabitlength:integer):string;
begin
  Result := Format(Format('%%.%dd', [SabitLength]), [Sayi]);
end;
Resim
Resim ....Resim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

rsimsek yazdı:Kardeş her yiğidin bir yoğurt yiyişi var.
Aslında bundan sonra söylemem gerekiyordu :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kod: Tümünü seç

function LeadingZero(const Value, StrLength: Integer): string;
begin
  Result:= Format('%.' + IntToStr(StrLength) + 'd', [Value]);
end;
Ben böyle yoğurt yiyorum. :D
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Farklı bir yöntem:

Kod: Tümünü seç

function IntToStrConst(aNumber: Int64; aConstLength: Byte): string;
begin
  Result := FormatFloat(DupeString('0', aConstLength), aNumber);
end;
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

yok mu artıran :)
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

E yeter artık sadettin. Daha ne olsun? :D
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Şamata yapıp geçiştirmeye kalkma Sadettin, sıra sendeydi :lol: :lol:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

Kod: Tümünü seç

function TForm1.abc(a: string; b: integer): string;
begin
  result := stringofchar('0',b-length(a)) + a;
end;               
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Hile yapmışsın. :D A'nın string değil Integer parametre olması gerekiyordu. :)
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

rsimsek yazdı:Şamata yapıp geçiştirmeye kalkma Sadettin, sıra sendeydi :lol: :lol:
eyvah! yakalandik :)
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla