Главная страница
    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.036 c
3-1108374949
atruhin
2005-02-14 12:55
2005.03.13
IBDatabase требует ввода пароля, как избивиться


1-1109645574
msgipss
2005-03-01 05:52
2005.03.13
Подскажите интерпретаторы для использования в Delphi 6 и выше


4-1106865030
Atrion
2005-01-28 01:30
2005.03.13
Как создать подкласс WC_LISTVIEW("SysListView32") ?


14-1109150896
peypivo
2005-02-23 12:28
2005.03.13
кто знает когда призыв начинается?


14-1108742992
Doxygen
2005-02-18 19:09
2005.03.13
DocBook





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский