February 12, 2007
Hej!
Jag är tyvärr ingen jättevan VB programmerare och skulle därför behöva lite tips och hjälp med att lösa ett problem.
Min önskan är att skapa ett program som läser in en textfil som kan se ut enl. nedan:
0CF00400 X 8 F8 7D 7D 00 00 FF FF FF 2218.401 R
00EFD100 X 8 3D 3D 3D 3D 3D 3D 3D 3D 2218.400 R
00EFD200 X 8 3D 3D 3D 3D 3D 3D 3D 3D 2218.399 R
0CFF5800 X 8 07 00 00 01 67 01 06 00 2218.399 R
0C000011 X 8 00 00 00 FA 00 00 00 00 2218.397 R
0CF00400 X 8 F8 7D 7D 00 00 FF FF FF 2218.391 R
00EFD200 X 8 3D 3D 3D 3D 3D 3D 3D 3D 2218.390 R
0CFF4800 X 8 F8 7C 30 FF FF FF FF 00 2218.389 R
För att förtydliga så genereras textfilen från ett annat program och är uppbyggd enligt följande:
-----------------------------------
Först kommer tre mellanslag.
Sedan den 8 tecken långa "identifieraren".
Ett mellanslag.
Ett X.
Tre mellanslag.
En 8.
Tre mellanslag.
Därefter följer 8st 2-tecken långa grupper med två mellanslag mellan varje grupp.
Tre mellanslag.
Kombination "4 siffror.3 siffror"
Ett mellanslag.
R
-----------------------------------
Nu vill jag att programmet kollar den första 8 tecken långa gruppen (som är en identifierare) och jämför den med ett par bestämda kombinationer. Om denna finns med så skrivs hela raden ut.
Ur den 8 tecken långa första kombinationen så är det de fyra ”mittersta” tecknen (de på position 3,4,5 & 6) som skall jämföras med ett par 4 tecken långa bestämda kombinationer.
Ex. på bestämda kombinationer som jag är intresserad av är:
F004
F006
EFD2
FFFF
I detta fall så skulle rad 1, 3, 6 & 7 skrivas ut.
Dessa 4 tecken långa kombinationer som jag är intresserad av önskar jag kunna ändra/lägga till/ta bort. Har man dessa då kanske också i en separat textfil!?
Eftersom jag är rätt ringrostig när det gäller VB6 så skulle jag vara otroligt tacksam om någon skulle kunna hjälpa mig igång med tips/förslag på hur detta skulle kunna tacklas.
Tack på förhand!
😮
January 4, 2001
Varför göra det i VB? Det där slänger du lätt ihop i C. Då behöver du inte skämmas över att du programmerar VB heller. 😉
Liten hint. 🙂
http://www.cplusplus.com/refer.....trcmp.html
February 12, 2007
Jag var inne på att göra det i C först men fick då förslaget att göra det i VB eftersom "detta problem lämpade sig väldigt bra för VB"....
Nu kanske jag skall överväga att gå tillbaka till mitt första förslag då!?
Jag lär tyvärr inte slänga ihop det lätt, men jag får försöka trixa ihop något bra. Man måste ju lära sig på nåt sätt!!!
/M
October 11, 2006
Kan tipsa om http://www.vbforums.com/
Där kan du säkerligen få svar på din fråga.
February 3, 2003
Nu är jag ganska ringrostig i VB också, men kan kanske hjälpa dig påvägen.
Först skapar du en variablen vid namn "Data", gör den till en string.
Dim Data As String 'Deklarerar variabeln
Open filnamn/sökväg for input as #1 'Öppnar filen i fråga
Do Until EOF(1) 'fortsätter läsa tills filen är slut
Line Input #1, Data 'Läser in en rad
check(Data) 'skickar innehållet i variabeln Data till funktionen check
loop
Close #1
Därefter hade jag skapat en funktion och döpt den till något trivialt som kolla eller check eller något sådant.
Funktionen ska först hämta ut de fyra mellersta tecknen vilket görs genom att man använder mid(Data,3,4) 'Variablen vi ska läsa ifrån, vilket tecken vi ska börja läsa från och till sist hur många tecken som ska läsas in.
Det jobbiga är att skriva en funktion för att jämföra, man kan ju använda InStr men jag har glömt av lite hur den fungerade nu.
Hoppas det hjälper lite i alla fall, har inte programmerat VB på ett bra tag nu 🙂
1 Guest(s)