Basic-funktionen InStr og æøåÆØÅ

Skriv et indlæg her, hvis du tror du har fundet en fejl i LibreOffice, eller hvis du har forslag til rettelser i den danske oversættelse.

Moderator: Lodahl

Post Reply
Sveinir
Posts: 7
Joined: 29. Nov 2008 00:18
Location: 2000 Frederiksberg

Basic-funktionen InStr og æøåÆØÅ

Post by Sveinir »

Basic-funktionen InStr skelner som standard ikke mellem små og store bogstaver - undtagen for de danske bogstaver æøåÆØÅ. Eksempler:

Code: Select all

' InStr("pppeppp","e") = 4
' InStr("pppeppp","E") = 4
' InStr("pppEppp","e") = 4
' InStr("pppEppp","E") = 4

' InStr("pppæppp","æ") = 4
' InStr("pppæppp","Æ") = 0   FEJL!
' InStr("pppÆppp","æ") = 0   FEJL!
' InStr("pppÆppp","Æ") = 4

' InStr("pppøppp","ø") = 4
' InStr("pppøppp","Ø") = 0   FEJL!
' InStr("pppØppp","ø") = 0   FEJL!
' InStr("pppØppp","Ø") = 4

' InStr("pppåppp","å") = 4
' InStr("pppåppp","Å") = 0   FEJL!
' InStr("pppÅppp","å") = 0   FEJL!
' InStr("pppÅppp","Å") = 4
Derfor må man tage en af funktionerne LCase og UCase til hjælp; de fungerer også for æøåÆØÅ. Eksempel:

Code: Select all

' InStr(LCase("pppÅppp"),"å") = 4
Lodahl
Posts: 1961
Joined: 14. Sep 2005 08:27
Location: Storkøbenhavn
Contact:

Post by Lodahl »

Bemærk at funktionen InStr har en compare parameter:
Valgfri numerisk udtryk der angiver typen af sammenligning. Værdien af denne parameter kan være 0 eller 1. Standard værdien 1 specificerer en tekstsammenligning som ikke gør forskel på små og store bogstaver. Værdien 0 specificerer en binær sammenligning der gør forskel på små og store bogstaver.
Men der er alligevel en fejl som allerede er kendt http://qa.openoffice.org/issues/show_bug.cgi?id=73565. Jeg tilføjer at også de danske karakterer er berørt af fejlen.
Med venlig hilsen

Leif Lodahl
Blog: https://libreofficedk.blogspot.dk
LibreOffice: http://da.libreoffice.org
Post Reply