I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Når man så ved det kan man hurtigt finde ud af om et bogstav er stort eller lille - lav eksempelvis en for to loop lykke:
var i : integer; s : string; begin s = \'F\'; //bogstavet du gerne vil vide er stort eller lille for i := 0 to 25 {90 - 65 = 25} do if chr(65+i) = s then showmessage(s+\' er et strot bogstav\') else for i := 0 to 25 do if chr(97+i) = s then showmessage(s+\' er et lille bogstav\'); end;
Prøv det her og se om det virker (har nemlig ikke selv prøvet det... Hvis ikke så lad mig vide det så vi kan finde en anden løsning)
OK - vi prøver igen (har prøvet at kompile denne gang)...
var i : integer; s : string; begin s := \'A\'; //bogstavet du gerne vil vide er stort eller lille for i := 0 to 25 {90 - 65 = 25} do if chr(65+i) = s then showmessage(s+\' er et stort bogstav\') else if chr(97+i) = s then showmessage(s+\' er et lille bogstav\'); end;
Hvis man kigger på chr værdierne så ses det at alle chr værdier over 228 er følgende æ, ø og å over under 229 er Æ,Ø og Å så tilføj følgende:
... if chr(97+i) = s then showmessage(s+\' er et lille bogstav\') else //følgende tilføjes æ, ø og å for i1 := 0 to 100 do if chr(160+i1) = s then if i1+160 >= 229 then showmessage(s+\' er et lille bogstav\') else showmessage(s+\' er et Stort bogstav\'); end;
var i, i1 : integer; s : string; begin s := \'Å\'; //bogstavet du gerne vil vide er stort eller lille for i := 0 to 25 {90 - 65 = 25} do if chr(65+i) = s then showmessage(s+\' er et stort bogstav\') else if chr(97+i) = s then showmessage(s+\' er et lille bogstav\') else for i1 := 0 to 100 do if chr(160+i1) = s then if i1+160 >= 229 then showmessage(s+\' er et lille bogstav\') else showmessage(s+\' er et Stort bogstav\'); end;
type TLetterKind = (lkSmall, lkBig, lkSymbol); function GetLetterKind(const ch : Char) : TLetterKind; var i : Integer; begin (* æ = chr(230) Æ = chr(198) ø = chr(248) Ø = chr(216) å = chr(229) Å = chr(197) *) i := ord(ch); Result := lkSymbol; if i in [65..90, 198,216, 198] then result := lkSmall; if i in [97..90, 230,248, 229] then result := lkBig; end;
function IsCharBig(ch: char): boolean begin result := (ch = UpperCase(ch)); end;
function IsCharSmall(ch: char): boolean begin result := (cd = LowerCase(ch)); end;
Så slipper man for at bøvle med at finde diverse karakterområder. LowerCase og UpperCase bruger (så vidt jeg lige kan huske) regional settings i Windows til at finde store og små bogstaver.
type TLetterKind = (lkSmall, lkBig, lkSymbol); function GetLetterKind(const ch : Char) : TLetterKind; var i : Integer; begin (* æ = chr(230) ø = chr(248) å = chr(229) Æ = chr(198) Ø = chr(216) Å = chr(197) *) i := ord(ch); Result := lkSymbol; if i in [65..90, 198, 216, 197] then result := lkBig; if i in [97..122, 230, 248, 229] then result := lkBig; end;
unclebug >> Buuuh !!! Der er bare noget du har fundet på fordi du ikke kan lige min løsning. Nu var jeg ellers lige så stolt af den !!!!!
:-)
Jens B
Synes godt om
Slettet bruger
25. juli 2001 - 23:22#21
Tak for jeres hurtige svar da de alle ser ud til at virke får i alle nogle point.
Mvh. Simon
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.