Главная страница
    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.48 MB
Время: 0.033 c
1-1108952254
viktorovich
2005-02-21 05:17
2005.03.13
Преобразование текста в memo


14-1109082292
ParaSenok
2005-02-22 17:24
2005.03.13
Чат


1-1109366217
ser35
2005-02-26 00:16
2005.03.13
Как сделать расчет?


1-1109274151
Генри
2005-02-24 22:42
2005.03.13
Как разбить файл на части, а потом его собрать?


14-1109060470
Чеширский_Кот
2005-02-22 11:21
2005.03.13
Разбирающимся в ноутбуках





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