Чтение файла

Программирование на Active Server Pages и VBScript.
Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Чтение файла

Сообщение Конь » 04.01.2007 (Чт) 14:09

Возможно ли прочитать текстовый файл при помощи VBScript БЕЗ применения FSO?
Подпись находится в стадии разработки...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.01.2007 (Чт) 14:17

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 04.01.2007 (Чт) 16:54

Ты меня, наверное, не так понял... Ну ладно.
Задам другой вопрос: почему когда я пытаюсь сделать fso.GetFile(fn), гду fn примерно "http://www.abc.ru/dir/text.txt", IE ругается, что такого файла нет? Хоть он существует и читаем.
Подпись находится в стадии разработки...

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 04.01.2007 (Чт) 16:55

Да, я эту цитату уже видел... в поиске! :lol:
Подпись находится в стадии разработки...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 04.01.2007 (Чт) 17:29

Потому что "http://www.abc.ru/dir/text.txt" это интернет-адрес, а не путь файловой системы.
Лучший способ понять что-то самому — объяснить это другому.

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 04.01.2007 (Чт) 17:32

А какой он должен быть, например? :scratch:
Подпись находится в стадии разработки...

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 04.01.2007 (Чт) 17:44

Конь
Если ты не понял, то в цитате было сказано, что нет, нельзя.
А конкретно твой URL можно загрузить с помощью XMLHTTP(поиск)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.01.2007 (Чт) 17:49

Автор, обрати свой взор на XMLHttpRequest.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 04.01.2007 (Чт) 23:30

Ладно, перебьюсь с FSO, просто глюки были, сейчас вроде прошли.
Так какой, например, должен быть путь файловой системы? И опять-таки, как получить такой путь по отношению к файлу, содержащему исполняемый код?
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.01.2007 (Чт) 23:41

Для начала: твой код должен исполняться на клиенте или на сервере?
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 0:01

А возможно выполнить VBS на сервере?
(Извините, туплю...)
Короче говоря, имеется HTML-документ с кодом VBScript, который (код) вызывается при body_onLoad и выводит в некой таблице содержимое заданного текстого файла, расположенного на сервере.
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 0:08

Собственно, ASP -- это именно скрипты, выполняемые на сервере...


Нет, FSO читать файлы через Интернет не умеет.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 0:25

А как тогда быть?.. Мне нужно что-то, что может выполняться на клиенте, независимо оттого, поддерживает сервер ASP или нет...
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 0:43

См. выше
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 13:49

А как, так сказать, воткнуть на страницу reference?
Через <object/>?
И как потом им пользоваться? Нужно ли менять Dim XML As New XMLHTTP на что-то?
Кстати, я решил использовать MSXML 2.6 из-за того, что он в 9x есть. Так что там не XMLHTTPRequest, а XMLHTTP. Воть.
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 13:56

Втыкать ничего не нужно. CreateObject("MSXML.Whatever") и все дела.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 15:10

Спасибо, разобрался. Там нужно писать не MSXML, а MSXML2.
Только теперь появилась другая проблема: как сделать, чтобы XMLHTTP.responsetext был в нормальной кодировке? А то возвращаются какие-то вопросительные знаки...
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 15:36

А сервер нормальный Content-type отдаёт? Потому что MSXML оттуда кодировку смотрит.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 16:11

Я проверял не на сервере, а на компьютере. Когда попытался проверить на сервере, возникла еще одна проблема. Так что с предыдущей сейчас нет возможности разобраться...
Я правильно делаю?
Код: Выделить всё
Dim XML
Set XML = CreateObject("MSXML2.XMLHTTP")
XML.open "POST", "news.txt"
XML.send
tblNews.innerHTML = XML.responsetext

А проблема такая: файл не успевает загрузиться до выполнения последней строчки кода. Как этого избежать?
Последний раз редактировалось Конь 06.01.2007 (Сб) 13:13, всего редактировалось 3 раз(а).
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 16:19

OnReadyStateChange
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 16:59

Поискал. Извини, ничего не понял :)
Как с этим свойством (ивентом?) работать?
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 17:35

Так ведь там прямо в описании пример приведён :roll:
http://msdn2.microsoft.com/en-us/ms762767.aspx
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 18:02

Спасибо! Все заработало.
Возвращаемся к предыдущей проблеме.
Как получить Content-type?
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 18:05

Телнетом зайти на 80 порт ;-)
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.01.2007 (Пт) 18:10

Ты про это?
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
Если да, то как поступить и объяснить MSXML'у, какую кодировку нужно использовать? :(
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.01.2007 (Пт) 18:20

Это не ему нужно объяснять, а серверу.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 06.01.2007 (Сб) 13:10

Т.е. это своими руками сделать невозможно?
Подпись находится в стадии разработки...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.01.2007 (Сб) 14:30

Зависит от сервера и от степени доступа к нему.
Апачу, например, можно положить в папку .htaccess, в котором это прописывается.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 07.01.2007 (Вс) 16:59

А есть другие методы получения текста из файла?
Например, можно скачать файл на компьютер, а потом открыть его при помощи FSO?
Подпись находится в стадии разработки...

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Сообщение DimPos » 23.01.2008 (Ср) 10:58

А разве нельзя тупо в файле VBS:
public String
String="весь текст" или
String=CStr(весь текст)

о размере строковой переменной сказано:
Variable-length strings may range in length from 0 to approximately 2 billion characters.

и нет нужды грузиться с FSO и т.д.

След.

Вернуться в ASP и VBScript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

    TopList