Različne aplikacije zahtevajo posebne vrednosti, da ustrezajo strukturnim paradigmam. Na primer, številke socialnega zavarovanja so vedno dolge devet mest. Nekatera poročila zahtevajo, da se številke prikažejo s fiksno količino znakov. Na primer, zaporedne številke se navadno začnejo z 1 in prirastkom brez konca, zato so prikazane z vodilnimi ničelami, da predstavijo vizualno privlačnost.
Kot Delphi programer, vaš pristop k dodajanju številke z vodilnimi ničelami je odvisen od posebnega primera uporabe za to vrednost. Preprosto se lahko odločite, da obesite prikazno vrednost ali številko pretvorite v niz za shranjevanje v bazi podatkov.
Metoda oblaganja prikazovalnika
S pomočjo neposredne funkcije spremenite način prikaza svoje številke. Uporaba format da pretvorbo izvedemo tako, da vnesemo vrednost za dolžino (skupna dolžina končnega rezultata) in številka, ki jo želite podstaviti:
str: = Oblika ('%. * d, [dolžina, številka])
Če želite številko 7 podstaviti z dvema vodilnima ničlama, te vrednosti priključite v kodo:
str: = Oblika ('%. * d, [3, 7]);
Rezultat je 007 z vrnjeno vrednostjo kot niz.
Pretvarjanje v metodo String
Uporabite funkcijo oblazinjenja, da dodate vodilne ničle (ali kateri koli drug znak) kadarkoli, ko ga potrebujete znotraj svojega skripta. Če želite pretvoriti že števila vrednosti, uporabite:
funkcija LeftPad (vrednost: celo število; dolžina: celo število = 8; pad: char = '0'): niz; preobremenitev;
začeti
rezultat: = RightStr (StringOfChar (pad, dolžina) + IntToStr (vrednost), dolžina);
konec;
Če je vrednost za pretvorbo že niz, uporabite:
funkcija LeftPad (vrednost: string; dolžina: celo število = 8; pad: char = '0'): niz; preobremenitev;
začeti
rezultat: = RightStr (StringOfChar (pad, dolžina) + vrednost, dolžina);
konec;
Ta pristop deluje Delphi 6 in novejše izdaje. Obe tej kodi blokirata privzeti znak oblazinjenja 0 z dolžino sedemkratnih znakov; lahko te vrednosti prilagodimo vašim potrebam.
Ko se pokliče LeftPad, vrne vrednosti v skladu s podano paradigmo. Če na primer nastavite celo število na 1234 in pokličete LeftPad:
i: = 1234;
r: = levi pad (i);
bo vrnil vrednost niza 0001234.