Avatar billede slowaterz Nybegynder
17. januar 2001 - 16:53 Der er 6 kommentarer og
1 løsning

Array manupulation

Jeg har et array bestående af tolv strenge (navne på månederne). Jeg skal finde ud af, hvilken plads i array\'et en given streng svarer til - altså konvertere et måned-navn til et tal (1 - 12). Det kan selvfølgeligt gøres med en løkke, der løber igennem array\'et og sammenligner strengene, men jeg mener at kunne huske et eller andet om nogle smarte tricks min Turbo-pascal lærer kunne... Jeg kan bare ikke finde det ... Eller også husker jeg fejl ...

Er der nogen, der har nogen ideer ?
Avatar billede borrisholt Novice
17. januar 2001 - 16:57 #1
Med tolv strenge i et arrya kan det så betale sig at begynde på noget smart .... Hvad med kun at kigge på det første karekter i dit array ?

Jens B
Avatar billede slowaterz Nybegynder
17. januar 2001 - 16:59 #2
Hvad med Juni og Juli ? Og Marts og Maj for den sags skyld ...
Avatar billede torbenthyregod Nybegynder
17. januar 2001 - 21:03 #3
Du tror ikke han har brugt en TStringlist i stedet for.Med den kan du add\'e alle månederne

list.add(\'Januar\');
list.add(\'Februar\');
osv.

og derefter bruge

List.Indexof(\'Februar\')+1

for at få nummeret
Avatar billede slowaterz Nybegynder
18. januar 2001 - 07:49 #4
Jeg er sikker på, at det var et array - som sagt var det i et eller andet Turbo Pascal program. Om det var et array af strenge eller heltal, kan jeg ikke huske, men det var noget lignende IndexOf(\'Februar\') der blev brugt.
Avatar billede torbenthyregod Nybegynder
18. januar 2001 - 08:09 #5
I turbo pascal hedder den \"næsten\" samme funktionalitet TCollection (Hvis det siger dig noget). Der kan man også bruge Indexof, hvis man bruger en collection af typen TSortedCollection.

I turbo pascal mener jeg også man kan lave en type definition af en array

type
  mdr = array[\'Januar\', \'Februar\', ...osv] of byte;

Jeg ved ikke om det hjælper ???
Avatar billede slowaterz Nybegynder
18. januar 2001 - 09:09 #6
Jeg får denne fejl, når jeg prøver at oprette en ny type :  \"[Error] Main.pas(38): \'..\' expected but \',\' found\" - og compileren vil heller ikke godtage \"..\" mellem måned-navnene - så får jeg en \"incompatible types\" fejl.

Jeg kan heller ikke finde noget om TSortedCollection - er du sikke på navnet ?

torbenthyregod <<< Tak for hjælpen. Jeg har nu oprettet en TStringList og bruger den til at konvertere fra navne til tal og omvendt. Hvis du vil have de 30 point, kan du bare oprette et svar til spørgsmålet.
Avatar billede torbenthyregod Nybegynder
18. januar 2001 - 09:29 #7
TSortedCollection :
Jeg har set efter og i Borland pascal Ver. 7.0 ligger den i uniten Objects, Du troede måske det var i delphi ??)

Point : jo tak, det er da meget godt !!

Torben
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