/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Split & multidimentional arrays
Fra : ST


Dato : 27-08-04 19:57

Hej, jeg har tidligere lagt et indlæg i gruppen som omhandler indlæsning af
komma/tab-separerede filer i gruppen.

Jeg har ingen problemer med kommaseparerede filer. Jeg kan læse en
2-dimensionel kommasepareret fil op i hukommelsen på
følgende måde

Open Filename For Input As #FileNo
Do Until EOF(FileNo)
Input #FileNo, Count, Coordinates
XY = XY + 1
Loop

Seek #FileNo, 1
ReDim CoastLine(XY - 1, 1)
For z = Lbound(coastline) to Ubound(coastline)
Input #FileNo, CoastLine(z, 0), CoastLine(z, 1)
Next z
Close FileNo
End If


Jeg har fået noget hjælp med Split funktionen, men så vidt jeg kan se kan
den kun lave et 1-dimensionelt array ud af min 2-dimensionelle fil.

Skal jeg virkelig til at omdanne et 1-dimensionelt array til et
2-dimensionelt for at få læst data ind, eller kan det gøres lige så simpelt
som ovenfor.

(((Hele problematikken kommer af, at man i Danmark bruger komma som
decimalseparator).



 
 
ST (30-08-2004)
Kommentar
Fra : ST


Dato : 30-08-04 18:32

Så lykkes det selv at finde ud af det.


"ST" <ST@notvalid.dk> wrote in message
news:412f83ff$0$238$edfadb0f@dread16.news.tele.dk...
> Hej, jeg har tidligere lagt et indlæg i gruppen som omhandler indlæsning
af
> komma/tab-separerede filer i gruppen.
>
> Jeg har ingen problemer med kommaseparerede filer. Jeg kan læse en
> 2-dimensionel kommasepareret fil op i hukommelsen på
> følgende måde
>
> Open Filename For Input As #FileNo
> Do Until EOF(FileNo)
> Input #FileNo, Count, Coordinates
> XY = XY + 1
> Loop
>
> Seek #FileNo, 1
> ReDim CoastLine(XY - 1, 1)
> For z = Lbound(coastline) to Ubound(coastline)
> Input #FileNo, CoastLine(z, 0), CoastLine(z, 1)
> Next z
> Close FileNo
> End If
>
>
> Jeg har fået noget hjælp med Split funktionen, men så vidt jeg kan se kan
> den kun lave et 1-dimensionelt array ud af min 2-dimensionelle fil.
>
> Skal jeg virkelig til at omdanne et 1-dimensionelt array til et
> 2-dimensionelt for at få læst data ind, eller kan det gøres lige så
simpelt
> som ovenfor.
>
> (((Hele problematikken kommer af, at man i Danmark bruger komma som
> decimalseparator).
>
>



Jonas Schmeltz Aaber~ (30-08-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 30-08-04 20:05

"ST" <ST@notvalid.dk> skrev i en meddelelse
news:41336485$0$237$edfadb0f@dread16.news.tele.dk...
> Så lykkes det selv at finde ud af det.

Må vi høre?



ST (31-08-2004)
Kommentar
Fra : ST


Dato : 31-08-04 10:38

> Må vi høre?

Dim XY As Long
Dim Filename As String
Dim FileNo As Integer
Dim MyLine As String
Dim SplitFile() As String
Dim Coastline() As Double
Dim z As Long

XY = 0


cmddisp.Filename = "*.dis"
cmddisp.Filter = "Display line files|*.dis|All files|*.*"
cmddisp.ShowOpen
Filename = cmddisp.Filename
If Len(Filename) > 0 Then

FileNo = FreeFile ' læser antal linier i filen
Open Filename For Input As #FileNo
Do Until EOF(FileNo)
Line Input #FileNo, MyLine
XY = XY + 1
Loop

ReDim Coastline(XY - 1, 1) 'dimensionerer arrayet der skal indeholde den
opsplittede fil
z = 0
Seek #FileNo, 1
Do Until EOF(FileNo)
Line Input #FileNo, MyLine 'indlæser filen linie for linie
SplitFile = Split(MyLine, vbTab) 'splitter filen op (tabulatorsepareret)
Coastline(z, 0) = Val(SplitFile(0))
Coastline(z, 1) = Val(SplitFile(1))
z = z + 1
Loop
Close FileNo
End If

End sub



Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408169
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste