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


Formatering av Strängvärde..

Postades av 2004-11-13 20:41:50 - Jan Disby, i forum visual basic - allmänt, Tråden har 17 Kommentarer och lästs av 746 personer

Litet problem på kvällskvisten..

Vill formatera ett strängvärde hämtat från en variabel Ex : AA22CDDD555

Vill lagra det i en ny variabel med följande formatering AA 22 C DDD 555

(Obs ! Det gäller flera poster !)

Något bra förslag ?


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-13 23:10:11 - Fredrik Hansson

Om jag förstår problemet rätt vill du gruppera på tecken och ha mellanslag mellan varje grupp..
Ett exempel som gör detta (finns säkert bättre sätt):

<code>
Private Function GroupString(ByVal sString As String) As String
Dim sCurChar As String
Dim sOut As String
Dim i As Long

sCurChar = Left(sString, 1)

For i = 0 To Len(sString)
If sCurChar = Mid(sString, i + 1, 1) Then
sOut = sOut & Mid(sString, i + 1, 1)
Else
sOut = sOut & " " & Mid(sString, i + 1, 1)
End If
sCurChar = Mid(sString, i + 1, 1)
Next
GroupString = sOut
End Function
</code>

Exempel:
<code>
Private Sub Command1_Click()
MsgBox GroupString("AA22CDDD555")
End Sub
</code>
..ger en msbbox med texten "AA 22 C DDD 555"


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 00:07:29 - Jan Disby

Tack Fredrik !

Har provat detta och det funkar...

Fast när jag blandar tecknen såhär : A62KCDDD555

Blir resultatet : A 6 2 K C DDD 555

Fler förslag ?

Sen vill jag hämta värdet AA22CDDD555(bara ett exempel) från tex Field1



Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 10:32:05 - Niklas Jansson

Men hur är det du vill få fram resultatet!?
Är det grupperat efter ett visst antal tecken?


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 10:54:02 - Sven Åke Persson

Hakade på Fredriks lösning och då blev det så här
<code>
Option Explicit
Private Sub Command1_Click()
MsgBox GroupString("AA22CDDD555")
End Sub

Private Function GroupString(ByVal sString As String) As String
Dim ord(4) As String
Dim sOut As String
Dim i As Long
ord(0) = Left$(sString, 2) & " "
ord(1) = Mid$(sString, 3, 2) & " "
ord(2) = Mid$(sString, 5, 1) & " "
ord(3) = Mid$(sString, 6, 3) & " "
ord(4) = Right$(sString, 3)
For i = 0 To 4
sOut = sOut & ord(i)
Next 'i
GroupString = sOut
End Function
</code>


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 11:19:46 - Jan Disby

Hej Niklas !

Svaret ska alltid vara grupperat enligt följande : 2D 00 C 24K L56

Fast tecknen i exemplett är inte relevanta,kan komma vilka tecken som helst. (alfanumeriskt)

//Janne


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 11:31:30 - Jan Disby

Hej och tack Sven-Åke !

Det fungerade perfekt !

Fråga 2

Vill hämta värdet från en variabel (tex Field1) !

Tack på förhand !

//Janne


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 13:29:46 - Sven Åke Persson

Du har då ett Access RecordSet eller DataKontroll tex
Data1.RekordSet.MoveFirst

MsgBox GroupString(Data1.RecordSet(1)) ' Fält1:s första rad det finns även Fält 0

Sedan blir det Data1.RekordSet.MoveNext och läs in.


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 13:31:34 - Sven Åke Persson

Du har då ett Access RecordSet eller DataKontroll tex läs in alla i en ListBox
Data1.RekordSet.MoveFirst
'List1.AddItem GroupString(Data1.RecordSet("Fältets Namn")) eller nummer 0- ....
List1.AddItem GroupString(Data1.RecordSet(1)) ' Fält1:s första rad det finns även Fält 0

Sedan blir det Data1.RekordSet.MoveNext och läs in.

List1.AddItem GroupString(Data1.RecordSet(1)) osv. osv.


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 13:49:32 - Jan Disby

Tack ! Men..det har jag inte...

Variabeln heter Field1 osv..
Hämtar texten, innehållet från en textfil..

??


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 14:25:22 - Sven Åke Persson

Då får du vissa ett kort exempel på hur det ser ut i textfilen.

Sen är mitt förslag att du läser in från denna och sedan rättar till det som du vill
och läser tillbaka den korrigerade strängen till den nya/konverterade textfilen.


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 14:37:22 - Jan Disby

Hej igen !

Tack !

Förslaget är det jag har filat på ! Börjar dock bli lite rörigt.
Fast det fungerar nu..


Private Sub Command9_Click()

' Denna används när man behöver förändra positionerna i "fältet"



Dim ArtNr As String * 20 ' Artikelnummer
Dim Benamn As String * 25 ' Benämning


Open Text23.Text For Input As #1 ' Hämta filen via Commondialog

Open Text24.Text For Output As #2 ' Spara filen via Commondialog


Do While Not EOF(1)
Line Input #1, Buffer


Field1 = Mid(Buffer, 11, 11)
Field2 = Mid(Buffer, 31, 25)

Loop



MsgBox Field1 ' Endast för test
MsgBox Field2 ' Endast för test


ArtNr = GroupString(Field1)
Benamn = Field2

Text1.Text = ArtNr & Benamn ' Endast för test

Print #2, ArtNr & Benamn

Close #1
Close #2

End Sub

Exempel på textfilen :

11223444EEE Num Sv E46 00005000

Det är bara första delen som behöver ändras ! (1122334555EEE)
Vilket har lyckats bra med föregående exempel.

//Janne


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 15:03:01 - Sven Åke Persson

1122334555EEE har ju inte samma struktur som ditt förra exempel "AA22CDDD555"

Vilken struktur gäller för "1122334555EEE" ?


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 15:21:45 - Jan Disby

Ursäkta !! *S*

Strukturen är densamma AA22CDDD555 Eller 11223444555


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 15:43:49 - Sven Åke Persson

Då kan det bli så här
<code>
Option Explicit
Private Sub Command9_Click()
'Denna används när man behöver förändra positionerna i "fältet"
Dim buffer As String
Dim Field1 As String 'Du kan ta bort dessa om dom finns globalt
Dim Field2 As String
Dim Fnum1 As Long
Dim Fnum2 As Long
Fnum1 = FreeFile
Open Text23.Text For Input As #Fnum1 ' Hämta filen via Commondialog
Fnum2 = FreeFile
Open Text24.Text For Output As #Fnum2 ' Spara filen via Commondialog
Do Until EOF(Fnum1)
Line Input #Fnum1, buffer
Field1 = Left$(buffer, 11)
Field2 = Right$(buffer, Len(buffer) - 11)
Field1 = GroupString(Field1)
Print #Fnum2, Field1 & Field2
Loop
Close #Fnum1
Close #Fnum2
End Sub

Private Function GroupString(ByVal sString As String) As String
Dim ord(4) As String
Dim sOut As String
Dim i As Long
ord(0) = Left$(sString, 2) & " "
ord(1) = Mid$(sString, 3, 2) & " "
ord(2) = Mid$(sString, 5, 1) & " "
ord(3) = Mid$(sString, 6, 3) & " "
ord(4) = Right$(sString, 3)
For i = 0 To 4
sOut = sOut & ord(i)
Next 'i
'11 22 3 444 555
GroupString = sOut
End Function
</code>


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 17:03:09 - Jan Disby

Tackar och bugar !

Fast just nu funkar inte GroupString med ovanstånde.
Ska kolla igenom och testa..

//Janne


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 17:36:46 - Sven Åke Persson

Det funkar här hos mig.
Ta en MsgBoxkoll på vad du egentligen skickar,har det smygit sig in ett mellanslag.


Svara

Sv: Formatering av Strängvärde..

Postades av 2004-11-14 18:49:23 - Jan Disby

Tack för mkt god hjälp !

Använde en del av det senaste och problemet var löst !

Ha det gott !

Mvh Janne


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 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

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 718
27 958
271 751
3 324
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