Ja, För att göra sökningen rätt får du tänka - man kan inte jämföra äpplen med bananer. Så därför kan du skriva något i stil med: Tack PelleMarkera hel rad i Textbox inkl mellanslag etc. plus ev. flytta till annan textbo
Markera en hel rad i Textbox inkl mellanslag etc..
Har en sökfunktion i en Textbox1 (txtTarget) med två Command knappar Sök (cmdFind) och Sök nästa (cmdFindNext). I en annan Textbox (txtBody) har jag placerat en lista vad som ska sökas.
Sedan har jag ytterligare en Textbox (Text3). Funktionen för denna (Text3) lagts in när jag söker i en Listbox (CmbKolla).
Jag söker i txtTarget får ev upp sökordet i txtBody, därefter markerar jag hela raden + högerklicka och sedan copy (Går naturligtvis bra med Ctrl c) och därefter Paste alt. Ctrl v, lägger den i Text3 och sedan kollar via Command CmbKolla.
Omständigt eller hur? Vad jag vill är följande:
1).
Först och främst skulle jag vilja förändra sökfunktionen i txtTarget. Som det nu är måste det vara antingen versaler eller gemener och exakt sökning av delar av ordet. Exempelvis Åke Persson, kan jag söka exempelvis erss eller son, ke, Åk, Pers etc.. Det enklaste är att sökfunktionen ska finna sökordet oavsett om det börjar med stor eller liten bokstav.
2.) När jag får upp sökordet vill jag kopiera det till Text3. Går det på något vis att efektivisera denna del. Exempelvis genom ett enkelklick få hela den rad inkl. mellanslag att blåmarkeras. Istället för som nu måste blinkmarkören placeras i början eller slutet av ordet vilket lätt "klantar till sig" ??
Alternativt föra hela raden från Txtbody till Text3 och "droppa" den där.
(CmbKolla söker efter textfiler och jpg.filer, men där textfiler kan justeras i ett annat delprogram.)
Har försökt en "jävla massa varianter" på att få sökfunktionen dit, men går ej. Skulle egentligen varit en Listview, men inget engagemang behöver läggas på den biten då det varit en himla massa kodande och jobbande, utan endast svar på ovanstående.
Mycket tack på förhand!!
Kod följer:
Private TargetPosition As Integer
Private Sub cmdFind_Click()
FindText 1
End Sub
Private Sub txtBody_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
txtBody.Locked = True
End If
End Sub
Private Sub txtTarget_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
txtTarget.Locked = False
End If
End Sub
Private Sub FindText(ByVal start_at As Integer)
Dim pos As Integer
Dim target As String
target = txtTarget.text
pos = InStr(start_at, txtBody.text, target)
If pos > 0 Then
' Vi fann den.
TargetPosition = pos
txtBody.SelStart = TargetPosition - 1
txtBody.SelLength = Len(target)
txtBody.SetFocus
Else
' Vi hittade den inte.
MsgBox "Inga fler hittades."
txtBody.SetFocus
End If
End Sub
Private Sub CmbKolla_Click()
'Fånga textrad i ListBox
List1.ListIndex = SendMessage(List1.hWnd, LB_FINDSTRING, -1, _
ByVal CStr(Text3.text))
Volym = Val(CobMinVolym.text)
Bredd = Val(CobMinLängd.text)
Höjd = Val(CobMinLängd.text)
Tempmin = Val(CobMinbredd.text)
Tempmax = Val(CobMaxbredd.text)
pHmin = Val(CobMinhöjd.text)
pHmax = Val(CobMaxhöjd.text)
Hårdhetmin = Val(CobMinAntal.text)
Hårdhetmax = Val(CobMaxAntal.text)
List1.Clear
Nummer = 0
For Nummer = 0 To (FilFibrer.ListCount - 1)
Lämplig = True
Använd = ""
Fibrer = ""
Open FilFibrer.List(Nummer) For Input As #1
Line Input #1, Använd
.........etc
Mvh
KennethSv: Markera hel rad i Textbox inkl mellanslag etc. plus ev. flytta till annan te
if ucase("KallE") = ucase("kalle") Then ... (vilket blir true)
Du klickar eller något för att få fram ditt sökord. I samma veva då du fått reda på just sökordet så skickar du kommandot text3.text = text2.text, är det på olika forms så får du om du skriver koden i form1 till form2 skriva form2.text3.text = form1.text2.textSv: Markera hel rad i Textbox inkl mellanslag etc. plus ev. flytta till annan t
Ha det bra !
Mvh
Kenneth