Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Dokumentacja AMX Mod X v. 11.5 Uzupełnionych funkcji: Sortowanie: Według modułów | Alfabetycznie
Szukaj funkcji:

3rdParty
Core
Cstrike
CSX
DoDX
Engine
ESF
Fakemeta
Fun
fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
Regex
Sockets
Sql
SQLx
dbi
TFCX
TSFUN
TSX
tsx

format

Dodane 04.05.2010 17:41 przez: R3X
#
  


Opis

Pozwala na zapisanie łańcucha znaków używając ciągów formatujących.



Składnia

format(output[], len, const format[])

Typ

Natywny

Notatki

  • output - tablica wynikowa, tam wpisany zostanie sformatowany tekst.
  • len - długość bufora na wynik.
  • format, ... - string do formatowania wraz z parametrami do podstawienia.

Ogólnie koncepcja polega na łączeniu wielu różnych typów danych w stringu.
Używamy zwyczajnego tekstu w "cudzysłowie", a w miejscach, które mają zostać wypełnione danymi wpisujemy odpowiednie instrukcje formatujące.
Każda z nich rozpoczyna się od znaku procenta (%), który spełnia tu specjalną funkcję.
Znak następujący po % określa jak traktować podany argument:



Ile instrukcji formatujących w tekście tyle parametrów musimy podać.

new szText[128];

format(szText, 127, "Mam %d psy i %d koty.", 3,  4);
// lub
format(szText, 127, "Pi to ok %f.", 3.14);
// lub
format(szText, 127, "Lubie pisac w %s", "Pawnie");

Między znakiem % a znakiem formatu można umieszczać szczegółowe formuły formatujące.

Podstawową formułą jest ilość znaków:

format(szText, 127, "%10d", 2); // 2

co oznacza, że wartość 2 ma zostać zapisana na 10 znakach. Skoro liczba 2 jest jednocyfrowa otrzymamy przed nią dokładnie 9 spacji.
 
Dla liczb rzeczywistych można ustalić precyzję wyniku:

format(szText, 127, "%.2f", 2.0); // 2.00

Obie formuły można ze sobą połączyć w taki sposób:

format(szText, 127, "%6.2f", 2.0); // 2.00

Aby spacje były dopisywane za, a nie przed liczbą używamy znaku minus

format(szText, 127, "[%-6.2f]", 2.0); // [2.00 ]

Spacje przed wartością można zamienić na inny znak, np. 0, dopisując je przed liczbą znaków:

format(szText, 127, "[%06.2f]", 2.0); // [002.00]

Przykład formatowania czasu (prosta zamiana sekund na mm:ss):

new iSekundy = 75;
format(szText, 127, "%02d:%02d", iSekundy/60, iSekundy%60); // 01:15

Występuje tu jeden charakterystyczny format. Mowa o %L >> Opis użycia



Uwagi

Ta funkcja działa wolniej niż formatex, ale możliwe jest podanie wyjściowej tablicy jako jeden z parametrów.

Wiele funkcji, jak np. client_print czy log_amx, pozwala na podawanie argumentu tekstowego w ten sposób.




Edytowane 07.11.2013 10:59 przez:
  




Zakaz używania, kopiowania i innego wykorzystywania treści witryny oraz innych materiałów w niej zawartych bez zgody autorów. Wszelkie prawa zastrzeżone. © 2009-2024