Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Работа с текстом Добавлено: 18.08.05 09:01  

Автор вопроса:  Amor | ICQ: 1268198 
У меня есть текст(например):
XXXXXXXXXXX
YYYYYYYYYYY
OOOOOOOOOOO

Вопрос как вытащить только первую строчку то есть XXXXXXXXXXX

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 mzx



ICQ: 259560026 

Вопросов: 21
Ответов: 143
 Профиль | | #1 Добавлено: 18.08.05 09:37
Что значит "У МЕНЯ ЕСТЬ ТЕКСТ" ?
На бумажке чтоль написан или в переменной содержится или где.

Если ты имеешь в виду, что у тебя текст содержится в текстовом поле с Multiline=True и надо вытащить строку, то вот пример:

Положи на форму CommandButton и TextBox. У последнего Multiline=True.
 
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wp As Long, lp As Any) As Long
Const EM_LINEINDEX = &HBB
Const EM_LINELENGTH = &HC1
Const EM_GETLINE = &HC4

Public Function GetLine(hWnd As Long, Line As Long) As String
Dim sBuf As String, nLen As Long, nIndex As Long
    nIndex = SendMessage(hWnd, EM_LINEINDEX, Line - 1, ByVal 0&;)
    If nIndex < 0 Or Line <= 0 Then Exit Function
    nLen = SendMessage(hWnd, EM_LINELENGTH, nIndex, ByVal 0&;)
    sBuf = Space(nLen + 1)
    Mid$(sBuf, 1, 1) = Chr$(nLen And &HFF)
    Mid$(sBuf, 2, 1) = Chr$(nLen \ 256)
    SendMessage hWnd, EM_GETLINE, Line - 1, ByVal sBuf
    GetLine = Left$(sBuf, nLen)
End Function

Private Sub Form_Load()
    Text1.Text = "XXXXX" & vbCrLf & "YYYYY" & vbCrLf & "OOOOO"
End Sub

Private Sub Command1_Click()
    MsgBox GetLine(Text1.hWnd, 1)
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #2
Добавлено: 18.08.05 11:18
А тебе известно количество символов в каждой строке?
если да, то просто right(text1.text, количество символов)

Ответить

Номер ответа: 3
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #3 Добавлено: 18.08.05 14:12
Первую строку можно найти так:
pervayastroka = Left(tvoytext, InStr(tvoytext, Chr(13) + Chr(10)))

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 18.08.05 21:18
txt$ = "Первая строка" & vbCrLf & _
"Второя строка" & vbCrLf & _
"Двадцать втроая..."

t = Split(txt$, vbCrLf)

msgbox t(1)

//t(1) = "Вторая строка" ...

Ответить

Номер ответа: 5
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #5
Добавлено: 18.08.05 21:29
Если в текстбоксе...
http://www.vbnet.ru/samples/download.aspx?id=381

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 18.08.05 22:17
split(str, vbcrlf)(0)

Ответить

Номер ответа: 7
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #7
Добавлено: 19.08.05 20:50
msgbox t(1)

Msgbox t(0) ! Обычно нумерация массивов начинается с нуля, если явно не указано нумероваться с 1.
2 mzx: может, для закрытия формы тоже пользоваться API?

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 19.08.05 23:15
Msgbox t(0) ! Обычно нумерация массивов начинается с нуля, если явно не указано нумероваться с 1.


всё правельно!

msgbox t(1)

//t(1) = "Вторая строка" ... !!!!!!!!!!! (а ещё была и первая)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам