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


Mellanrum

Postades av 2002-08-26 14:09:16 - Sören Andrén, i forum visual basic - allmänt, Tråden har 22 Kommentarer och lästs av 461 personer

Ett problem som jag har kommit till
När jag skrivit in hex tecken i text rutan 16st
Då vill jag att det ska bli ett mellanrum automatiskt
1111111111111111 ska bli 11 11 11 11 11 11 11 11




Sören


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:28:10 - Johan Djupmarker

Jag slängde ihop en funktion för detta lite hastigt...

<code>
Function gruppera(text As String) As String
Dim a As String, b As Integer
a = Replace(text, " ", "")
If Len(a) > 0 Then
For b = 1 To Int((Len(a) - 1) / 2)
gruppera = gruppera & Mid(a, (b - 1) * 2 + 1, 2) & " "
Next
gruppera = gruppera & Mid(a, Int((Len(a) - 1) / 2) * 2 + 1, 2)
End If
End Function


'Använd såhär, lämpligtvis i validate-händelsen:
Text1 = gruppera(Text1)
</code>

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:29:29 - Rasmus Hörstedt

Hej...

alltså är det bara två tecken i varje "grupp"?

Så fall kan du använda en for-next slinga och mid för att få fram när det ska vara mellanslag.(" ").

Vill du ha ett kod exemple eller förklara bättre om jag fattade fel, så skriv det bara =) // R-mus


Attans nån kom förre med svar =)
Johan, fin funktion... lite onödigt krånglig bara =), tänk på att personen som frågar ska fatta vad det är som händer =) // R-mus


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:32:04 - Sören Andrén

Tackar för det
Men om jag rensar rutan så får jag ett felmeddelande!


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:34:16 - Johan Djupmarker

>Men om jag rensar rutan så får jag ett felmeddelande!

Jag vet, därför har jag redan ändrat det (antar att du läste inlägget innan jag ändrade det...)

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:37:14 - Sören Andrén

Ja det funkar
Men det nya tecknet blir alltid först
Borde inte det komma sist


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:39:07 - Johan Djupmarker

hur menar du?


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:45:39 - Sven Åke Persson

Hej
Fritt ur minnet nåt sånt här skulle du kunna
bygga på.

Private Sub Text1_KeyPress(KeyAscii As Integer)
If Len(Text1.Text) Mod 3 = 0 Then KeyAscii = 32
End Sub

mvh
Sven


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:48:35 - Johan Djupmarker

Sven, testa vad som händer om du börjar använda piltangenterna och navigera...=)

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:55:13 - Sören Andrén

Om jag skriver in 2tecken så är det okej
När man skriver flera tecken så hamnar dom före det första...


Svara

Sv: Mellanrum

Postades av 2002-08-26 14:58:43 - Johan Djupmarker

Så gör det inte för mig... hur anropar du funktionen? I vilken händelse?

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:00:57 - Sören Andrén

Jag använder det som skrev tidigare


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:04:15 - Sören Andrén

Private Sub Text1_Change()
Text1 = gruppera(Text1)
End Sub

Function gruppera(text As String) As String
Dim a As String, b As Integer
a = Replace(text, " ", "")
If Len(a) > 0 Then
For b = 1 To Int((Len(a) - 1) / 2)
gruppera = gruppera & Mid(a, (b - 1) * 2 + 1, 2) & " "
Next
gruppera = gruppera & Mid(a, Int((Len(a) - 1) / 2) * 2 + 1, 2)
End If
End Function

Skriver jag 11 sedan 22 och 33
Så blir resultatet det här 33 21 12


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:04:30 - Johan Djupmarker

Jag har ett formulär som endast innehåller Text1 och denna koden, då grupperas texten när rutan avmarkeras... Testa det och berätta om det fungerar eller inte, får du inte ordning på det får du försöka förklara nogrannare hur felet uppstår och visa hur du använder koden...

/Johan

Function gruppera(text As String) As String
Dim a As String, b As Integer
a = Replace(text, " ", "")
If Len(a) > 0 Then
For b = 1 To Int((Len(a) - 1) / 2)
gruppera = gruppera & Mid(a, (b - 1) * 2 + 1, 2) & " "
Next
gruppera = gruppera & Mid(a, Int((Len(a) - 1) / 2) * 2 + 1, 2)
End If
End Function

Private Sub Text1_Validate(Cancel As Boolean)
Text1 = gruppera(Text1)
End Sub


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:08:19 - Sven Åke Persson

Hej JohanD

Ang Piltangenter - Navigera

Que ?? Piltangenter har ingen AsciiCode

ha det
Sven


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:09:10 - Johan Djupmarker

Måste koden köras i change? I sådana fall måste koden göras om lite så att markören hamnar rätt...

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:10:14 - Johan Djupmarker

Sven, jag menade om du sätter markören någon annastans än i slutet av texten...

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:11:56 - Sören Andrén

Ja det vore bra om det går att ordna så att jag kan använda (Change)


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:25:38 - Johan Djupmarker

Ett nytt försök...

<code>
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Dim a As String, b As Integer, pos As Integer
a = Replace(Text1, " ", "")
pos = Text1.SelStart - (Len(Left(Text1, Text1.SelStart)) - Len(Replace(Left(Text1, Text1.SelStart), " ", "")))
If Len(a) > 0 Then
Text1 = ""
For b = 1 To Int((Len(a) - 1) / 2)
Text1 = Text1 & Mid(a, (b - 1) * 2 + 1, 2) & " "
Next
Text1 = Text1 & Mid(a, Int((Len(a) - 1) / 2) * 2 + 1, 2)
If pos > 0 Then
Text1.SelStart = pos + (Int((pos - 1) / 2))
End If
End If
End Sub
</code>

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:30:31 - Sven Åke Persson

Hej
Change tycker jag definitivt inte man skall använd
Då hamnar man lätt i den binära rymden.

tycker "Gubben" mot strömmen
Sven


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:33:40 - Johan Djupmarker

Om man dessutom lägger det i en separat funktion...

<code>
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Gruppera Text1
End Sub

Sub Gruppera(txtBox As TextBox)
Dim a As String, b As Integer, pos As Integer
a = Replace(txtBox, " ", "")
pos = txtBox.SelStart - (Len(Left(txtBox, txtBox.SelStart)) - Len(Replace(Left(txtBox, txtBox.SelStart), " ", "")))
If Len(a) > 0 Then
txtBox = ""
For b = 1 To Int((Len(a) - 1) / 2)
txtBox = txtBox & Mid(a, (b - 1) * 2 + 1, 2) & " "
Next
txtBox = txtBox & Mid(a, Int((Len(a) - 1) / 2) * 2 + 1, 2)
If pos > 0 Then
txtBox.SelStart = pos + (Int((pos - 1) / 2))
End If
End If
End Sub
</code>

Riktigt coolt om jag får säga det själv...;)

/Johan


Svara

Sv: Mellanrum

Postades av 2002-08-26 15:39:04 - Sven Åke Persson

Igen till JohanD
>Sven, jag menade om du sätter markören någon annastans än i slutet av texten...

"Tänkte inte på de" ;-)

DS


Svara

Sv: Mellanrum

Postades av 2002-08-26 16:39:03 - Sören Andrén

Jag kan bara tacka och buga

Sören


Svara

Nyligen

  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l
  • 17:00 Bra spelsajt med bonusar
  • 15:51 Slappna av
  • 15:17 Onlineunderhållning på fritiden
  • 11:13 Online Kasino
  • 17:57 Vart är SEO på väg till 2030?
  • 14:24 CBD regelbundet?

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 666
27 955
271 721
606
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