Farklı uygulamalar yapısal paradigmalara uymak için belirli değerler gerektirir. Örneğin, Sosyal Güvenlik numaraları her zaman dokuz basamak uzunluğundadır. Bazı raporlar, sayıların sabit miktarda karakterle görüntülenmesini gerektirir. Sıra numaraları, örneğin, genellikle 1 ile başlar ve sonu olmadan artar, bu nedenle görsel bir çekicilik sunmak için önde gelen sıfırlarla görüntülenirler.
Olarak Delphi programcısı, başında sıfır olan bir sayı eklemeye yaklaşımınız, bu değerin özel kullanım durumuna bağlıdır. Bir görüntüleme değerini doldurmayı seçebilir veya bir sayıyı veritabanında depolamak için dizeye dönüştürebilirsiniz.
Ekran Dolgu Yöntemi
Numaranızın görüntülenme şeklini değiştirmek için basit bir işlev kullanın. kullanım biçim için bir değer sağlayarak dönüşümü yapmak uzunluk (son çıktının toplam uzunluğu) ve doldurmak istediğiniz sayı:
str: = Biçim ('%. * d, [uzunluk, sayı])
7 sayısını iki önde gelen sıfırla doldurmak için bu değerleri koda takın:
str: = Biçim ('%. * d, [3, 7]);
Sonuç 007 değeri dize olarak döndürülür.
Dize Yöntemine Dönüştür
Komut dosyasında istediğiniz zaman baştaki sıfırları (veya başka herhangi bir karakteri) eklemek için bir dolgu işlevi kullanın. Zaten tamsayı olan değerleri dönüştürmek için şunu kullanın:
işlev LeftPad (değer: integer; uzunluk: tamsayı = 8; pad: char = '0'): dize; aşırı yükleme;
başla
sonuç: = RightStr (StringOfChar (yastık, uzunluk) + IntToStr (değer), uzunluk);
son;
Dönüştürülecek değer zaten bir dize ise, şunu kullanın:
işlev LeftPad (değer: string; uzunluk: tamsayı = 8; pad: char = '0'): dize; aşırı yükleme;
başla
sonuç: = RightStr (StringOfChar (ped, uzunluk) + değer, uzunluk);
son;
Bu yaklaşım, Delphi 6 ve sonraki sürümler. Bu kod bloklarının her ikisi de varsayılan olarak 0 yedi döndürülmüş karakter uzunluğunda; bu değerler ihtiyaçlarınızı karşılayacak şekilde değiştirilebilir.
LeftPad çağrıldığında, değerleri belirtilen paradigmaya göre döndürür. Örneğin, 1234 olarak bir tamsayı değeri ayarlarsanız, LeftPad'i çağırarak:
i: = 1234;
r: = SolPad (i);
dize değerini döndürür 0001234.