Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

VBS -> Delphi   Найти похожие ветки 

 
qwerr   (2005-03-01 16:47) [0]

Это на VBS  
For Each objProcess in colProcessList
   
Next

Как это должно выглядеть в Делфи ? Как сделать для какждого ?


 
MU   (2005-03-01 16:50) [1]

что-то такое...
for i := 0 to colProcessList.Count - 1 do
begin
 objProcess := colProcessList.Items[i];
 //....
end;


 
qwerr   (2005-03-01 16:55) [2]

Дело в том что метода items нет, вываливается ошибка !!

только один Count  показывает количество и всё  (((

какие есть ещё варианты ?


 
MU   (2005-03-01 16:57) [3]

а colProcessList - это кто? экземпляр какого класса?
colProcessList. и Ctrl+Space - там, может, будет что нужное?


 
qwerr   (2005-03-01 17:02) [4]

procedure TForm1.Button1Click(Sender: TObject);
var objSWbemLocator, List, List2,list3 : Variant;
 i: integer;
begin
objSWbemLocator := CreateOleObject("WbemScripting.SWbemLocator");
if not (TVarData(objSWbemLocator).VType = varEmpty)
   then ShowMessage("OK");
   list:= objSWbemLocator.ConnectServer("dm-dubrovin");
   list2:= list.ExecQuery("SELECT * FROM Win32_Process WHERE ProcessID = 2380");
   i:= list2.Count;
   ShowMessage(IntToStr(i));
   for i := 0 to list2.Count - 1 do
     begin
      list3 := list2.Items[i];
      ShowMessage(List3.Name) ;
      //....
     end;

end;


 
MU   (2005-03-01 17:08) [5]

попробуй  
 for i := 1 to list2.Count do
    ....
   list3 := list2.Items[i];
   или
   list3 := list2[i];


 
qwerr   (2005-03-01 17:08) [6]

так что есть какие варианты ?


 
qwerr   (2005-03-01 17:10) [7]

да он на сам метод ITEMS ругается, типа такого нет !


 
MU   (2005-03-01 17:12) [8]

var objSWbemLocator, List, List2,list3 : OleVariant;


 
MU   (2005-03-01 17:13) [9]

list3 := list2[i]; ???


 
qwerr   (2005-03-01 17:14) [10]

то же самое (((
поробуй запусти у себя !!!
я уже даже не знаю что делать , а что делать ))) ????


 
qwerr   (2005-03-01 17:23) [11]

может мне кто нить помочь ?


 
MU   (2005-03-01 17:51) [12]

list3 := list2.Item(i);
Но у меня дает "Общая ошибка"
а у вас?


 
qwerr   (2005-03-01 17:56) [13]

list3 := list2.Item(i);   ---  Общая ошибка !

list3 := list2.Item[i];   ---  Ошибка "Член группы не найден"


 
DiamondShark ©   (2005-03-01 17:56) [14]

Должен быть метод аналог Items[], бо не все языки поддерживают VB-шные коллекции. Смотри доку по этому объекту.

Ну а VB-коллекция устроена так:

type
 ICollectionDisp = dispinterface
   ["{00020400-0000-0000-C000-000000000046}"]
   property NewEnum: IEnumVARIANT dispid DISPID_NEWENUM;
 end;

procedure TForm1.Button1Click(Sender: TObject);
var objSWbemLocator, List, List2,list3 : Variant;
enm: IEnumVARIANT;
item: OleVariant;
Dummy: Cardinal;
begin
objSWbemLocator := CreateOleObject("WbemScripting.SWbemLocator");
if not (TVarData(objSWbemLocator).VType = varEmpty)
  then ShowMessage("OK");
  list:= objSWbemLocator.ConnectServer("dm-dubrovin");
  list2:= list.ExecQuery("SELECT * FROM Win32_Process WHERE ProcessID = 2380");
enm := ICollectionDisp(IDispatch(list2)).NewEnum;
 item := Unassigned;
 while enm.Next(1, item, Dummy) = S_OK do
 begin
   // чего-то делаем с item
   item := Unassigned;
 end;

end;


 
qwerr   (2005-03-01 18:15) [15]

IEnumVARIANT - что это за объект ?


 
DiamondShark ©   (2005-03-01 18:29) [16]


> qwerr   (01.03.05 18:15) [15]
> IEnumVARIANT - что это за объект ?

Это не объект, это интерфейс.
Описан в модуле ActiveX.
Документированый интерфейс, реализуемый объектами-коллекциями.


 
qwerr   (2005-03-01 18:38) [17]

Спасибо !!! Все получилось ))) с меня пиво !



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.028 c
3-1108286719
m-a-x
2005-02-13 12:25
2005.03.13
фильтрация


14-1109105043
olookin
2005-02-22 23:44
2005.03.13
Пункт меню в Outlook...


14-1109078258
Aleksandr
2005-02-22 16:17
2005.03.13
Тонер (порошок для заправки принтеров и ксероксов)


1-1109451370
0x010012
2005-02-26 23:56
2005.03.13
Что то не то!


3-1108024853
sashag
2005-02-10 11:40
2005.03.13
SET ROLE в Делфи (DOA, Oracle)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский