Elikkä jatkan kysymyksiäni uuteen aiheeseen. Tarkoitus olisi poistaa tiedostosta valitsemani rivi eli kun laitan textboxiin rivinumeron ja painan 'Poista' -painiketta ohjelma poistaa tiedostosta syöttämäni rivin.
Ja jos haluan muokata tiedostossa olevaa riviä miten saan tämän toimimaan?
Olen edellisten ohjeitten mukaan tehnyt muutamat textboxit joihin haettu tieto tulostuu ja miten saan nämä tiedot muutettua vain vaihtamalla boxeissa olevia tietoja? Ja tällöin se tietysti tallentaa uudet tiedot edellisen rivin pälle.
Rivit tulostuvat tiedostooni tyyliin seuraava:
2 | 10.02.2008 | Terve
1 | 12.02.2008 | Moi
Rivinumero | Päivämäärä | Kommentti
Kannattaa tutustua funktioon Split
Sillä saat toteutettua kyseisen asian...
Moikka InfreQ!
kokeile jotain alla olevan tyylistä viritelmää...
'käyttö:
'klikkaa tekstiruudussa jotain riviä hiirellä ja
'klikkaa komentopainiketta...
'tai siirry navigointinäppäimillä (< >) halua-
'mallesi riville, pidä Ctrl-näppäin painettuna,
'paina jompaakumpaa em. navigointinäppäimistä,
'vapauta Ctrl-näppäin, siirrä focus Tab-näppäimellä
'komentopainikkeelle ja paina Enter-näppäintä.
'säädöt
'Text1: MultiLine True, ScrollBars 2 - Vertical
Private Rivi As String
Private Sub Form_Load()
On Error Resume Next
Open App.Path & "\tiedosto.ext" For Input As #1
If Err > 0 Then
Err.Clear: On Error GoTo 0: Exit Sub
End If
Text1.Text = Input$(LOF(1) - 2, 1): Close #1
Text1.Locked = True
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37, 39: ' <- tai ->
If Shift = 2 Then 'Ctrl
TsekkaaTeksti
End If
End Select
End Sub
Private Sub Text1_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Text1.SelLength = 0 Then
If Text1.Text <> "" Then TsekkaaTeksti
Else
Text1.SelLength = 0: Text1.SelText = ""
End If
End Sub
Private Sub Command1_Click()
If Rivi <> "" Then
Text1.Text = Replace(Text1.Text, Rivi, "")
End If
Select Case Len(Text1.Text)
Case 2
If Text1.Text = vbCrLf Then Text1.Text = ""
Case Is > 2
If Right(Text1.Text, 2) = vbCrLf Then
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 2)
End If
End Select
Open App.Path & "\tiedosto.ext" For Output As #1
Print #1, Text1: Close #1: Rivi = ""
End Sub
Public Sub TsekkaaTeksti()
For i = Text1.SelStart To 1 Step -1
Text1.SelStart = Text1.SelStart - 1
If Mid(Text1.Text, i, 1) = Chr(13) Then Exit For
Next i
For i = Text1.SelStart + 2 To Len(Text1.Text)
If Mid(Text1.Text, i, 1) = Chr(13) Then Exit For
Text1.SelLength = Text1.SelLength + 1
Next i
Text1.SelLength = Text1.SelLength + 1
Rivi = Text1.SelText
If Not Mid(Text1.Text, Text1.SelStart + 1, 1) _
= Chr(13) And InStr(Text1.Text, vbCrLf) > 0 Then
Rivi = Rivi & vbCrLf
End If
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.