Formatowanie stringów

0

Jest problem.
Mam bazę Paradox-a, zapisuję w niej dane rozpoznawane po id : integer. ta
wartośc może mieć max 6 znaków więc wartość (max = 999999), ale chciałbym
aby w formie programu zwracało mi wartości wypelnione zerami z przodu i uzupełniane numerem id, np.:
000001
000002
000003(...)itd..
000010
000011
000012

jakiego formatowania uzyć ??
I jak zrobić by program odczytał później np pierwsze 6 znaków ze stringa ??

0

Na szybkiego napisałem taki kodzik z dwoma editami i buttonem

procedure TForm1.Button1Click(Sender: TObject);
begin
if Length(Edit1.Text)<2 then //liczby od 1 do 9 mają długość w Edit = 1
Edit2.Text:='00000'+Edit1.Text;

if Length(Edit1.Text)<3 then //liczby od 10 do 99 mają długość w Edit = 2
Edit2.Text:='0000'+Edit1.Text;
end;

Jeśli do Edit1 wpisze np liczbę od 1 do 9 to w Edit2 wyświetli ci podaną liczbę w Edit1 z pięcioma zerami na przodzie itd. itd.

A jeśli podasz do Edit1 liczbę od 10 do 99 to w Edit2 wyświetli tą liczbę z czterema zerami na przodzie itd.

Spróbuj to skumać i wdrożyć w swój projekt do tabeli.

</delphi>
0

while length(lancuch) < 6 do
begin
  lancuch:='0'+lancuch;
end;

[sciana]

0

Nie no, bez jaj - conajmniej nieprofesionalne rozwiazanie :| Od tego jest funkcja Format?

Caption := Format('%.5d', [23]);

0
Adam Boduch napisał(a)

Nie no, bez jaj - conajmniej nieprofesionalne rozwiazanie :| Od tego jest funkcja Format?

Caption := Format('%.5d', [23]);

jeżeli gdzieś w internecie można poszukać jeszcze dokładnego opisu PO POLSKU funkcji "Format" - byłaby bardziej zrozumiała. Dla mnie to ciężki temat jak na razie ..... dlatego wolę jednak:
while length(lancuch) < 6 do
begin
lancuch:='0'+lancuch;
end;
przynajmniej zrozumiałe :))))))))

ale jeżeli ktos mógłby podesłać jakiś adres z "idiotoodpornie" opisaną funkcją "Format" byłoby miło :)

0

taki wystarczy??

0

http://4programmers.net/Delphi/Format

Jezeli Ci to nie odpowiada to:

FormatFloat('000000', 123);

1 użytkowników online, w tym zalogowanych: 0, gości: 1