Læsning fra fil

Tags:    asp.net

<< < 12 > >>
Hej Alle.

Jeg er i øjeblikket igang med at prøve at lave en lille ASP side.
På siden har jeg nogle tabeller 1-8, hvor jeg prøver at komme ord ind i tabellerne læst fra en fil, hvor ordne er separeret med #.

Indtil videre har jeg lavet en metode der opretter tabellen og jeg er nået til at, få de rigtige ord/sætninger ind i de rigtige tabeller, men er gået i stå.

Fold kodeboks ind/udCSharp kode 

path er den sti filen ligger på. Og filen indeholder
test#test2#test3

Nogen der kan sige mig om jeg er på rette spor?

Tak på forhånd



Indlæg senest redigeret d. 24.07.2011 00:14 af Bruger #16700
15 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Christian
Bare så du ved det så laver ASP.Net elementer det selv om til HTML elementer så når siden kommer ud og du ser den kommer der <tr><td></td><tr> ud.
Du kan prøve at bruge mit kodeeksempel, køre det og se hvad der kommer ud på siden :)
Så er det præcis det samme output, men bare "pakket lidt pænt ind" så det nemmere for dig at lave en række og nogle celler i rækken fx.:)



Hej Alle. Jeg har siddet og leget lidt med dette her, og har formået et lave nogle fremskridt. Jeg ville gerne takke alle for deres indlæg. Syntes det er god inspiration, til projektor.

Jeg fik lavet noget code-behind, som fik skrevet en linje i en tekst fil til en table med 8 celler. Med opdeling af tekst filen de rigtige steder. Nu prøver jeg at gøre det samme, nu er der bare mere end en linje i tekst filen, som ville generere mere end en table. Men jeg får en fejl som hedder

Unable to cast object of type 'System.String[]' to type 'System.String'.

koden jeg sidder og leger med er som følge
Fold kodeboks ind/udCSharp kode 

mit arraylist, hvor lines bliver tilføjer ser således ud
Fold kodeboks ind/udCSharp kode 


Håber der er nogle der kan kaste lidt lys over fejl beskrivelsen. Så vidt jeg selv forstår så er det noget med at, det objekt der ligger i min arraylist ikke matcher eller kan skrives til en tekstboks. Men hvad skal man så gøre med objektet inden det skal skrives til en tekst boks?

Takker på forhånd.

Mvh



Jeg tror jeg har en ide om hvorfor det går galt.
Du bruger ArrayList som ikke er typefast, hvor hvis du bruger List<string> så får du samme funktionalitet, men hvor det du putter ind og får ud er sikret er string og du kan få kompileringsfejl tidligere også.

Dit problem er følgende:
Fold kodeboks ind/udCSharp kode 

Her har du tilføjet dit string-array (string[]) til din ArrayList ( test.add(lines); ) så nu indeholder din arraylist et stringarray.
Dette er fordi lines er af typen string array (string[]) som du jo tilføjer til din arrayliste, og da denne kan tage alle typer objekter kan dette sagtens lade sig gøre da du blot skal vide hvad der er i når du tager dem ud igen.
Hvis du her havde brugt List<string> ville du ikke få lov at skrive "test.add(lines);" da objektet lines ikke er en string.

I koden nedenunder går det så galt:
Fold kodeboks ind/udCSharp kode 

Her forsøger den at lave det første element ( [0] ) om til en string, men her er placeret et String[] istedet som "lines" jo er typen af.
Derfor kan den ikke lave et string-array om til en string som du beder den om, og derfor du får fejlen.

Du kan enten bruge en metode på lines til at lave den til arraylist eller list, kan ikke huske syntaksen, men sådan vil du kunne overskrive dit array test så du får elementerne ind i. Ellers tror jeg du kan bruge AddRange(lines) som tilføjer flere elementer på en gang, men ved ikke om den kan fungere i denne sammenhæng - prøv dig frem.
Hvis det var mig ville jeg bruge List<string> istedet da den er typefast og meget nemmere at arbejde med også.
P.S. Se eventuelt nærmere på at placere lines konstruktøren udenfor dit peek-loop for ikke at oprette dette array hver gang - minimalt waste, men blot god kodestil så man får det god standart.

Håber det hjalp dig videre :)



Indlæg senest redigeret d. 07.08.2011 20:08 af Bruger #16651
Hej Laurits. Jeg fik løst det ved
Fold kodeboks ind/udCSharp kode 

:p



Det var så lidt.
P.S. husk at afgive stemmer til dem/den der har hjulpet dig med dit problem :)



<< < 12 > >>
t