Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Номер строк в текстовом файле / 19 сообщений из 19, страница 1 из 1
29.09.2006, 00:40
    #34020587
CLilian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Может странный и наивный вопрос, ну очень надо узнать номер строк в текстовом файле. Может есть какая нибудь функция?

Помогите кто знает, спосибо.
...
Рейтинг: 0 / 0
29.09.2006, 07:08
    #34020696
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Я такую функцию не встречал, применяю следующий метод в таких случаях
Включить Refrence к Microsoft Scripting Runtime в Project>References
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim objFSO As Scripting.FileSystemObject,objFile as Scripting.TextStream
Set objFSO=New Scripting.FileSystemObject
Set objFile=objFSO.OpenTextFile("C:\source.txt")
Do While Not objFile.AtEndOfStream
    strTemp=objFile.ReadLine
    MsgBox strTemp & vbCrLf & objFile.Line
Loop
objFile.Close
Set objFile=Nothing
Set objFSO=Nothing
...
Рейтинг: 0 / 0
29.09.2006, 13:59
    #34022159
CLilian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Спасибо, иду пробовать.
...
Рейтинг: 0 / 0
03.10.2006, 22:28
    #34030143
Bastica
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Open "C:\tst.txt" For Input As # 1 

Do While Not EOF( 1 )
    Line Input # 1 , temp
    i = i +  1 
Loop
Close # 1 

Text1.Text = i

Он считает весь файл, но считаное никуда не выведет. а вот кол-во строк сосчитает, и выведет в текстовое поле
...
Рейтинг: 0 / 0
04.10.2006, 10:06
    #34030619
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
а вот ещё вариант
Код: 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.
Sub txtfile()
    'библиотека Microsoft ActiveX Data Objects Library
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim strCnnString As String
    Dim strSource As String
    
    strSource = "F:\"
    
    ' Строка подключение OLE DB.
    strCnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
        strSource & ";Extended Properties=""text;HDR=No;FMT=Delimited"""
    Set cnn = New ADODB.Connection
    cnn.Open strCnnString
    cnn.CursorLocation = adUseClient
    Set rst = cnn.Execute("SELECT * FROM [licence.txt]")
    'Set rst = New ADODB.Recordset
    'With rst
    '    .CursorLocation = adUseClient
    '    .Open "SELECT * FROM [licence.txt]", cnn, adOpenStatic, adLockOptimistic
    '    .Move (3) 'переход на третью строку
    '    MsgBox rst.Fields(0) 'вывод первого столбца текущей строки
    'End With
    MsgBox rst.RecordCount 'общее количество строк
    rst.Close
    cnn.Close

    Set rst = Nothing
    Set cnn = Nothing
 End Sub
...
Рейтинг: 0 / 0
04.10.2006, 12:15
    #34031143
Nikz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
и еще вариант
...
Рейтинг: 0 / 0
04.10.2006, 12:32
    #34031206
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
авторМожет странный и наивный вопрос, ну очень надо узнать номер строк в текстовом файле. Может есть какая нибудь функция?
Не понятен вопрос. Номер конкретной/текущей в твоем редакторе? Или всего сколько?
...
Рейтинг: 0 / 0
04.10.2006, 13:03
    #34031332
squid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
AndreyMp
Проимер хороший, но не рабочий. проверил на всех версиях АДО, затыкается на строке
set rst=... кричит БД доступна только для чтения. Файл источник проверен, он точно не read Only.
...
Рейтинг: 0 / 0
04.10.2006, 13:06
    #34031350
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
А я то тут причем. Ты мой топик почитай, поясни, я выложу ответ. Может даже и сегодня, если не займут ни чем.
...
Рейтинг: 0 / 0
04.10.2006, 13:15
    #34031394
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
squidAndreyMp
Проимер хороший, но не рабочий. проверил на всех версиях АДО, затыкается на строке
set rst=... кричит БД доступна только для чтения. Файл источник проверен, он точно не read Only.
Наверно это мне адресовано.

пример однозначно рабочий
стоит только положить на диск "F:\" (в корень )
любой тектовый файл с названием "licence.txt"
подключить в референс любую версию "Microsoft ActiveX Data Objects Library"
и не меняя код запустить его будет
Excel2000 SP3
...
Рейтинг: 0 / 0
04.10.2006, 13:26
    #34031460
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Уважаемые! Я вообще Вас не понимаю. Зачем прикручивать АДО или ФСО к проекту в таком простом вопросе?
...
Рейтинг: 0 / 0
04.10.2006, 13:34
    #34031505
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
AndreyMpУважаемые! Я вообще Вас не понимаю. Зачем прикручивать АДО или ФСО к проекту в таком простом вопросе?
Просто, когда есть время, можно поэксперементировать.
Глядишь в будущем пригодится, для более сложных задач.
...
Рейтинг: 0 / 0
04.10.2006, 13:45
    #34031562
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
AndreyMpУважаемые! Я вообще Вас не понимаю. Зачем прикручивать АДО или ФСО к проекту в таком простом вопросе?
а чем FSO плох? Я его во всех своих программах для работы с текстовыми файлами использую, и он меня пока "не обижал"
и еще, между прочим поиск через FSO выполняется гораздо быстрее чем стандартный Windows'овский, я это тестил даже через Windows Scripting
...
Рейтинг: 0 / 0
04.10.2006, 13:51
    #34031595
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
А работая с ADO, если в txt таблица, очень быстро...(ну Вы и сами знаете все приимущества)
...
Рейтинг: 0 / 0
04.10.2006, 14:21
    #34031772
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
авторWindows Scripting Гы... А ФСО тогда что? Какую библу прилинковываете по Вашему? Я против нее ничего не имею, но использовать в небольших проектах не советую из-за ее размера. К тому же зря Вы говорите о ее скорости.
...
Рейтинг: 0 / 0
04.10.2006, 14:40
    #34031858
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
AndreyMp авторWindows ScriptingК тому же зря Вы говорите о ее скорости.
я не с воздуха взял...
...
Рейтинг: 0 / 0
04.10.2006, 14:44
    #34031874
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Код и результаты теста в студию!
...
Рейтинг: 0 / 0
04.10.2006, 15:15
    #34032047
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
AndreyMp авторWindows Scripting Гы... А ФСО тогда что? Какую библу прилинковываете по Вашему? Я против нее ничего не имею, но использовать в небольших проектах не советую из-за ее размера. К тому же зря Вы говорите о ее скорости.

Только что посмотрел размер scrrun.dll - 148 КБ. 148 КБ это проблема?
На мой скромный взгляд, гораздо важнее - удобство кодирования и простота поддержки приложения. Я что-то не припомню, чтобы дополнительные 100-200 КБ были предметом обсуждения в реальной практике разработки не веб приложений, только на форумах, причем исключительно наших, а вот код, не отвечающий требованиям объектного программирования...
...
Рейтинг: 0 / 0
04.10.2006, 15:37
    #34032171
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Номер строк в текстовом файле
Вот код
Код: 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.
Option Explicit
Dim objFSO,blnExitFunc,strTemp

Function SearchFile(strFileName,strSearchFolder)
	Dim objSearchFolder,objFile,objFolder
	Set objSearchFolder=objFSO.GetFolder(strSearchFolder)
	For Each objFile In objSearchFolder.Files
		If StrComp(objFile.Name,strFileName)= 0  Then
			SearchFile=objFile.Path
			blnExitFunc=True
			Exit Function
		End If
	Next
	For Each objFolder In objSearchFolder.SubFolders
		strTemp=SearchFile(strFileName,objFolder.Path)
		If blnExitFunc Then
			SearchFile=strTemp
			Exit Function
		End If
	Next
	Set objSearchFolder=Nothing
End Function

Set objFSO=CreateObject("Scripting.FileSystemObject")
blnExitFunc=False : strTemp=""
WScript.Echo Now
WScript.Echo SearchFile("sub_sectors.aml","C:\Documents and Settings")
WScript.Echo Now
Set objFSO=Nothing
Результаты:
Explorer - 3 секунды
FSO - 2-3 секунды
Когда первый раз запускаю уходит 4 секунды, в последующие запуски или 2 или 3 секунды уходит, количество папок, которые скрип должен просмотреть - 166
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Номер строк в текстовом файле / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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