powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в процедуру передать объект
12 сообщений из 12, страница 1 из 1
Как в процедуру передать объект
    #40110349
antipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я vba script пишу, предется множество рекурсий делать, результаты в лог файл писать собираюсь, и вот в процедуру как параметр надо передать объект?
fou , каждых раз закрывать открывать файл - думаю долго будет

Set fso1 = WScript.CreateObject("Scripting.FileSystemObject")
Set fout = FSO1.CreateTextFile("C:\usr\log.txt", true)
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110372
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antipod,
что-то не помню на ограничения в этом плане
определите и передавайте
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110375
antipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
Пишет "Недопустимое использование скобок" и ругается на закрывающую скобку
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110380
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antipod
HandKot,
Пишет "Недопустимое использование скобок" и ругается на закрывающую скобку


Код: vbnet
1.
2.
3.
Public Sub test(fso As Object)

End Sub
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110507
antipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
Ругается на предполагаемое наличие закрывающей или открываемой скобки.
У меня скрипт, он наверно малость по другому пишется.
Еще - я подзабыл: как в скрипте отделяется тело скрипта от процедур и функций? может собака здесь зарыта?
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110556
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antipod
Ругается на предполагаемое наличие закрывающей или открываемой скобки.
У меня скрипт, он наверно малость по другому пишется.
Ваш монитор слишком далеко, не получается разглядеть, что у вас там на экране...
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110559
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antipod
HandKot,
Ругается на предполагаемое наличие закрывающей или открываемой скобки.
У меня скрипт, он наверно малость по другому пишется.
Еще - я подзабыл: как в скрипте отделяется тело скрипта от процедур и функций? может собака здесь зарыта?


1. скрипты все пишутся одинаково, за несколькими различиями
2.автор Я vba script пишу
Предполагало, что это Visual Basic for Application (vba) пример которого я и показывал ранее
3. Если же Вы пишете VBScript , то там совсем мало отличий (не указываются типы данных)
вот пример на VBS
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
'**************************************** 
REM Процедура записи в лог
'****************************************
sub WriteToFile  (o)
	o.WriteLine("This is a test.")
end sub

'**************************************** 
REM основной блок 
'****************************************
Set fso1 = WScript.CreateObject("Scripting.FileSystemObject")
Set fout = FSO1.CreateTextFile("C:\#tmp\1\log.txt", true)
call WriteToFile  (fout)
fout.Close
set fout = Nothing



По моему, если объект используется в разных местах и часто, то лучше его сделать глобальным, чтобы не передавать как параметр туды сюды
пример

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
'**************************************** 
REM глобальная ссылка на файл лога
'****************************************
Dim fout

'**************************************** 
REM Процедура записи в лог
'****************************************
sub WriteToFile 
	fout.WriteLine("This is a test1111.")
end sub

'**************************************** 
REM основной блок 
'****************************************
Set fso1 = WScript.CreateObject("Scripting.FileSystemObject")
Set fout = FSO1.CreateTextFile("C:\#tmp\1\log.txt", true)
call WriteToFile
fout.Close
set fout = Nothing
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110678
antipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
Я уже все возможные варианты испробовал,скрин сообщения прикрепил
и вот текст последний
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
'**************************************** 
REM Процедура записи в лог
'****************************************
Public sub AllFile (PP, fo As Object)
	Set Files = Fo.GetFolder(pp).Files 
	For Each File In Files 
    		fout.WriteLine(File.Path + vbTab + cStr(File.Size) + vbTab + CStr(File.DateLastModified) + vbTab + CStr(File.DateLastAccessed))
	Next
End sub
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110683
antipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
если As objeck убрать - пишет что не поддерживается свойство у fo
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110687
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antipod
если As objeck убрать
в VBS это надо сделать, в VBS нет AS
antipod
не поддерживается свойство у fo
Так а как это процедура вызывается-то? код-то где?
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110689
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно, почему вы все время предлагаете нам погадать на кофейной гуще
...
Рейтинг: 0 / 0
Как в процедуру передать объект
    #40110690
antipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antipod,
разобрался, объекты попутал, надо было
Код: vbnet
1.
2.
3.
4.
5.
Set fso1 = WScript.CreateObject("Scripting.FileSystemObject")
FolderPath = "C:\1\"
Set fout = FSO1.CreateTextFile("C:\usr\log.txt", true)
fout.WriteLine("*" + vbTab + FolderPath)
Call AllFile (FolderPath, fso1, fout)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в процедуру передать объект
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (14): Анонимы (11), Yandex Bot 1 мин., Bing Bot 5 мин., Google Bot 8 мин.
x
x
Закрыть


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