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


Get och Type

Postades av 2002-04-01 12:16:02 - Tobias Eriksson, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 423 personer

Jag har en fil där inledningen är av typen recInitMaster och resten är av typen recMaster.
<br><br>
Type recInitMaster<br>
Type recMaster
<br><br>
Går det på något smidigt sätt att loopa igenom alla poster enligt den principen nedan? Det som förstör nu är ju den inledande texten recInitMaster. <br>
Alltså jag vill att inledning (recInitMaster) först ska läsas och att sedan resten (recMaster) loopas igenom

<code>
Dim MyRecord As recMaster
Open "FilNamn" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)
Get #1, , MyRecord
Loop
Close #1
</code>




Svara

Sv: Get och Type

Postades av 2002-04-01 12:28:23 - Sven Åke Persson

Hej
Förstår problemmet men ändå inte.

Varför har du två Typ Deklarationer ? I så fall får du köra två loopar.

kom igen låt oss kolla Typ deklarationen.

mvh
Sven


Svara

Sv: Get och Type

Postades av 2002-04-01 13:09:27 - Tobias Eriksson

Problemet är att om jag fösrt kör "Get #1, , myrecord2" så hamnar allt fel sedan när jag kör "Get #1, , MyRecord"

<code>
Type recMaster
Id As String * 5
Reserved As String * 2
Rec_Len As String * 1
Num_Fields As String * 1
Reserved1 As String * 2
File_Name As String * 18
Reserved2 As String * 1
Flag As String * 1
Init_Date As Single
Fin_Date As Single
Time As String * 1
Intr_Time As String * 1
Reserved3 As String * 2
Symbol As String * 15
Reserved4 As String * 1
Autorun_Flag As String * 1
Reserved5 As String * 1
End Type
Type recInitMaster
Trec_Num As String * 1
Hrec_Used As String * 1
Zeros As String * 40
End Type

Dim MyRecord As recMaster, myrecord2 as recInitMaster

Get #1, , myrecord2

Open "FilNamn" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)
Get #1, , MyRecord
Loop
Close #1
</code>


Svara

Sv: Get och Type

Postades av 2002-04-01 13:27:54 - Sven Åke Persson

Hej
Givetvis .Du skall aldrig använda As #1 som filnummer. Så här skall
du skriva enl denna princip.

Dim FileNum As Long
FileNum = FreeFile
Open "FilNamn" For Random As #FileNum Len = Len(MyRecord)
Do While Not EOF(FileNum)
Get #FileNum, , MyRecord
Loop
Close #FileNum
myrecord2 och myrecord kan inte ha samma filnummer

Obs du måste se till att FileNum uppdateras just innan du börjar loopen

mvh
Sven




Svara

Sv: Get och Type

Postades av 2002-04-01 14:02:22 - Tobias Eriksson

Ja, men hur får jag bort myrecord2 delen sedan när jag ska loopa igenom MyRecord.
myrecord2 har ju bara en post och ska enbart läsas en gång.
<br><br>
För om jag först läser "Get #1, , myrecord2" och sedan "Get #1, , MyRecord" så hamnar ju MyRecord på fel plats.<br>
Båda ligger ju i samma fil.


Svara

Sv: Get och Type

Postades av 2002-04-01 14:27:48 - Andreas Hillqvist

Gör det enkelt för dig istället.
<code>
Private Sub cmdSave_Click()
Dim FileNo As Long
Dim FileName As String
Dim MyMaster As recInitMaster
Dim MyRecords() As recMaster
Dim Size As Long
'Skapar testdata
Dim Index As Long
ReDim MyRecords(10)
For Index = 0 To 10
With MyRecords(Index)
.Id = Index
End With
Next
'Testdata skapat

FileNo = FreeFile()
FileName = "c:\Test.tmp"

Open FileName For Binary Access Write Shared As #FileNo
Put #FileNo, , MyMaster
Size = UBound(MyRecords)
Put #FileNo, , Size
Put #FileNo, , MyRecords
Close #FileNo

End Sub

Private Sub cmdLoad_Click()
Dim FileNo As Long
Dim FileName As String
Dim MyMaster As recInitMaster
Dim MyRecords() As recMaster
Dim Size As Long
FileNo = FreeFile()
FileName = "c:\Test.tmp"

Open FileName For Binary Access Read Shared As #FileNo
Get #FileNo, , MyMaster
Get #FileNo, , Size
ReDim MyRecords(Size)
Get #FileNo, , MyRecords
Close #FileNo

End Sub
</code>


Svara

Sv: Get och Type

Postades av 2002-04-01 18:23:29 - Niklas Jansson

Håller med Andreas, men om du skall ha lösningen på det första problemet ändå skall du helt enkelt öppna filen före du läser.

open ...
Get #1, detförsta
do
Get #1, resten
loop until eof(1)

/Niklas Jansson


Svara

Sv: Get och Type

Postades av 2002-04-01 20:02:15 - Tobias Eriksson

Niklas, jag testade det men fick det inte riktigt att fungera. Jag löste problemet på ett annat sätt istället.
Tacka för alla svar!



Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 645
27 953
271 710
598
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