Avatar billede alex253 Nybegynder
18. april 2005 - 16:21 Der er 3 kommentarer og
1 løsning

Fra bogstaver til tal

Hej, jeg vil gerne have noget hjælp til hvordan jeg laver et program der, når man har indtastet nogle bogstaver i en Edit og trykker på en Button, pluser programmet de tal som bogstaverne står for sammen.
F.eks:

A=1
B=2
C=3 osv.

Så hvis man i Edit'en skriver:'ABC' og trykker på en Button, så kommer der en meddelelse frem hvor der står:'6'

Nogen der kan hjælpe?

MVH Alex
Avatar billede arne_v Ekspert
18. april 2005 - 17:44 #1
måske noget som:

Edit2.Text := textsum(Edit1.Text);

hvor

function textsum(s : string) : string;

var
  i,sumvar : integer;

begin
  sumvar := 0;
  for i := 1 to length(s) do sumvar := sumvar + (ord(s[i]) - ord('A') + 1);
  result := inttostr(sumvar);
end;

[bare skrevet ind her utestet]
Avatar billede eht Nybegynder
18. april 2005 - 18:18 #2
Det kan gøres på flere måder. Her er en mulighed.

Function GetValue(s:char):integer;
begin
s := UpCase(s); //hvis det er ligegyldigt om det  er store eller små bogstaver
  case s of
  'A': result := 1;
  'B': result := 2;
  'C': result := 3;
  'D': result := 4;
  'E': result := 5;
  'F': result := 6;
  'G': result := 7;
  'H': result := 8;
  'I': result := 9;
  'J': result := 10;
  'K': result := 11;
  'L': result := 12;
  'M': result := 13;
  'N': result := 14;
  'O': result := 15;
  'P': result := 16;
  'Q': result := 17;
  'R': result := 18;
  'S': result := 19;
  'T': result := 20;
  'U': result := 21;
  'V': result := 22;
  'X': result := 23;
  'Y': result := 24;
  'Z': result := 25;
  'Æ': result := 26;
  'Ø': result := 27;
  'å': result := 28;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
s:string;
textsum:integer;
begin
textsum := 0;
s:= Edit1.Text;
for i := 1 to length(s) do
textsum := textsum + GetValue(s[i]);

showmessage('Summen er: ' + IntToStr(textsum));
end;

//Tænk også på hvad der skal ske hvis der skrives andet end bogstaver i feltet.
Avatar billede alex253 Nybegynder
18. april 2005 - 19:16 #3
Det er perfekt! Tak for hjælpen!
Avatar billede kfz Nybegynder
18. april 2005 - 22:26 #4
vil lige tilføje at W kommer efter V :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester