Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

Keresés és csere

A StarOffice Basic rendelkezik egy InStr függvénnyel egy karakterlánc másik karakterláncban történő megkereséséhez:

ResultString = InStr (SearchString, MyString)

A SearchString paraméter a keresendő karakterlánc, amelyet meg akarunk találni a MyString karakterláncban. A függvény visszaad egy számot, ahol a SearchString először megtalálható a MyString karakterláncban. Ha a karakterláncnak másik előfordulását akarjuk megtalálni, a függvény lehetőséget biztosít, hogy megadjunk egy kezdőpozíciót, ahonnan a StarOffice Basic elkezdi a keresést. Ebben az esetben a függvény szintaxisa a következő:

ResultString = InStr(StartPosition, MyString, SearchString)

Ez előző példában az InStr nem különböztette meg a kis- és nagybetűket. Ha azt akarjuk, hogy az InStr megkülönböztesse a kis- és nagybetűket, akkor adjuk a függvényhez a 0 paramétert, ahogy az a következő példában látható:

ResultString = InStr(MyString, SearchString, 0)

Az előző függvényekkel a programozók megkereshetnek és lecserélhetnek egy karakterláncot egy másikban:

Function Replace(Source As String, Search As String, NewPart As String)

 Dim Result As String

 Dim StartPos As Long

 Dim CurrentPos As Long

 

 Result = ""

 StartPos = 1

 CurrentPos = 1

 

 If Search = "" Then

       Result = Source

   Else 

       Do While CurrentPos <> 0

           CurrentPos = InStr(StartPos, Search, Source)

           If CurrentPos <> 0 Then

               Result = Result + Mid(Source, StartPos, _

                   CurrentPos - StartPos)

               Result = Result + NewPart

               StartPos = CurrentPos + Len(Search)

           Else

               Result = Result + Mid(Source, StartPos, Len(Source))

           End If ' Pozíció <> 0

       Loop

   End If

   Replace = Result

End Function

A függvény megkeresi a Search karakterláncot az InStr függvény használatával a Source karakterláncban. Ha a függvény megtalálja a keresett szöveget, akkor az adott szöveg előtti részt a Result visszatárási pufferbe menti. Ezután hozzáadja a NewPart karakterláncot a Search karakterlánc helyén. Ha nincs több találat, akkor a függvény a karakterláncból hátralévő részt hozzáadja a visszatérési pufferhez. Ezután visszaadja az így létrehozott karakterláncot a cserefolyamat eredményeként.

Mivel a karakterláncok egy részének lecserélése az egyik leggyakoribb feladat, azért a Mid függvény ki van bővítve a StarOffice Basic programban, így ezt automatikusan el tudja végezni. A következő példában:

Dim MyString As String



MyString  = "Ez itt az én szövegem."

Mid(MyString, 4, 3, "volt")

lecserél három karaktert a volt szóra a MyString karakterlánc negyedik karakterétől.

Karakterláncok formázása

A Format függvény a számokat karakterláncként formázza. Ehhez meg kell adnunk egy formázási kifejezést, amelyet a program sablonként használ a számok formázásához. A sablonban minden helyfoglaló meghatározza a kimenet egy adott karakterét. A sablon öt legfontosabb helyfoglaló karaktere a zero (0), a kettőskereszt (#), a pont (.), a vessző (,) és a dollárjel ($).

A zero karakter a sablonban biztosítja, hogy egy adott szám a megfelelő helyre kerüljön. Ha nincs megadva szám, akkor 0 jelenik meg helyette.

A pont helyett az operációs rendszer területi beállításainak megfelelő tizedesjel jelenik meg.

Az alábbi példa bemutatja, hogyan adhatók meg a tizedesjel utáni számjegyek a nulla és a pont használatával:

MyFormat = "0.00"



MyString = Format(-1579.8, MyFormat)     ' -1579,80 lesz az eredmény

MyString = Format(1579.8, MyFormat)      ' 1579,80 lesz az eredmény

MyString = Format(0.4, MyFormat)         ' 0,40 lesz az eredmény

MyString = Format(0.434, MyFormat)       ' 0,43 lesz az eredmény

Ehhez hasonlóan kezdő nullák adhatók hozzá a számhoz a kívánt hossz eléréséhez:

MyFormat = "0000.00"



MyString = Format(-1579.8, MyFormat)     ' -1579,80 lesz az eredmény

MyString = Format(1579.8, MyFormat)      ' 1579,80 lesz az eredmény

MyString = Format(0.4, MyFormat)         ' 0000,40 lesz az eredmény

MyString = Format(0.434, MyFormat)       ' 0000,43 lesz az eredmény

A vessző az operációs rendszer által ezreselválasztóként használt karaktert helyettesíti, és a kettőskereszt olyan számjegyet vagy helyet jelöl, amely csak akkor jelenik meg, ha szükség van rá.

MyFormat = "#,##0.00"



MyString = Format(-1579.8, MyFormat)   ' -1 579,80 lesz az eredmény

MyString = Format(1579.8, MyFormat)      ' 1 579,80 lesz az eredmény

MyString = Format(0.4, MyFormat)      ' 0,40 lesz az eredmény

MyString = Format(0.434, MyFormat)      ' 0,43 lesz az eredmény

A dollárjel helyén a Format függvény a rendszer pénznemjelét jeleníti meg:

MyFormat = "#,##0.00 $"   

         

MyString = Format(-1579.8, MyFormat)   ' -1 579,80 Ft lesz az eredmény 

MyString = Format(1579.8, MyFormat)      ' 1 579,80 Ft lesz az eredmény 

MyString = Format(0.4, MyFormat)      ' 0,40 Ft lesz az eredmény 

MyString = Format(0.434, MyFormat)      ' 0,43 Ft lesz az eredmény 


Előző Előző     Tartalom     Tárgymutató     Következő Következő