Funkcja Format - jak zapisać prosty przykład?

0

Hej. Jestem przerabiając Delphi na funkcji Format i tu się zatrzymałem.
Jak można zapisać coś takiego:

 Label.Caption := zminnaimienazwisko + ' /' + zmiennaadres + '/';

Za pomocą format o ile można, sorki na początku tak jest

1
 Label.Caption := Format('%0:s /%1:s/', [zminnaimienazwisko, zmiennaadres]); 
0

No właśnie niby wszystko proste a jednak nie, chodzi tylko o tą część '%0:s /%1:s/' rozumiem tylko literke s czyli łańcuch, 0 i 1 to zmienna zmienna1 i zmienna 2 ? gdyby była 3zmienna było by '%2:s o ile byłby to łańcuch ? niby ten zapis ma być lepszy? tak słyszałem, nie umiem tego zrozumieć i jeśli by nie było pauzy przed znakiem /wyglądało by to tak ? '%0:s/%1:s/' Masakra z tym zapisem i co znaczy znak% że będzie zmienna ? W czym to ma być lepsze bo dla mnie tak na szybko jest nie do przeczytania ale fakt na razie się uczę za tydzień może będę się śmiał sam z siebie ale żeby tak było muszę zrozumieć

1

Tak zgadza się wszystko jest tak jak myślisz (dodam jeszcze że jeżeli chcesz w ciągu umieścić normalnie znak % a nie ma on oznaczać zmiennej to piszesz %% ). Użycie funkcji Format jest nie tyle lepsze co wygodniejsze zwłaszcza w przypadkach gdy mamy do czynienia z wieloma argumentami różnych typów (nie tylko string ale też liczby, daty itp.) wtedy znacznie ułatwia zadanie. Gdy masz same stringi możesz z powodzeniem stosować zapis tak jak zrobiłeś albo użyć funkcji Concat.

1

Tzn. w tym przypadku indeksy argumentów nie są potrzebne, więc wystarczy to:

 Label.Caption := Format('%s /%s/', [zminnaimienazwisko, zmiennaadres]);

Więcej informacji na temat tej funkcji znajdziesz w tym artykule - Format - a także w dokumentacji.

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