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


Om binary read

Postades av 2003-11-14 13:52:49 - Benni Svensson, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 507 personer

Om just detta lär jag nog få återkomma ett antal gånger.
Mitt första problem, jag har hittat bl a två kodsnuttar som läser in en fil i en textruta.
Jag tycker att resultaten ser olika ut:

Denna tar lång tid att läsa in:
<code>
Dim fNr As Long, Char As Byte, outStr As String
Dim i As Long, sFil As String, strSize As Long, del As Long
ProgressBar1.Visible = True
If Label1.Caption > "" Then
sFil = Label1.Caption
DoEvents
ProgressBar1.Min = 0

fNr = FreeFile()
Open sFil For Binary As #fNr
strSize = LOF(fNr)

ProgressBar1.Max = strSize
For i = 1 To LOF(fNr)
Get #fNr, i, Char
If Int(Char) > 0 Then outStr = outStr & Chr$(Char) '31
DoEvents
del = del + 1
ProgressBar1.Value = del
Next 'i
Close #fNr
Text1.Text = outStr
ProgressBar1.Visible = False
Else
Label1.Caption = "Du måste välja en fil först"
End If
</code>
Denna går "blixtsnabbt"
<code>
Dim strRow As String
Dim strText() As String
Dim lngCount As Long, del As Long, strSize As Long
Dim i As Long, sFil As String
If Label1.Caption > "" Then
sFil = Label1.Caption
DoEvents
ProgressBar1.Visible = True
ProgressBar1.Min = 0
strRow = Space(3000)
Open sFil For Binary As #1
strSize = LOF(1)
lngCount = (LOF(1) \ 3000)
If lngCount < (LOF(1) / 3000) Then lngCount = lngCount + 1
ReDim strText(1 To lngCount)
For i = 1 To lngCount
Get #1, , strRow
strText(i) = Replace(strRow, vbNullChar, "")
del = del + 1
ProgressBar1.Value = del
Next
Close #1
Text1.Text = Join(strText)
ProgressBar1.Visible = False
Else
Label1.Caption = "Du måste välja en fil först"
End If
</code>
Är det någon skillnad mellan dessa koder(resultatet". Jag får för mig att denna sista kod inte läser in allt?


Svara

Sv: Om binary read

Postades av 2003-11-14 18:05:06 - Daniel Hermansson

Har knappt använt binary read. Men det ser väl ut som den första går igenom filen tecken för tecken och den andra tar 3000 tecken åt gången?

Jag ser också att du använder både "\" och "/" för att dela jag tror "/" är rätt att använda. Det kanske är det som gör att du inte får mer allt?




kollade i MSDN(går inte att klara sig utan) och klistar in en del av vad som stod under "GET Statement"

<code>


For files opened in Binary mode, all of the Random rules apply, except:

The Len clause in the Open statement has no effect. Get reads all variables from disk contiguously; that is, with no padding between records.


For any array other than an array in a user-defined type, Get reads only the data. No descriptor is read.


Get reads variable-length strings that aren't elements of user-defined types without expecting the 2-byte length descriptor. The number of bytes read equals the number of characters already in the string. For example, the following statements read 10 bytes fromfile number 1:

VarString = String(10," ")
Get #1,,VarString

</code>





Vet inte vad du ska göra men om bara ska läsa in en fil i en textbox så borde det här funka?
obs. har inte testat koden så jag vet inte om den funkar som jag vill.

<code>

Dim strRow As String
Dim strText As String
Dim sFil As String

If Label1.Caption > "" Then
sFil = Label1.Caption

Open sFil For Binary As #1

strRow = string(LOF(1)," ")


Get #1, , strRow

Close #1

strText = Replace(strRow, vbNullChar, "")
Text1.Text = strText

Else
Label1.Caption = "Du måste välja en fil först"
End If


</code>


Svara

Sv: Om binary read

Postades av 2003-11-14 19:10:08 - Benni Svensson

Hej Herman, jo det gick blixtsnabbt.
OK det är nog bäst att jag försöker att förklara min tanke.
I min keyboard(Korg PA80) så laddar jag bl a in olika styler(sty).
Varje userstyle har 16 styler.
När jag använder din kod så blir det så här ung.
<code>
É‘ KORF70sDi1*SFF 70sDi1*SFF 70sDi2*SFF 70sDi2*SFF 16Danc*SFF 16Danc*SFF DanceF*SFF DanceF*SFF DanceS*SFF DanceS*SFF SoulDa*SFF SoulDa*SFF Clubda*SFF Clubda*SFF PartyP*SFF PartyP*SFF SatNig*SFF SatNig*SFF Entran*SFF  Entran*SFF  60`s Dance 
60`s Dance 
ModernFabio Modern*SFF'osv
</code>
Det jag först ville göra är att hämta ut styl-namnen.
Som du ser så är de dubbleter, skall alltså bara ha en av varje, dessutom så börjar den inte direckt utan i blocket efter KORF.
Nu är det inte nog med det. Som jag nu har det, så lägger jag in allt i en textruta, jag ville ha en textruta för varje styl-namn, och det måste vara dynamiskt, det är inte säkert att det finns 16 styl-namn.
Det innebär att jag måste försöka att komma ihåg hur man gjorde textrutorna dynamiska.

Det är bra mycket mera som jag skall göra, men vi håller så här så länge.
Tack för att du försöker att hjälpa mig.


Svara

Sv: Om binary read

Postades av 2003-11-15 02:48:03 - Daniel Hermansson

Hej förstod väl att det inte skulle vara så lätt ;)

Är ”korf” och ”mordernfabio” namn på userstyles? Ska alla styles finnas i samma lista alltså man ska inte skilja på dom olika userstyles?

Jag tycker inte du ska använda replace raden för den kanske bara är till nackdel om man ska dela upp texten. Om du har tur är det lika många tecken i varje "style"? Då kan du kanske till och med öppna den med "random access" istället för "binary access"?

Men troligen måste du dela upp det manuellt alltså försöka hitta samband så du kan särskilja dom olika style-namnen och sätta dom i en array. Och efter det ta bort dubbletterna.

Du får kolla vilka char nummer dom olika konstiga tecknena har så kanske du kan lista ut något sätt att dela upp dom. T.ex. ser jag att tecknena mellan dom olika style-namnen är mellan charnr 0-32 det enda som kan förekomma i dina style-namn är 32 som är ”space”.

Om jag ska kunna göra någon ordentlig funktion skulle jag behöva ett längre exempel på texten och utan replace. Bäst skulle vara att ha filen du ska bearbeta. För jag vet inte om något tecken försvinner på vägen om du klistrar in det här?

När du har fått till arrayen kan du börja tänka på det andra.


Svara

Sv: Om binary read

Postades av 2003-11-15 11:52:12 - Benni Svensson

Hej.
Korf vet jag inte vad det är, kanske ett nyckelord, medans modernfabio är en userstyle.
Om jag inte använder mig av replacen, så skriver den bara ut ett tecken, annars så får jag med allt.
Likadant blir det med Random, enbart ett tecken.

De olika userstilerna har olika längd...

Du har rätt i dina funderingar, men som jag tänkte:

Först så ville jag ha tag i, och skriva up userstylerna, i detta fallet 16 st.
Steg två så ville jag kunna markera en userstyle och då kunna lyssna(helst) på dessa (intro1,intro2,variation1,variation2,variation3,variation4,ending1,ending2).

Jag kan mycket väl skicka med resultatet till dig(det ser annulunda ut än hos Pellesoft) men den är stor, och jag tycker att dett kanske vore bättre om jag skickade orginalfilen till dig isf.

Vad tror du själv?


Svara

Sv: Om binary read

Postades av 2003-11-15 16:43:13 - Daniel Hermansson

Du kan skicka filen till herman@owns.it (zippa den).
Så kan jag göra ett försök. Lovar inget ;)


t.ex. 70sDi1*SFF är det en style? Om det är till vilken userstyle hör den? mordernfabio?

Alltså om jag fattat det rätt ska man skapa 1 array för userstylerna + 1 array för varje userstyle * 16 st i detta fallet = 17 arrayer


det du skrev

"då kunna lyssna(helst) på dessa (intro1,intro2,variation1,variation2,variation3,variation4,ending1,ending2)."

förstod jag inte mycket av men det kanske klarnar när jag får filen.




Skriv gärna hur arrayerna ska se ut på filen du skickar.

Första arrayen när man kollar userstylerna

mordernfabio
....
osv


array om man klickar på mordernfabio

70sDi1*SFF ???
70sDi2*SFF ???
osv


skriv gärna en till userstyle array så blir det enklare för mig.


Svara

Sv: Om binary read

Postades av 2003-11-16 12:36:03 - Benni Svensson

Mail är skickat.


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

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 570 553
27 958
271 741
2 720
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