![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 23
|
![]()
Как создать циклв отом примере:
Dim F As Long Dim FileName As String Dim MyText As String Dim x Private Sub Command1_Click() Text5.Text = "" Text1.Text = "Radmin.exe" Text3.Text = ":4899" Text2.Text = "/connect:" Text4.Text = " /telnet" ''''''''''''''''''''''''''''''''1'' ''''''''''''''''''''''''''''''''''' '''' x = 0 MyText = "" FileName = Dir("D:\555\1.txt") If FileName <> "" Then F = FreeFile Open App.Path & "\1.txt" For Input As #F Do Until EOF(F) Line Input #F, MyText x = x + 1 If x > 9 Then MyText = Left(MyText, 15) MyText = Replace(MyText, " ", "") Text5.Text = Text5.Text & Text1.Text & Text2.Text & MyText & Text3.Text & Text4.Text & vbCrLf Else End If Loop Close #F Else End If ''''''''''''''''''''''''''''''''''' '''''''2''''''''''''''''''''''''''' ''''''''''''' x = 0 MyText = "" FileName = Dir("D:\555\2.txt") If FileName <> "" Then F = FreeFile Open App.Path & "\2.txt" For Input As #F Do Until EOF(F) Line Input #F, MyText x = x + 1 If x > 9 Then MyText = Left(MyText, 15) MyText = Replace(MyText, " ", "") Text5.Text = Text5.Text & Text1.Text & Text2.Text & MyText & Text3.Text & Text4.Text & vbCrLf Else End If Loop Close #F Else End If задача такая: есть группа текстовых файлов с 1 по n. Нужно проверить его существование FileName = Dir("D:\555\1.txt") И открыть очередной файл Open App.Path & "\1.txt" For Input As #F Это сделано для одного файла. Как сделать чтобы был перебор по всем существующим файлам? пробовал ставить переменную вместо имени файла,не прокатывает,вроде.Не прописывать же тысячу одинаковых блоков,различающихся только именем открываемого и проверяемого файла. |
![]() |
![]() |
![]() |
#2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Попробуй так:
Код:
Цитата:
Преподаватель как увидит 2000 строк кода, так сразу и поставит зачёт лишь за одно усердие ![]() |
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 20.11.2008
Сообщений: 23
|
![]() Цитата:
Общий стаж в программировании уже более 7 часов,около 3 часов теории и более 4 часов ковыряния с кодом(перерывы на завтрак не включены) Спасибо,сейчас попробую |
|
![]() |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
![]() А в чём здесь прикол: x = x + 1 If x > 9 Then Во всех файлах нужные данные находятся именно в 9-й строке? |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 23
|
![]()
Парсю результаты сканера:
This file was generated by Angry IP Scanner Visit http://www.angryziber.com/ for the latest version Scanned 89.146.74.1 - 89.146.74.255 (Ports: 4899) 17.05.2009 14:02:54 IP Ping Hostname Open Ports 89.146.74.136 1450 ms 89-146-74-136.extreme.sarkor.uz4899 (89.146.74.136 1450 ms и 89-146-74-136.extreme.sarkor.uz4899 в одной строке) Убираю лишние верхние строки(шапку),далее выбираю 15 знаков слева от каждой строки так как максимально 255.255.255.255(то есть выбираю все ip адреса) и убираю пробелы,далее для составляю сроку для автозапуска Radmina,так по всем строкам.И в конце записываю всё в батник |
![]() |
![]() |
![]() |
#6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
А вдруг IP-адрес будет короче? Например, попадётся такая строка: 89.16.74.36 1450 ms 89-146-74-136.extreme.sarkor.uz4899 Проверь: Код:
Правильно будет так: Код:
Потом разбиваем строку на массив функцией Split (разделитель - пробел) И берём первый элемент этого массива (с индексом 0)- IP-адрес То есть замени в коде строку MyText = Replace(Left(MyText, 15), " ", "") на строку MyText = Split(Trim(MyText), " ")(0) |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 23
|
![]()
Хм,ошибок не выдаёт,но и ничего не делает,в поле text5 вообще ничего не выводится
|
![]() |
![]() |
![]() |
#8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Кстати, у меня есть готовый код на VB для преобразований доменноеИмя -> IP-адрес -> доменноеИмя, для пинга IP-адресов и т.д. и т.п. (в общем всё, что связано с работой с сетью из VB)
Есть код управления через Telnet различными устройствами (надо знать IP-адрес и номер порта устройства), так что при желании можно обойтись без батников и Radmin-а. Так что, если надо будет, обращайся. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 20.11.2008
Сообщений: 23
|
![]()
Здесь всё нормально,просто на форуме так отображается,там между IP и временем пинга 10-15 пробелов стоит,такой шаблон у него.Можно смело и 20 знаков брать(только незачем,там всё равно пробелы.
|
![]() |
![]() |
![]() |
#10 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Наверняка в каждом файле последняя строка - пустая. Поэтому и поле оказывается пустым (ты просто не успеваешь увидеть, когда оно сотни раз заполняется, а видишь только результат для последней пустой строки файла) Если есть Скайп - звони, помогу написать код. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужна помощь | Caragius | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 08.04.2010 17:29 |
помощь нужна | Гаджи | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 29.04.2009 20:05 |
Нужна помощь. | freedom_fighter | Помощь студентам | 2 | 30.12.2008 23:52 |
Нужна помощь!!)) | ТРОЯН=) | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.12.2008 21:42 |
Нужна помощь!!! | Anil | Помощь студентам | 0 | 04.12.2007 17:32 |