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
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
Label.Caption := Format('%0:s /%1:s/', [zminnaimienazwisko, zmiennaadres]);
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ć
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.
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.