Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Split - Array - textfil

Postades av 2003-05-23 15:13:02 - Viktor svensson, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 471 personer

Hur får jag den här koden som gör en array av en txt fil att hämta alla bokstäver som kordinater. Nu tar den bara och skriver ut (0, 0) (1, 1) (2, 2) osv. Jag vill att den ska ta (0, 1) (0, 2) (1, 0) och alla sånna tal också. Går det att lösa med hjälp av en split funktion eller nått annat?

Dim f As Integer, i As Integer, j As Integer
Dim FileName As String, rutmonster$()

FileName = App.Path & "\map1.txt"

f = FreeFile
i = 0
If Dir(FileName) <> "" Then
Open FileName For Input As f
Do While Not EOF(f)
If i Mod 15 = 0 Then ReDim Preserve rutmonster$(i + 14, i + 14)
Line Input #f, rutmonster(i, i)
i = i + 1
Loop
Close f
End If



Svara

Sv: Array

Postades av 2003-05-23 17:30:41 - Viktor svensson

Alltså jag vill öppna en fil till en 2D array. Så om det står

GG
SS

i tex en txt fil så kommer arrayen att läsa in det som

rutnar(0, 0) = "G"
rutnar(1, 0) = "G"
rutnar(0, 1) = "S"
rutnar(1, 1) = "S"

Men med min kod blir det bara att den gör en array som har 0, 0 - 1, 1 osv. Så kort sagt missar den att skriva in kordinaterna 1, 0 - 0, 1 osv


Svara

Sv: Array

Postades av 2003-05-23 19:37:22 - Niklas Jansson

Du har en fast storlek?

Då använder du dig av principen (obs. pseudokod):

<code>
For y=1 To MaxX
For x=1 To MaxY
Array(x,y)=Nästa från fil
Next x
Next y
</code>


Svara

Sv: Array

Postades av 2003-05-23 22:28:54 - Viktor svensson

Humm. Nu hämtar den ut hela rader på kordinaterna ex:

Text filen har inehållet

G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G
G|G|G|G|G|G|G|G|G|G|G|G|G|G|G

DÅ den hämtar värde till kordinaterna 0, 0 så hämtar den hela raden alltså "G|G|G|G|G|G|G|G|G|G|G|G|G|G|G" sitället för att hämta alla bokstäver mellan "|". Jag hade tänkt mig en split kod för att kunna ha 2 bockstäver på varje kordinat den hämtar istället för 1 men lyckas inte få split koden in i koden som läser in text filen till arrayen.


Koden ser ut såhär just nu

<code>
Dim f As Integer
Dim rutmonster(15, 15) As String

FileName = App.Path & "\map1.txt"

f = FreeFile
Open FileName For Input As f
For Y = 0 To 14
For X = 0 To 14
Do While Not EOF(f)
Line Input #f, rutmonster(X, Y)
Loop
Next
Next
Close f
</code>

Jag vill alltså få så att då den läser den där txt filen ska den få värdena

rutmonster(0, 0) = "g"
rutmonster(1, 0) = "g"
rutmonster(2, 0) = "g"
rutmonster(3, 0) = "g"
rutmonster(4, 0) = "g"
rutmonster(5, 0) = "g"
rutmonster(6, 0) = "g"
rutmonster(7, 0) = "g"
rutmonster(8, 0) = "g"
rutmonster(9, 0) = "g"
rutmonster(10, 0) = "g"
rutmonster(11, 0) = "g"
rutmonster(12, 0) = "g"
rutmonster(13, 0) = "g"
rutmonster(14, 0) = "g"
rutmonster(0, 1) = "g"
rutmonster(1, 1) = "g"
rutmonster(2, 1) = "g"
rutmonster(3, 1) = "g"
rutmonster(4, 1) = "g"
rutmonster(5, 1) = "g"
rutmonster(6, 1) = "g"
rutmonster(7, 1) = "g"
rutmonster(8, 1) = "g"
rutmonster(9, 1) = "g"
rutmonster(10, 1) = "g"
rutmonster(11, 1) = "g"
rutmonster(12, 1) = "g"
rutmonster(13, 1) = "g"
rutmonster(14, 1) = "g"

OSV......

Finns det nått bättre sätt att läsa in en text fil till en array så att det blir som jag vill ha min funktion kan ni ju gärna ge mig råd om hur ni tänkt.


Svara

Sv: Array

Postades av 2003-05-24 14:57:59 - Viktor svensson

Jag har försökt att trycka in split funktioner i koden i en hel dag och slitit så mycket hår så att jag blivit skallig. Men har fortfarande inte kommit en bit längrae på vägen. Jag ska göra några sista desperata försök som ni får veta hur det gick med senare idag eller imorron.


Svara

Sv: Array

Postades av 2003-05-24 15:25:05 - Oskar Johansson

<code>
Dim f As Integer
Dim rutmonster(14, 14) As String
dim strTemp as string

dim X as long, dim Y as long
FileName = App.Path & "\map1.txt"

f = FreeFile
Open FileName For Input As f
x = 0
Do While Not EOF(f)
y = 0
Line Input #f, strTemp
do while strtemp <> ""
if instr(1, strtemp, "|") > 0 then
rutmonster(x, y) = left(strtemp, instr(1, strtemp, "|")- 1)
strtemp = mid(strtemp, instr(1, strtemp, "|") + 1)
else
rutmonster(x, y) = strtemp
strtemp = ""
end if
y = y + 1
loop
x = x + 1
Loop
Close
</code>


Svara

Sv: Array

Postades av 2003-05-24 15:46:29 - Viktor svensson

Tack så mycket.


Svara

Sv: Split - Array - textfil

Postades av 2003-05-26 09:38:39 - Jan Bulér

Här kommer en alternativ lösning

<code>
Sub main()
Const DELIMITER = "|"
Dim f As Integer
Dim filnamn As String
Dim rutmonster()
Dim i As Integer
Dim RadData As String

filnamn = "C:\Temp\MyFile.txt"

f = FreeFile
i = 0
Open filnamn For Input As f
Do While Not EOF(f)
Line Input #f, RadData
ReDim Preserve rutmonster(i)
rutmonster(i) = Split(RadData, DELIMITER, , vbTextCompare)
i = i + 1
Loop

Close f


End Sub
</code>

//
Janne


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
810
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies