Problemer med ord funktionen

Tags:    delphi

Hej,
Jeg har et problem med ord funktionen.

Jeg kan sagtens lave:
showmessage(floattostr(ord('a'));
men følgende virker ikke

showmessage(floattostr(ord(copy(s,x,x))));

og det forstår jeg ikke, da copy funktionen virker og kun udskriver et bogstav

mvh
Lars



8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hej Lars

Dit problem er nok fordi Copy returnerer en streng og Ord skal have en char.

Mik D.



Hej Jeppe,

Jeg kan ikke bruge den showmessage du viste, da den skal hente en char fra et vidst punkt i strengen.

mvh
Lars

Bosh, hvis du lige smider et svar, så får i begge 10 point

mvh
Lars
Ja, du skal bruge en char istedet for en string. Det kan du gør sådan her:

Fold kodeboks ind/udKode 


Husk at være sikker på at længen af S er større end 0... ellers får du fejl.

Kim Jensen aka BOSH
http://www.hulubulu.dk


brug den sådan her istedet:

showmessage(inttostr(ord(copy(s,x,1)[1])));

Jeppe Johansen
Jeppesoftware@hotmail.com


copy funktionen tager en string som første argument. næste integer er positionen den skal starte fra. det sidste er længden. hvis du smider x ind som længden får du på et eller andet tidspunkt en AV når du kalder efter en char der er på den anden side af stringens halve længde... derfor hvis du kun kalder med længden 1 så får du kun et char tilbage.. egentlig kunne du bare bruge denne måde:

showmessage(inttostr(ord(s[x]));

Jeppe Johansen
Jeppesoftware@hotmail.com



Hej Lars

Dit problem er nok fordi Copy returnerer en streng og Ord skal have en char.

Mik D.


Det er jeg klar over, men hvordan kan jeg ændre det, så jeg kan bruge funktionen?

mvh
Lars



Ja, du skal bruge en char istedet for en string. Det kan du gør sådan her:

Fold kodeboks ind/udKode 


Husk at være sikker på at længen af S er større end 0... ellers får du fejl.

Kim Jensen aka BOSH
http://www.hulubulu.dk



Bosh, hvis du lige smider et svar, så får i begge 10 point

mvh
Lars
Ja, du skal bruge en char istedet for en string. Det kan du gør sådan her:

Fold kodeboks ind/udKode 


Husk at være sikker på at længen af S er større end 0... ellers får du fejl.

Kim Jensen aka BOSH
http://www.hulubulu.dk





Bosh, hvis du lige smider et svar, så får i begge 10 point

mvh
Lars
Ja, du skal bruge en char istedet for en string. Det kan du gør sådan her:

Fold kodeboks ind/udKode 


Husk at være sikker på at længen af S er større end 0... ellers får du fejl.

Kim Jensen aka BOSH
http://www.hulubulu.dk


brug den sådan her istedet:

showmessage(inttostr(ord(copy(s,x,1)[1])));

Jeppe Johansen
Jeppesoftware@hotmail.com



Hej Jeppe,

Jeg kan ikke bruge den showmessage du viste, da den skal hente en char fra et vidst punkt i strengen.

mvh
Lars

Bosh, hvis du lige smider et svar, så får i begge 10 point

mvh
Lars
Ja, du skal bruge en char istedet for en string. Det kan du gør sådan her:

Fold kodeboks ind/udKode 


Husk at være sikker på at længen af S er større end 0... ellers får du fejl.

Kim Jensen aka BOSH
http://www.hulubulu.dk


brug den sådan her istedet:

showmessage(inttostr(ord(copy(s,x,1)[1])));

Jeppe Johansen
Jeppesoftware@hotmail.com





Jeg tror at jeg ville gøre følgende

Ch:=copy(s,x,1);
showmessage(inttostr(ord(Ch));

Mik D.



t