Pokażę tu kolejny przykład.
Standardowy string jaki zwraca wbudowana funkcja Date$ to osiem znaków pozbawione tysięcy i setek lat czyli "26/09/18"
Jeśli mamy potrzebę by rok był zapisany w sposób "26/09/2018" to już wymaga trochę "gimnastyki"
Symulator może pomóc w doborze rozwiązania i pokazuje, że użycie nawet funkcji MID może dwukrotnie sprawę przyspieszyć...
Nie chodzi tu o jakieś każdorazowe optymalizacje tylko nabieranie lepszych nawyków.
Sprawdzisz raz i na drugi raz nie zastanawiasz się przy innym rozwiązaniu tylko śmigasz na skróty

Code: [Zaznacz cały] [Rozwiń/Zwiń]
- $regfile = "m32def.dat"
- $crystal = 8000000
- $hwstack = 64
- $swstack = 32
- $framesize = 128
- $sim
- Config Clock = User
- Config Date = Dmy , Separator = "/"
- Dim Date_str As String * 15
- _day = 26
- _month = 9
- _year = 18
- Date_str = "26/09/18" 'zamiana na 26/09/2018
- nop
- Date_str = Date(_day)
- Date_str = Mid(date_str , 1 , 6) + "20"
- If _year < 10 Then Date_str = Date_str + "0"
- Date_str = Date_str + Str(_year) '3484c 0.43ms
- If _day < 10 Then Date_str = "0" Else Date_str = ""
- Date_str = Date_str + Str(_day) + "/"
- If _month < 10 Then Date_str = Date_str + "0"
- Date_str = Date_str + Str(_month) + "/20"
- If _year < 10 Then Date_str = Date_str + "0"
- Date_str = Date_str + Str(_year) '9770c 1.22ms
- nop
- Print Date_str
- End