powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / операции с текстом
3 сообщений из 3, страница 1 из 1
операции с текстом
    #37135681
29531408
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дано два поля RichTextBox1 и RichTextBox2
В RichTextBox1 может быть ~2000 записей, в RichTextBox2 ~3(это только примерно, числа разные могут быть)
Нужно строку RichTextBox1 добавить к строке RichTextBox2 но так, чтоб на первую строку RichTextBox2 приходилось не более 300 строк из поля RichTextBox1
То есть:
RichTextBox1 RichTextBox2
00000000000 11111111111
99999999999 22222222222
88888888888 33333333333
77777777777
66666666666
55555555555
44444444444
и т.д.(до 2000)
Делаем чтоб было в RichTextBox3:
00000000000 11111111111
99999999999 11111111111
88888888888 11111111111
и так до 300 вариантов, потом переходим к строке 2 но не с начала списка RichTextBox1 а с того места где остановились, то есть с 300 строки
Как это сделать?

Private Sub RichTextBox1_Change()
Dim ctroki1 As Long
ctroki1 = SendMessageLong(RichTextBox1.hwnd, EM_GETLINECOUNT, 0&, 0&)
Label3.Caption = ctroki1
End Sub

Private Sub RichTextBox2_Change()
Dim ctroki2 As Long
ctroki2 = SendMessageLong(RichTextBox2.hwnd, EM_GETLINECOUNT, 0&, 0&)
Label2.Caption = ctroki2
End Sub

так я получаю кол-во строк.. нужно еще заранее определить, хватит ли нам записей в RichTextBox2 на все варианты с поля RichTextBox1 и записать сколько еще нужно добавить строк в RichTextBox2
Помогите пожалуйста
...
Рейтинг: 0 / 0
операции с текстом
    #37137857
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
29531408,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
' надо ли добавлять строки в RichTextBox2
Const ne_bolee&= 300 
Dim dobavka&

dobavka = CLng(Label2.Caption) -  300  * CLng(Label3.Caption)
' было бы удобнее объявить переменные ctroki1 и ctroki2 на уровне модуля - 
' тогда бы не пришлось извращаться с надписями

If dobavka >  0  Then
dobavka = dobavka \ ne_bolee - (dobavka Mod ne_bolee >  0 )
MsgBox "В RichTextBox2 добавить бы надо " & dobavka & " строк(и,у)"
End If
продолжение следует ...
...
Рейтинг: 0 / 0
операции с текстом
    #37137905
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
29531408,
продолжение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
' переменные ctroki1 и ctroki2 объявлены на уровне модуля и содержат
' количество строк в RichTextBox1 и RichTextBox2 соответственно

' константа ne_bolee объявлена в предидущем посте

Dim v_gruppe&, izbytok As Boolean
Dim lngK&, lngN&, lngT&
Dim lines1$(), lines2$()

v_gruppe = ctroki1 \ ctroki2

If ctroki1 Mod ctroki2 + v_gruppe <= ne_bolee Then 
  izbytok = True
Else
  v_gruppe = v_gruppe +  1 
End If

lines1 = RichTextBox1.Lines
lines2 = RichTextBox2.Lines
ctroki2 = ctroki2 -  1 

On Error Resume Next
For lngN =  0  To v_gruppe -  1 
  For lngK =  0  To ctroki2
    lngT = lngN + lngK * v_gruppe
    lines1(lngT) = lines1(lngT) & " " & lines2(lngK)
  Next lngK
Next lngN
On Error GoTo  0 

If izbytok Then
  For lngN = (ctroki2 +  1 ) * v_gruppe To ctroki1 -  1 
    lines1(lngN) = lines1(lngN) & " " & lines2(ctroki2)
  Next lngN
End If

RichTextBox1.Lines = lines1
Erase lines1, lines2
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / операции с текстом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]