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


Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-05 09:59:00 - Marcus Marjasin, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 767 personer

Hejsan allihop

Hur gör jag för att ta ut totala antalet rader ur en textbox som har multiline och hur gör jag för att ta ut specifika rader ut en textbox tex rad 1, rad 3, rad 7 och 8?

Hoppas någon har en lösning,
Tack för hjälpen i förhand.

/Marcus


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-05 12:58:00 - Sven Åke Persson

Hej
Tycker att du skall överväga att byta ut din TextBox
mot en ListBox.Den funkar och ser ut som en TextBox.
Plus att du enkelt kan "dribbla" med rader osv.
Läs in din textmassa med tex Line Input från textfil till din ListBox

Annars blir det API SendMessage som löser ditt problem.

mvh
Sven


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-06 12:04:00 - Dan Persson

Jag har ungefär samma problem. Jag skulle vilja vet hur man gör för att i en richtextbox få reda på vilken rad markören står på (låt säga att aktuellt radnummer skall dyka upp i "textbox1"), och man ska även kunna, i en t.ex. textbox2 skriva in ett radnummer och sedan hoppar markören dit.

Jag har tyvärr ingen möjligthet att byta till listbox...

MvH Dan "DaPe" Persson


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-06 12:35:00 - Ola Svallmark

För att ta reda på aktuell rad så kan du ju använda 'GetLineFromChar'.

Nåt i stil med detta funkar hyfsat..

Label1.Caption = RichTextBox1.GetLineFromChar(RichTextBox1.SelStart())

/Ola


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-06 19:03:00 - Dan Persson

Tack. Det funkar jättebra.

Någon som har nån idé på lösningen till hur man flyttar markören till en specifik rad?

MvH Dan "DaPe" Persson


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-06 20:09:00 - Sven Åke Persson

Hej
Måste gå via API SendMessage och en av alla dess
EM_ ....... konstanter tex

Private Const EM_FINDTEXT = (WM_USER + 56)
WM_USER = 1024 osv osv.

Har inte koll på vilken det skulle kunna vara
Finns det någon API Guru out there som kan svaret ??

undrar
Sven och förmodlgen DaPe


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-06 20:34:00 - Sven Åke Persson

Igen
Tror att lösningen finns i SendMessage och
konstant Const EM_LINEINDEX = &HBB

Funderar vidare

DS


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-07 01:34:00 - Andreas Hillqvist

SvenPon har rätt. Löser det enklast med EM_LINEINDEX. Har kapslat anropet til deta i GetLine. Vilket kan läggas i en modul. Eller i formuläret:

Option Explicit

Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Function GetLine(TextBox As TextBox, Line As Long) As String
Dim LineIndex As Long
Dim LineLength As Long
If Line > 0 Then
LineIndex = SendMessage(TextBox.hwnd, EM_LINEINDEX, Line - 1, ByVal 0&)
If LineIndex <> -1 Then
LineLength = SendMessage(TextBox.hwnd, EM_LINELENGTH, Line - 1, ByVal 0&)
If LineLength > 0 Then
GetLine = Mid$(TextBox.Text, LineIndex + 1, LineLength)
End If
End If
End If
End Function

Private Sub Form_Load()
Text1.Text = "Rad 1" & vbCrLf & _
"Rad 2" & vbCrLf & _
"Rad 3" & vbCrLf & _
"Rad 4" & vbCrLf & _
"Rad 5" & vbCrLf & _
"Rad 6" & vbCrLf & _
"Rad 7" & vbCrLf & _
"Rad 8" & vbCrLf & _
"Rad 9" & vbCrLf & _
"Rad 10"

Debug.Print "1: " & GetLine(Text1, 1)
Debug.Print "3: " & GetLine(Text1, 3)
Debug.Print "7: " & GetLine(Text1, 7)
Debug.Print "8: " & GetLine(Text1, 8)
End Sub


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-07 01:47:00 - Andreas Hillqvist

Option Explicit

Private Const EM_LINEINDEX = &HBB

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


Private Sub Text1_Validate(Cancel As Boolean)
Dim Line As Long
Dim LineIndex As Long
If Len(Text1) Then
If IsNumeric(Text1) Then
Line = CDbl(Text1)
LineIndex = SendMessage(RichTextBox1.hwnd, EM_LINEINDEX, Line - 1, ByVal 0&)
If LineIndex <> -1 Then
RichTextBox1.SelStart = LineIndex
Else
MsgBox "Line Dose Not Exist"
End If
Else
MsgBox "You must enter a number"
Cancel = True
End If
End If
End Sub


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-07 02:06:00 - Andreas Hillqvist

Hittade en alternativ lösning:

Option Explicit

Private Const EM_LINELENGTH = &HC1
Private Const EM_GETLINE = &HC4

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Function GetLine(TextBox As TextBox, Line As Long) As String
Dim LineLength As Long
Dim Data() As Byte
LineLength = SendMessage(TextBox.hwnd, EM_LINELENGTH, Line - 1, ByVal 0&)
If LineLength Then
ReDim Data(1 To LineLength + 2)
Data(1) = LineLength And 255
Data(2) = LineLength \ 256
Debug.Print SendMessage(TextBox.hwnd, EM_GETLINE, Line - 1, Data(1))

GetLine = Left(StrConv(Data, vbUnicode), LineLength)
End If
End Function

Private Sub Form_Load()
Text1 = "Rad 1" & vbCrLf & "Rad 2" & vbCrLf & "Rad3"
MsgBox GetLine(Text1, 2)
End Sub


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-07 10:04:00 - Dan Persson

Tack SvenPon, Andreas och Cat!!! Jag ÄLSKAR er :-)

Ska nu bara testa om det funkar, men det borde det ju göra när det är ni som har skrivit koden ;-)

MvH Dan "DaPe" Persson


Svara

Sv: Textbox - Tot antal rader/aktiv rad

Postades av 2001-09-07 16:04:00 - Marcus Marjasin

Måste också tacka er alla som svarat... I om med att Code Red dykt upp på jobbet har de stängt av port 80 och därför inte kunnat delta i diskutionen. Och i hemmet hade jag inte mitt inloggningsid förens nu. Ska sätta mig och testa detta under helgen..

Tack en en gång..


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

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 872
27 965
271 770
23
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