Avatar billede tango42 Nybegynder
30. oktober 2003 - 15:03 Der er 5 kommentarer og
1 løsning

Et ? vedr. int

Hey,
det er måske et meget banalt ?, men jeg har en integer I, som jeg gerne vil have over i en Tmemorystream S...Hvor mange byte skal jeg have med i følgende udtryk?

Jeg skriver S.Write(I, ?); // Hvor mange byte?
Avatar billede Slettet bruger
30. oktober 2003 - 15:06 #1
En integer fylder 4 byte.
Avatar billede Slettet bruger
30. oktober 2003 - 15:07 #2
Så det må være:

S.Write(I, 4);
eller
S.Write(I, SizeOf(I));
Avatar billede hermandsen Juniormester
06. november 2003 - 11:09 #3
>>hejhej
Det skal du nok passe lidt på med!! :)

Typerne Integer og Cardinal er nemlig typer af Windows, og fylder derfor hvad der svarer til bit-versionen af styresystemet...
Altså er en Win32 Integer = 4 bytes. 32 bit = 4 bytes.

Men skriver man applikationer til F.eks. Windows 3.1, så fylder en Integer pludselig kun 2 bytes!!

Igen kommer en Integer i et 64-bit OS så til at fylde 8 bytes!!

Vil man skrive applikationer der er bagud/forud kompatible med koden, er man derfor nød til at bruge Longint og Longword til 4 bytes variabler...

Så kom det også lige på plads!! ;)

//hermandsen
Avatar billede Slettet bruger
06. november 2003 - 14:42 #4
Nå.. vidste jeg ik :)

Men skal man ik bare bruge S.Write(I, SizeOf(I)); istedet for S.Write(I, 4); ??
Avatar billede hermandsen Juniormester
06. november 2003 - 14:43 #5
Jo!! ;)
Avatar billede Slettet bruger
06. november 2003 - 14:45 #6
Godt :)
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