
08.03.2010, 17:06
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Сообщение от fenixelite
У элемента массива есть имя? Оо Могу предложить сделать либо 2 массива(1-имя, 2-значение), либо двухмерный массив( например [1,1] - имя1, [1,2] -значение1
Может я что то недопонимаю:
Но мне кажется что в [] указывается имя
|
|
|

08.03.2010, 17:22
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
С нами:
8556802
Репутация:
79
|
|
там числовой индекс указывается. test1[1] , test[2] и т.д.. По крайней мере в Delphi так.
|
|
|

08.03.2010, 17:31
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Сообщение от fenixelite
там числовой индекс указывается. test1[1] , test[2] и т.д.. По крайней мере в Delphi так.
Жаль, в PHP можно и имя назначить
|
|
|

08.03.2010, 17:33
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
С нами:
9152955
Репутация:
84
|
|
Не надо 2 массивов если работаешь с текстом. есть варианты проще:
TStringList
Код:
Пример кода : Использование строк название-значение var names : TStringList; // Определение нашей переменной списка строк ageStr : String; i : Integer; begin // Определение объекта списка строк, и указание нашей переменной на него names := TStringList.Create; // Теперь добавляем несколько названия в наш список names.CommaText := 'Neil=45, Brian=63, Jim=22'; // И теперь находим возраст Брайена ageStr := names.Values['Brian']; // Показ этого значения ShowMessage('Возраст Brian'а = '+ageStr); // Теперь отображаем все имена и значение возраста for i := 0 to names.Count-1 do begin ShowMessage(names.Names[i]+' - '+names.ValueFromIndex[i]); end; end; Возраст Brian'а 63 Neil - 45 Brian - 63 Jim - 22
Источник: http://delphibasics.ru/TStringList.php
Самое то для таких вещей
И имена можно использовать
Последний раз редактировалось GhostOnline; 08.03.2010 в 17:36..
|
|
|

08.03.2010, 17:37
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Сообщение от GhostOnline
Не надо 2 массивов если работаешь с текстом. есть варианты проще:
TStringList
Код:
Пример кода : Использование строк название-значение var names : TStringList; // Определение нашей переменной списка строк ageStr : String; i : Integer; begin // Определение объекта списка строк, и указание нашей переменной на него names := TStringList.Create; // Теперь добавляем несколько названия в наш список names.CommaText := 'Neil=45, Brian=63, Jim=22'; // И теперь находим возраст Брайена ageStr := names.Values['Brian']; // Показ этого значения ShowMessage('Возраст Brian'а = '+ageStr); // Теперь отображаем все имена и значение возраста for i := 0 to names.Count-1 do begin ShowMessage(names.Names[i]+' - '+names.ValueFromIndex[i]); end; end; Возраст Brian'а 63 Neil - 45 Brian - 63 Jim - 22
Источник: http://delphibasics.ru/TStringList.php
Самое то для таких вещей
И имена можно использовать
Надо через ' '(Пробел), а не через '='
|
|
|

08.03.2010, 17:35
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
С нами:
8556802
Репутация:
79
|
|
В общем сделал в 2 массивами, думаю сам разберешься, что к чему.
http://slil.ru/28760299
|
|
|

08.03.2010, 17:39
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
С нами:
9152955
Репутация:
84
|
|
Вообще-то, разделитель вроде как можно изменять, написано в том мане. По дефолту - да, стоит "="
Не, в том мане нет, ну вообще вот так:
В свойстве Names содержится текст до знака равенства. В свойстве values содержится текст после знака равенства по умолчанию. Однако символ-разделитель можно заменить на любой другой, использовав свойство property NameValueSeparator: Char; Доступ к значениям свойства values осуществляется по значению. Например, если в списке есть строка City=Saint-Petersburg то значение свойства value будет равно Value['City'] = 'Saint-Petersburg' Кроме этого, значение свойства value можно получить, если известен его индекс: property ValueFormlndex[Index: Integer]: string;
Последний раз редактировалось GhostOnline; 08.03.2010 в 17:44..
|
|
|

08.03.2010, 17:40
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
С нами:
8556802
Репутация:
79
|
|
НTL, мой глянь, может устроит
|
|
|

09.03.2010, 17:37
|
|
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
С нами:
8960826
Репутация:
2261
|
|
вопрос:
Win7
запускаем программу, имеем варнинг:
Код:
User Account Control
Do you want to allow the following program from an unknown publisher make changes
to this computer?
как программно нажать "Yes"?
Пробовал мышью:
Код:
var TI:TInput;
begin
TI.Itype:=0;
TI.mi.dx:= 37000;
TI.mi.dy:= 37000;
TI.mi.mouseData:=0;
TI.mi.time:=0;
TI.mi.dwFlags:=MOUSEEVENTF_MOVE+MOUSEEVENTF_ABSOLUTE;
SendInput(1,TI,sizeof(TI));
TI.mi.dwFlags:=MOUSEEVENTF_LEFTDOWN;
SendInput(1,TI,sizeof(TI));
TI.mi.dwFlags:=MOUSEEVENTF_LEFTUP;
SendInput(1,TI,sizeof(TI));
end.
- под Win7 не катит.
Код:
SetCursorPos(500, 500);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, 500, 500, 0,0);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, 500,500,0,0)
- под Win7 срабатывает, даже setpos не выполняется.
Пробовал клавой:
Код:
procedure SetKey(Key:Integer);
begin
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
end;
begin
SetKey(VK_LEFT);
SetKey(VK_RETURN);
end;
- сам по себе код работает (на активном окне), но конкретно на этом варнинге - нет.
Не сильно рассчитываю на ответ, но если кто-то сталкивался - скажите)
Последний раз редактировалось ErrorNeo; 09.03.2010 в 17:51..
|
|
|

09.03.2010, 17:52
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
С нами:
8556802
Репутация:
79
|
|
Хмм странно. Только что попробовал имитировать нажатие мыши на Win7, все получилось! Попробуй это
Код:
GetCursorPos(A) // узнать текущее положение мыши (где A : TPoint)
SetCursorPos(X,Y) // установить новое положение мыши
mouse_event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0) //нажать левой кнопки
mouse_event(MOUSEEVENTF_LEFTUP,X,Y,0,0) //отпустить левую кнопку
P.S наверное твоя проблема в том, что ты GetCursorPos(A) упустил 
Последний раз редактировалось fenixelite; 09.03.2010 в 17:54..
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|