1 / 13

Osnove znakova i stringova

Osnove znakova i stringova Svaki znak je interno predstavljen kao small integer (8 bita - raspon između 0 i 255), npr. 65 predstavlja veliko slovo A, 66 veliko slovo B, 97 malo slovo a, 98 malo slovo b...

luke
Download Presentation

Osnove znakova i stringova

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Osnove znakova i stringova • Svaki znak je interno predstavljen kao small integer (8 bita - raspon između 0 i 255), npr. 65 predstavlja veliko slovo A, 66 veliko slovo B, 97 malo slovo a, 98 malo slovo b... • Set vrijednosti koje može predstaviti small integer zove se ANSI (American National Standards Institute) niz znakova. • Prvih 128 ANSI znakova (vrijednosti small integer-a između 0 i 127) odnose se na ASCII (American Standard Code for Information Interchange) vrijednosti. ANSI vrijednosti između 128 i 255 predstavljaju mnoštvo specijalnih znakova. • String je niz znakova koji se tretira kao zasebna cjelina. String može uključivati slova, brojeve, te razne specijalne znakove kao što su +, -, *, /, $ i druge • Stringovi se u Visual Basic-u pišu kao niz znakova u znakovima navodnika kao npr: “John Q. Doe” - (ime) • “9999 Main Street” - (adresa) “Somewhere, Massachusetts” - (grad i država) “(555) 555-5555” - (broj telefona)

  2. Manipulacija sa stringovima unutar računala uključuje zapravo manipulaciju sa odgovarajućim brojčanim kodovima (small integer-i koje smo prije spominjali) a ne sa samim znakovima • String tip podatka • Dva su tipa stringova koje možemo deklarirati: stringovi promjenljive duljine i stringovi stalne duljine • Stringovi promjenljive duljine mogu imati do 2,147,483,648 znakova dok stringovi stalne duljine mogu imati do 65,536 znakova • Po default-u varijable stringova su promjenljive duljine koje se dinamički smanjuju odnosno povećavaju zavisno o stringovima koji su im pridruženi • Dim s As String s=“blue” • Stringovi promjenljive duljine se deklariraju na slijedeći način: • Dim imevarijable As String*size • Dim BrojSocijalnogOsiguranja As String*11

  3. Ulančavanje stringova sa & i + • s1=“Pro” • s2=“gram” • s3=s1&s2 • ili • s3=s1+s2 • Ako se koristi operator + u izrazima koji se sastoje od više tipova podataka, to može uzrokovati problem. Na primjer u izrazu • s1=“Hello”+22 • Visual Basic prvo pokušava pretvoriti string “Hello” u broj, a zatim ga dodati broju 22, što će izazvati pogrešku. Zbog ovog razloga bolje je koristiti operator &

  4. Uspoređivanje stringova • Visual Basic dopušta sve relacijske (<, <=, >, >=) i operatore jednakosti (=, <>) za uspoređivanje stringova • StrComp funkcija se koristi za usporedbu dvaju stringova • Kako računalo zna koje slovo dolazi ispred drugoga? Svi su znakovi u računalu ustvari brojčani kodovi i kada računalo uspoređuje stringove, ono ustvari uspoređuje brojčane kodove • Funkcija StrComp prihvaća neobavezni treći argument koji označava tip usporedbe. Konstanta vbCompareOption označava da je tip usporedbe onaj koji je definiran u izrazu Option Compare na nivou modula • Option Compare type • gdje je type Binary, Text ili Database. Ako se ne koristi izraz Option Compare, uzima se Binary tip usporedbe • Za samu usporedbu koriste se operatori =, <>, <, >, <=, i >= • Npr. kod binarne usporedbe stringova “hello” i Hello”, “Hello” se smatra manjim od “hello” jer u ASCII setu znakova “h” dolazi iza “H”

  5. Operator Like • Operator Like pruža drugi način usporedbe stringova. On dopušta programeru uspoređivanje uzoraka isto kao i stringova.Npr: • “HBLT55DD” Like “HBLT55DD” • i • “HBLT55DD” Like “HBLT*” • su oboje True • Znak * - asterisk zamjenjuje bilo koji broj znakova, dok ? zamjenjuje jedan bilo koji znak, # zamjenjuje jednu brojčanu znamenku pa tako • “HBLT55DD” Like “?#LT55DD” • je False jer drugo slovo stringa HBLT55DD nije znamenka • “HBLT55DD” Like “H[A-F]LT55DD” • je True jer se drugi znak u stringuHBLT55DD nalazi imeđu A i F • “HBLT55DD” Like “H[A-F]LT[!4-7]5DD” • je False jer je peti znak između 4 i 7. (Uskličnik se ponaša kao operator Not kada se stavi unutar uglatih zagrada)

  6. Baratanje sa pojedinačnim znakovima u Stringu : Mid$ • Visual Basic pruža nekoliko različitih načina za upućivanje na pojedinačne znakove unutar stringa • Funkcija Mid$ ima tri argumenta: izvorni string iz kojeg ćemo selektirati substring, pozicija startnog znaka u stringu i broj znakova koje želimo selektirati • Mid$(“fraza”,1,2) ‘ vraća “fr” • x=“Visual Basic 6!” • Mid$(x,2,3)=“xxx” ‘ mijenja sadržaj varijable x u “Vxxxal Basic 6!” • Funkcija Len se koristi za određivanje broja znakova u stringu • Len(“fraza”)‘ vraća 5

  7. Left$, Right$ i InStr • Left$ selektira najlijevilji dio stringa. Npr ako su s1 i s2 string varijable: • s1=“ABCDEF” • s2=Left$(s1,4) ‘ selektira četiri četiri znaka slijeva u s1 ‘ i pridružuje s2 ABCD • Right$ selektira najdesniji dio stringa • s1=“ABCDEF” • s2=Right$(s1,4)‘ selektira četiri četiri znaka sdesna u s1 i ‘ pridružuje s2 CDEF • InStr funkcija je korisna za pretraživanje search string-a unutar stringa koji se zove base string. Ako je pronađen search string, funkcija vraća poziciju početnog znaka search string-a • s1=“AEIOU” • s2=“IOU” • result=InStr(1,s1,s2) ‘ InStr vraća 3

  8. Ako InStr ustanovi da nije pronađen traženi string, vraća nulu: • result=InStr(1,”aeiou”, “aeb”) • result=InStr(4,”aeiou”, “iou”) • result=InStr(1,”aeiou”, “aeiouy”)

  9. LTrim$, RTrim$ i Trim$ • Funkcije LTrim$, RTrim$ i Trim$ uklanjaju prednje razmake s lijeve strane stringa, razmake s kraja stringa te razmake s obje strane stringa • String$ i Space$ • Funkcije String$ i Space$ kreiraju stringove određenog broja znakova • String$ kreira string određenog znaka, a Space$ kreira string od razmaka • String$(10, “A”) ‘ vraća “AAAAAAAAAA” • String$(5, 97) ‘ vraća “aaaaa” • Space$(5) & String$(5,”a”) ‘ vraća “ aaaaa”

  10. Zamjena substringova u stringu korištenjem funkcije Replace • U funkciji Replace prvi argument je string u kojem će biti zamijenjen substring, drugi argument je substring kojeg tražimo i želimo zamijeniti, treći argument je string kojim zamjenjujemo substring • Funkcija Replace ima još tri neobavezna argumenta: četvrti argument predstavlja početnu poziciju traženja substringa, peti argument određuje broj zamjena, šesti argument određuje tip usporedbe korištenjem jedne od konstanti usporedbe • Obrtanje stringova korištenjem funkcije StrReverse • StrReverse(“Welcome to Visual Basic”) ‘ vraća • ‘ “cisaB lausiV ot emocleW”

  11. Konvertiranje stringova u velika i mala slova • Funkcije UCase$ i LCase$ konvertiraju stringove u sva velika i sva mala slova • UCase$(“Visual Basic 6”) ‘ vraća “VISUAL BASIC 6” • LCase$(“Visual Basic 6”) ‘ vraća “visual basic 6”

  12. Funkcije za konverziju • Asc i Chr$ • Funkcija Asc vraća ASCII kod koji odgovara danom znaku • Asc(“a”) ‘ vraća 97 • Funkcija Chr$ je komplement funkciji Asc, vraća string koji odgovara danom ASCII kodu • Chr(97) ‘ vraća “a” • IsNumeric, Val i Str$ • Funkcije IsNumeric, Val i Str$ su korisne za pretvaranje između brojeva i stringova • Funkcija Val pretvara string u broj • Funkcija Str$ je komplement funkciji Val - pretvara broj u string

  13. Funkcija IsNumeric vraća True ako string prikazuje broj • Hex$ i Oct$ • Funkcija Hex$ pretvara broj u hexadecimalni (s bazom 16) string • Funkcija Oct$ pretvara broj u oktalni (s bazom 8) string

More Related