Val converts the string value S to its numeric representation, as if it were read from a text file with Read.
S is a string-type expression; it must be a sequence of characters that form a signed real number.
V is an integer-type or real-type variable. If V is an integer-type variable, S must form a whole number.
Code is a variable of type Integer.
If the string is invalid, the index of the offending character is stored in Code; otherwise, Code is set to zero. For a null-terminated string, the error position returned in Code is one larger than the actual zero-based index of the character in error.
Val performs range checking differently depending upon the setting of the $R compiler directive and the type of the parameter V.
procedure TForm1.Button1Click(Sender: TObject); var i, cnt : Integer; begin val(Edit1.Text, i, cnt); if cnt <> 0 then ShowMessage('Der er andet end tal i strengen') else ShowMessage('Strengen indeholder kun tal'); end;
procedure TForm1.Button1Click(Sender: TObject); Var tmpStr : String; I,NR : Byte; begin Nr:=0; tmpStr:='10987'; For I:=1 to Length(tmpStr) do begin if not (tmpStr[I] in ['0'..'9']) then begin Inc(Nr); end; end; if Nr=0 then begin Showmessage('Kun tal') end else Showmessage('Ikke kun tal') end;
>>kayb Du skal lige huske på at din procedure er lidt langsom! Val er desværre hurtigere, og så kan din kun virke hvis vi har en streng der er kortere end 255 tegn! Lidt usandsynligt med et tal, men alligevel! ;)
>>blackbyte Skal du konvertere din streng til et tal, eller skal du bare teste om der er noget andet end tal i din streng, for så er der en lettere måde at gøre det på!
Jamen der kan faktisk være noget i din metode som morten_s har overset... Hvis nu det er en streng på 10432 der kun indeholder tal, så er det altså RET meget at lægge i en Integer!!! Så er det nemlig (næsten) din metode han skal bruge!!! Så burde man nok bare overveje at bruge Copy i stedet for []...
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.