Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48

Как взять текст с определенной позиции в текстбокс?

14.06.2006, 18:37. Показов 4794. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как сделать такую штуку: у меня есть файл n.txt мне надо чтобы моя программа могла взять из этого файла строчку № X и из этой строчки всё что есть после например 10-ого символа и записала это в TextBox.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2006, 18:37
Ответы с готовыми решениями:

Как вставить текст в определённой позиции?
Собственно есть какая-нить возможность вставить текст в определённой позиции стринга? В голову лезет лишь идея разбития строки на две части...

Как написать текст в консоли в определенной позиции?
Привет всем. Подскажите, как написать текст в консоли например в 3 столбце начиная с 5 символа? И как узнать длину выводимого...

Перенести текст файла на определенной позиции на новую строку
Здравствуйте, имеется входной текстовый файл, в нем есть такой вот текст например: int i = 0; double m = 1; (всё записано в одну строку). ...

23
14.06.2006, 19:07
Элементарно!
Visual Basic
1
Open for input as #1
, дальше циклом считываешь
Visual Basic
1
2
3
For i=1 to X
  Line input #1,a$
next i
А теперь кладешь и обрабатываешь:

tetx1 = mid(a$,4,8) или right() или left()
14.06.2006, 20:01
Элементарно, Ватсон...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Load()
 
   CDi1.FileName = ""
   CDi1.Filter = "Текстовый (*.txt)|*.txt"
   CDi1.ShowOpen
   FileName = CDi1.FileName
   If FileName <> "" Then
     Open FileName For Input As #1
     i = 0
     Do While Not EOF(1)
         i = i + 1
         Line Input #1, TextLine
         If i = 6 Then Text1.Text = Mid(TextLine, 5)
     Loop
     Close #1
   End If
End Sub
Добавь в форму MicroSoft Common Dialog, обзови его CDi1.

Можно и без него, тогда вместо 'Open FileName For Input As #1' пиши 'Open "n.txt" For Input As #1', а всё, что выше - убери...

В строке 'If i = 6 Then Text1.Text = Mid(TextLine, 5)' вместо 6 можешь ставить любую строку...
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
14.06.2006, 20:07
1. Postav' ssiku na Microsoft Scripting Runtime

2. Postav' knopku i skopiruj kod, ispol'zuya svoi imena, gde nuzhno:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Command1_Click()
    Dim objFSO As New FileSystemObject
    Dim objTextStream As TextStream
    Dim intLine As Integer
    Dim intMyLineToGet As Integer
    Dim strMyLineToGet As String
    Dim intPosition As Integer
    Dim strMyTextToGet As String
 
    Set objTextStream = objFSO.OpenTextFile(FileName:="c:   empMyTest.txt", IOMode:=ForReading)
 
    intMyLineToGet = 3
    For intLine = 1 To intMyLineToGet
        strMyLineToGet = objTextStream.ReadLine
    Next intLine
    objTextStream.Close
 
    intPosition = 10
    strMyTextToGet = Mid(strMyLineToGet, intPosition)
    MsgBox strMyTextToGet
 
    Set objTextStream = Nothing
    Set objFSO = Nothing
End Sub
VladConn
0
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
14.06.2006, 21:14  [ТС]
Огромное Вам спасибо ,VladConn и колоссальный РЕСПЕКТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!
Вот ещё маленький вопросик: как сделать так чтобы при выборе пункта из ComboBox , нажимая на рядом стоящую кнопочку, файл ХXXX.yyy копировался в папку C:XXXXYYYYY и если файл с таким именем там уже существует то заменялся без вопросов (и при выборе нужного пункта из ComboBox рядом в том же окне (в рамочке) появлялась картинка соответствующаая данному пункту). Зарание спасибо за внимание!
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
14.06.2006, 21:41
Мазур,



Vam vzaimnoe spasibo. A chto naxoditsya v ComboBox?



VladConn
0
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
14.06.2006, 23:42  [ТС]
Вообще задумка такова: пользователь выбирает в ComboBox (это ведь-выпадающий список(?)) пункт (с названием файла) и нажимает на рядом стоящую кнопку, а программа копирует выбранный файл (который находится в папке с программой) в каталог например
C: emp и при выборе слева должна появляться картинка как бы описывающая файл. И ещё лучше было бы чтобы в ComboBox отображалось не истинное название файла, а как бы его "псевдоним" зарание определённый программистом. Потому что файлы которые должны отображаться в ComboBox имеют имена типа v_c4dx90.vtx, а хотелось бы чтобы в ComboBox отображался не этот набор символов а например "Лада Калина". Если у Вас есть более рациональные решения этой задачи, то я буду Вам очень признателен если вы посоветуете свои варианты.
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
15.06.2006, 01:00
Уважаемый Мазур, пожалуйста, купите себе книжку, сходи в Гугл и Яндекс, почитайте MSDN. Поверьте, Вам не будут помогать круглосуточнои отвечать на все Ваши в вопросы самого элементарного уровня, описаные уже в очень многих местах.
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
15.06.2006, 02:14
Мазур
1. Dov'te ssilku eashe i na "Microsoft Shell Control and Automation"
2. V kazhdom faile, v podmenyu ego svojstv, zapolnite pole Title (v razdele Summary). Eto budet psevdonim faila.
3. V formu skopirujte kod, zameniv imena folderov i kontrolej vashimi imenami. Nuzhen combobox (Combo1) i knopka Command1
Visual Basic
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Option Explicit
 
Private mstrFolderFrom As String
Private mstrFolderTo As String
Private mobjFileNameDict As New Dictionary
 
Private Enum ColumnDetail
    detailInfoTip = -1
    detailName = 0
    detailSize = 1
    detailType = 2
    detailModified = 3
    detailAttributes = 4
    detailComment = 5
    detailCreated = 6
    detailAccessed = 7
    detailOwner = 8
    detailUnknown = 9
    detailAuthor = 10
    detailTitle = 11
    detailSubject = 12
    detailCategory = 13
    detailPages = 14
    detailCopyright = 15
    detailCompanyName = 16
    detailModuleDescription = 17
    detailModuleVersion = 18
    detailProductName = 19
    detailProductVersion = 20
    detailSenderName = 21
    detailRecipientName = 22
    detailRecipientNumber = 23
    detailCsid = 24
    detailTsid = 25
    detailTransmissionTime = 26
    detailCallerID = 27
    detailRouting = 28
    detailAudioFormat = 29
    detailAudioSampleRate = 30
    detailAudioSampleSize = 31
    detailChannels = 32
    detailPlayLength = 33
    detailFrameCount = 34
    detailFrameRate = 35
    detailVideoSampleSize = 36
    detailVideoCompression = 37
End Enum
 
Private Function GetColumnDetail(ByVal strFilename As String, Optional iColumn As ColumnDetail = detailInfoTip)
    Dim objFSO As FileSystemObject
    Dim myShell As Shell
    Dim myFolder As Shell32.Folder
    Dim myItem As FolderItem
    Dim lp As Long
    
    Set objFSO = New FileSystemObject
    Set myShell = New Shell
 
    Set myFolder = myShell.NameSpace(objFSO.GetParentFolderName(strFilename))
    Set myItem = myFolder.Items.Item(objFSO.GetFileName(strFilename))
 
    GetColumnDetail = myFolder.GetDetailsOf(myItem, iColumn)
End Function
 
Private Sub Command1_Click()
    Dim objFSO As New FileSystemObject
    Dim strFullFileNameFrom As String
    Dim strFullFileNameTo As String
    
    mstrFolderTo = "C:TempJunk"
    strFullFileNameFrom = mobjFileNameDict.Item(Combo1.Text)
    strFullFileNameTo = objFSO.BuildPath(mstrFolderTo, _
                        objFSO.GetFileName(mobjFileNameDict.Item(Combo1.Text)))
    
    objFSO.CopyFile Source:=strFullFileNameFrom, _
                    Destination:=strFullFileNameTo, _
                    OverWriteFiles:=True
            
    Set objFSO = Nothing
End Sub
 
Private Sub Form_Load()
  mstrFolderFrom = "C:Temp"
  LoadCombo
End Sub
 
Private Sub LoadCombo()
    Dim varKey As Variant
    
    mobjFileNameDict.RemoveAll
    Set mobjFileNameDict = GetFileNameDictionary(mstrFolderFrom)
    
    Combo1.Clear
    For Each varKey In mobjFileNameDict.Keys
       Combo1.AddItem varKey
    Next varKey
End Sub
 
Private Function GetFileNameDictionary(ByVal pstrPath As String) As Dictionary
    Dim objReturn As New Dictionary
    Dim objFile As File
    Dim objFSO As New FileSystemObject
    Dim strPsevdonim As String
    Dim strFullName As String
    
    For Each objFile In objFSO.GetFolder(pstrPath).Files
        strFullName = objFSO.BuildPath(pstrPath, objFile.ShortName)
        strPsevdonim = Trim$(GetColumnDetail(strFullName, detailAuthor))
        If strPsevdonim <> vbNullString Then
            If Not objReturn.Exists(strFullName) Then
                objReturn.Add strPsevdonim, strFullName
            End If
        End If
    Next objFile
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
15.06.2006, 02:34
tam po-moemu chut' sbita numeraciya. Nado
Visual Basic
1
2
3
4
5
     ....
    detailAuthor = 9
    detailTitle = 10
    detailUnknown = 11
    ....
I ispol'zovat' sootvetstvenno detailTitle. No ono i tak dolzhno rabotat', prosto peremennie ne tak tochno nazvani.

VladConn
0
15.06.2006, 12:46
Чё-то помоему неправильно потому что когда прога запускается VB пишет следущее Compile Error: User-defined type not defined при этом выделяет строчку Private mobjFileNameDict As New Dictionary.
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
15.06.2006, 19:10
1. Dov'te ssilku eashe i na "Microsoft Shell Control and Automation"
0
0 / 0 / 0
Регистрация: 17.12.2007
Сообщений: 45
15.06.2006, 19:50
To VladConn
А вот прописать свои значения этих ColumnDetail как-то можно?
Спасибо
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
15.06.2006, 20:17
Mazur,

Vi po-doroge poteryali ssilku na Microsoft Scripting Runtime. Tam zhe ya ulazal: "esche", a ne vmesto.





LeoCHa,

Poprobujte.



VladConn
0
0 / 0 / 0
Регистрация: 17.12.2007
Сообщений: 45
15.06.2006, 20:26
Имеется в виду не номера, а само значение свойства, к примеру ProductVersion
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
15.06.2006, 20:43
LeoCHa,



Ya ne znayu, kak vnutrennij dvizhok XP mozhno kak-to perenastroit'' pri pomoschi VB6 otnositel'no svojst failov.



VladConn
0
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
15.06.2006, 21:22  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Option Explicit
Dim a As String
Dim i As Integer
Private Sub Command1_Click()
  Open "C:  empMyTest.txt" For Input As #1
  For i = 1 To 5
    Line Input #1, a
  Next i
  Text1.Text = Mid(a, 4, 8)
  Close #1
End Sub
А как теперь сохранить файл MyTest.txt, но чтобы теперь в нём в пятой строчке с 4 по 10 символ появилось то, что я изменю в Text1.Text?
0
0 / 1 / 3
Регистрация: 27.03.2012
15.06.2006, 21:53
сохранение текста в файл это базовая операция,

воспользуйся поиском по форуму



либо подумай логически - для сохранения текста из текстбокса надо этот текст и сохранять, либо если нужен текст с изменениями, то надо воспользоваться функциями работы с текстом, что опять же базовые операции, которые надо знать

0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
15.06.2006, 22:48
Kak namek...
Visual Basic
1
2
3
4
5
6
7
...
    Set objFSO = New FileSystemObject
    Set objTextStream = objFSO.CreateTextFile(strMyNewFile, True)
...  
    strMyNewString = Mid(... Text1.text ...)
...
    objTextStream.WriteLine  strMyNewString ....
Vnutri tam vse stroki krome nuzhnoj prosto kloniruj iz odnogo faila v drugoj.

Pomni, chto tebe nado sdelat' vtoroj fail, vnesti v nego vse klonirovannie stroki i odnu izmennennuyu stroku iz pervogo faila. Udalit' pervij file, i nazvat' ego imenem vtoroj.

Kak chitat' file, ya pokazival. A zdes' namek na to, kak v nego pisat'.

Uspexov

VladConn
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
15.06.2006, 22:52
Эммм..

Не думаю, что FSO - лучший выход...

Почему бы не использовать Open For Output / Append ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2006, 22:52
Помогаю со студенческими работами здесь

Скопировать часть строки с определенной позиции и определенной длины в другую строку
Ввести с клавиатуры строку. Скопировать часть строки с определенной позиции и определенной длины в другую строку. Номер позиции и...

Строка: Скопировать часть строки с определенной позиции и определенной длины в другую строку
Скопировать часть строки с определенной позиции и определенной длины в другую строку. Например: дана строка &quot;Функция для работы со...

Как загрузить и показать фрейм в определённой позиции на форме?
Всем здравствуйте. В проекте Windows Application всего одна форма. Командой New создал фрейм. Он появился в дизайнере. Разместил на...

Как вывести символ в JLabel в определенной позиции (позиция задается в пикселях)
Привет! Получив ответ на свой вопрос, решил изменить логику работы своей программы. Интересует следующее - можно ли как-нибудь вывести...

Как расположить клиентскую область стороннего окна в определённой позиции экрана
Собственно, задача проста: надо расположить стороннее приложение так, что бы его клиентская область начиналась с позиции Х, Y и была...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru