|
W poprzednim rozdziale omówiliśmy konwersje danych. Teraz zajmiemy się operacjami, które możemy na nich wykonać. Zaczniemy od zwiększania i zmniejszania liczb. Możemy to zrobić na dwojaki sposób: zwiększenie x := 10; x := x + 1 --> Inc(x) zmniejszenie x := 10; x := x - 1 --> Dec(x) Funkcje Inc i Dec posiadają jeszcze jedną właściwość, a mianowicie zakres. Jeżeli go nie podamy to x zmieni się o wartość 1 (jak w powyższym przykładzie): x := 10; Inc(x, 10) Powyższy zapis da nam wynik x := 20. Często używaną funkcją jest funkcja Round, która zaokrągla liczbę zmiennoprzcinkową do liczby całkowitej, tzn. 123,4 na 123. Jeżeli chcesz mieć dostępną większą ilość operacji to do deklaracji "uses" musisz dopisać "math". Jest to moduł zawierający funkcje matematyczne. Poniżej lista częściej używanych: Ceil - zaokrągla liczbę w górę Floor - zaokrągla liczbę w dół IntPower - podnosi liczbę do potęgi całkowitej Power - podnosi liczbę do potęgi DegToRad - zamienia stopnie na radiany RadToDeg - zamienia radiany na stopnie Teraz zajmiemy się łańcuchami tekstowymi. Przedstawię 3 funkcje, z których dość często korzystam. Pierwszą z nich jest funkcja Copy, która kopiuje wyznaczony kawałek tekstu, np: var x, y : string; begin x := 'Ala ma kota'; y := Copy(x, 5, 2); Form1.Caption := y; end;Teraz zajmiemy się wytłumaczeniem zawartści Copy: x - tekst z którego kopiujemy wycinek 5 - jest to miejsce znaku od którego będziemy kopiować (liczymy od 0) 2 - jest to ilość znaków które mają być skopiowane W wyniku powyższej operacji tekst w zmiennej y przyjmie wartość 'ma', czyli mówiąc po ludzku skopiowaliśmy wyraz 'ma'. Czas zająć się kolejną funkcją, czyli Delete. Jak nie trudno się domyśleć służy ona do usuwania tekstu. Ma ona taką samą budowę jak Copy: var x : string; begin x := 'Ala ma kota'; Delete(x, 5, 3); Form1.Caption := y; end;x - tekst z którego usuwamy 5 - od którego miejsca kasujem 2 - ile znaków usuwamy Powyższa procedurka da nam w wyniku tekst 'Ala kota', czyli usunęliśmy wyraz ' ma'. Teraz zajmiemy się ciekawą funkcją Pos, która służy do wyszukiwania tekstu w tekście :). Rozważmy taką procedurkę: var x : integer; t : string; begin t := 'txt'; x := pos(t, Memo1.Text); Form1.Caption := IntToStr(x); Memo1.SelStart := x - 1; Memo1.SelLength := Length(t); Memo1.SetFocus; end;Wytłumaczenie: t - szukany tekst x - pozycja szukanego tekstu pos - znalezienie pozycji szukanego tekstu w polu Memo SelStart-1 - zaznaczenie od miejsca znalezienia -1 SelLength - długość zaznaczenia Length(x) - długość szukanego tekstu SetFocus - pokazanie zaznaczenia ...powrót |