Basamak Tamamlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Basamak Tamamlama

Mesaj gönderen abdulkadir »

S.A herkese kolay gelsin

asagıdaki kod ile SRV143TK Sonucunu Alıyorum
Su Sekilde almak istiyorum SRV000143TK
Yani Deger kac olursa olsun bizim belirttigimiz basamak sayısına tamamlamalıyım.
deger 1 ise Sonuç SRV00001TK
deger 11 ise Sonuç SRV00011TK
deger 111 ise Sonuç SRV00111TK
deger 1111 ise Sonuç SRV01111TK
deger 11111 ise Sonuç SRV11111TK olmalı

Kod: Tümünü seç

  var
  Deger: Extended;
  BasamakSayisi:integer;
  BasinaEkle,SonunaEkle:String;
begin
  Deger :=143;
  BasamakSayisi:=10;
  BasinaEkle:='SRV';
  SonunaEkle:='TK';
  EditFisNo.Text:=BasinaEkle + FloatToStrF(Deger,ffgeneral, BasamakSayisi,0) + SonunaEkle;
Yukarda FloatToStrF kullandım ama olmuyor baska bir function varmı bu iş için
yada nasıl yapılmalı.

Selam ve Dua İle
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Re: Basamak Tamamlama

Mesaj gönderen husonet »

Kod: Tümünü seç

EditFisNo.Text:=BasinaEkle + FormatFloat('000000', deger) + SonunaEkle;
Kolay gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: Basamak Tamamlama

Mesaj gönderen abdulkadir »

Hocam tesekkürler

BasamakSayısı Kaldı onuda nasıl yapacagımı sanırım biliyorum

Hayırlı calısmalar.
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Re: Basamak Tamamlama

Mesaj gönderen husonet »

hocam benim yazdığım numarator fonksiyonu vardı onu kullansan daha sağlıklı olur kanısındayım.

Kolay gelsin...

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ı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Re: Basamak Tamamlama

Mesaj gönderen KoPilot »

husonet yazdı:hocam benim yazdığım numarator fonksiyonu vardı onu kullansan daha sağlıklı olur kanısındayım.

Kolay gelsin...
Kesinlikle katılıyorum...

Kod: Tümünü seç

Function TersCevir(no:String):String;
var
Cevrilen:String;
i:Integer;
Begin
i:= 0;
Cevrilen := '';
For i := length(no) DownTo 1 Do
Begin
Cevrilen := Cevrilen + no[i];
End;
Result := Cevrilen;
End;

Function Numarator(no:String):String;
var
Nmr, Temp, Temp1:String;
Temp2:Char;
i, Tmp:Integer;
Begin
nmr := TersCevir(no);
i:= 0;
while i < length(no) Do
Begin
i := i + 1;
if nmr[i] = '9' Then
begin
nmr[i] := '0';
continue;
End
Else
if (nmr[i] < '9') and (nmr[i] >= '0') Then
Begin
Temp := inttostr(StrToInt(nmr[i]) + 1);
Tmp := i;
Break;
end;
if nmr[i] = 'Z' Then
begin
nmr[i] := 'A';
continue;
End
Else
if (nmr[i] < 'Z') or (nmr[i] >= 'A') Then
Begin
Temp := inttostr(ord(nmr[i]));
Temp := intToStr(StrToInt(Temp) + 1);
Temp := Chr(StrToInt(Temp));
Tmp := i;
Break;
end;
End;
i:= 0;
while i < length(no) do
Begin
i := i + 1;
if tmp = i Then
if (temp[1] <= '9') and (temp[1] >= '0') Then
nmr[i] := temp[1]
Else
Begin
nmr[i] := Temp[1];
End;
nmr[i] := nmr[i];
End;

result := TersCevir(nmr);
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Numarator('DZ9999'));
end;
Numaratör diye aratarak orjinal mesaja ulaşabilirsin...

Eyvallah...
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Cevapla