|
Основной форум Сюда все проблемы связанные с программированием. |
13.04.2011, 01:23
|
#1
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Пара вопросов + сниффер на мобе?
Доброго времени суток
1. встретился с такой проблемкой... как можно реализовать на МР внизпадающий список? типа как в делфи ComboBox если не ошибаюсь...
2. возможно ли реализовать на мобе (смарт к примеру) сниффер? если да то как? на делфи взял исходник элементарного сниффера и "научил" копировать текст из эмулятора в прогу нужно на мобе такое реализовать... но исходника сниффера, да и вообще ничего подобного не встречал пока что ((
|
(Offline)
|
|
13.04.2011, 02:04
|
#2
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
По первому - должно сработать FormAddChoice(s,i)
где s - заголовок, i=4.
|
(Offline)
|
|
14.04.2011, 01:33
|
#3
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
первый вопрос снят ) работает, спасибо
второй вопрос остался и ещё один появился...
есть файл qwe.txt на диске E на обычном компе, у компа постоянный доступ в инет, статический айпишник, к примеру 172.19.246.75
возможно ли получить/добавить/создать данные из файла/в файл/новый файл на диске??
|
(Offline)
|
|
14.04.2011, 01:38
|
#4
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
Сообщение от -Flover-
есть файл qwe.txt на диске E на обычном компе, у компа постоянный доступ в инет, статический айпишник, к примеру 172.19.246.75
возможно ли получить/добавить/создать данные из файла/в файл/новый файл на диске??
|
Напрямую, думаю, нельзя. Нужно написать серверную софтину, которая будет принимать подключение клиента и выполнять указанные команды.
|
(Offline)
|
|
14.04.2011, 01:41
|
#5
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
винт, примерчика не найдется? а то даже оттолкнуться не от чего
|
(Offline)
|
|
14.04.2011, 01:51
|
#6
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
Советую поискать книгу "Delphi: что умеют хакеры".
Там неплохо расписано про сокеты, да и пример клиента и сервера есть.
|
(Offline)
|
|
14.04.2011, 14:53
|
#7
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
понял
вот ещё что
дана строка "235 8757 слово"
как можно определить что "235" это число а не слово? потому как мне нужно сделать проверку чтоб не было ошибки типа "235 а8757 слово"
можно было б каждый символ проверять "число ли это", но это большой геморой, думаю есть что-то попроще, функция какая-нибудь которой нет в хелпе... (искал)
щас нашел stringToInteger оно мне нужно? здесь тоже нужно брать несколько символов в строку отдельную, эту строку превращать в число, если 0 - то ошибка...
|
(Offline)
|
|
14.04.2011, 17:27
|
#8
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
Сообщение от -Flover-
как можно определить что "235" это число а не слово? потому как мне нужно сделать проверку чтоб не было ошибки типа "235 а8757 слово"
можно было б каждый символ проверять "число ли это", но это большой геморой, думаю есть что-то попроще, функция какая-нибудь которой нет в хелпе... (искал)
щас нашел stringToInteger оно мне нужно? здесь тоже нужно брать несколько символов в строку отдельную, эту строку превращать в число, если 0 - то ошибка...
|
Можно только перебором строки и проверкой вхождения каждого символа в набор разрешенных (здесь придется записать все допустимые символы в строку, а потом проверять вхождение каждого символа проверяемой строки в строку разрешенных с помощью pos, т.к. множества MP не поддерживает).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.04.2011, 20:27
|
#9
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
понял, спасибо, вот ещё такой вопрос...
как программно поставить "галочку" ???
choiceIsSelected(choiceGroupID, LA):=True; - не работает ((
|
(Offline)
|
|
14.04.2011, 20:33
|
#10
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
В Lib_ui есть функция choice_set_selected(cgID,cbID,val);
где cgID - идентификатор списка, cbID - идентификатор чекбокса, val - если 1 то поставить метку, если 0 то снять.
|
(Offline)
|
|
15.04.2011, 01:45
|
#11
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
ага, работает ))) сделал вот типа "настройки" в проге, можно ли как нибудь сократить код?
Procedure nastroyki; // НАСТРОЙКИ
var rs: recordStore;
choiceGroupID, textField_id, space_id,ssss,text1,text2: integer;
NY, LA,ny2,la2,group2,b1,i: integer;
par:string;
io:Boolean;
begin
showForm;
ss:='';
i:=0;
choiceGroupID := formAddChoice('Выберите действие', 2);
NY := choiceAppendString(choiceGroupID, 'Проверять правильность введеных данных');
LA := choiceAppendString(choiceGroupID, 'Входной пароль');
rs := openRecordStore('nastroyka');
par := readRecordStoreEntry(rs, 1);
closeRecordStore(rs);
if length(par)=3 then
begin
if getChar(par, 0)='1' then
choice_set_selected(choiceGroupID, NY,1);
if getChar(par, 2)='1' then
choice_set_selected(choiceGroupID, LA,1);
end;
showForm;
show := createCommand('Сохранить ', CM_SCREEN, 1);
addCommand(show);
komna := createCommand(' Назад', CM_back, 1);
addCommand(komna);
repeat
delay(100);
if i=0 then
if choiceIsSelected(choiceGroupID, LA) then
begin
text1 := formAddTextField('Старый пароль:', '', 9, TF_NUMERIC); // идентификатор = 1
text2 := formAddTextField('Новый пароль: ', '', 9, TF_NUMERIC); // 2
showForm;
i:=1;
end;
if i=1 then
if not choiceIsSelected(choiceGroupID, LA) then
begin
formRemove(2);
formRemove(1);
showForm;
i:=0;
end;
clicked := getClickedCommand;
until clicked <> emptyCommand;
if clicked = komna then // если выбрали назад в меню
begin
showCanvas; // убираем меню с экрана ))
clearForm; // убираем справку с экрана))
aaz;
end
else // если выбрали далее
begin
if choiceIsSelected(choiceGroupID, NY) then
ss:='1';
if not choiceIsSelected(choiceGroupID, NY) then
ss:='0';
if choiceIsSelected(choiceGroupID, LA) then
ss:=ss+'|1';
if not choiceIsSelected(choiceGroupID, LA) then
ss:=ss+'|0';
if choiceIsSelected(choiceGroupID, LA) then // ЕСЛИ ГАЛОЧКА "ВХОДНОЙ ПАРОЛЬ"
begin
rs := openRecordStore('parol');
par := readRecordStoreEntry(rs, 1);
closeRecordStore(rs);
if (formGetText(1)<>par) and (formGetText(1)<>'') then // ЕСЛИ ПАРОЛЬ НЕ ПУСТОЙ И НЕ РАВЕН СТАРОМУ ПАРОЛЮ ТО ВЫХОД В МЕНЮ
aaz;
if par=formGetText(1) then // ЕСЛИ СТАРЫЕ ПАРОЛИ РАВНЫ ТО УСТАНАВЛИВАЕМ НОВЫЙ
begin
deleteRecordStore('parol');
rs := openRecordStore('parol');
ssss := addRecordStoreEntry(rs,formGetText(2));
closeRecordStore(rs);
end;
end;
deleteRecordStore('nastroyka'); // ПЕРЕЗАПИСЫВАЕМ НАСТРОЙКИ
rs := openRecordStore('nastroyka');
ssss := addRecordStoreEntry(rs,ss);
closeRecordStore(rs);
showCanvas; // убираем меню с экрана ))
clearForm; // убираем справку с экрана))
aaz;
end;
end;
это рабочий вариант как было задумано - работает, но, думаю для солидности можно что-то как-то упростить? или так и должно быть?
|
(Offline)
|
|
15.04.2011, 08:17
|
#12
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
Упростить тут что-либо сложно, а если и можно, то незначительно. У меня процедура настройки в одном проекте примерно так же выглядит.
Только не рекомендую использовать постоянные в качестве идентификаторов элементов формы, все равно же приходится сохранять их в переменную при создании элементов (ну, разве что, для усложнения анализа кода).
|
(Offline)
|
|
15.04.2011, 15:42
|
#13
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
эм.. а как тогда их использовать?) в хелпе так было написано, я так и использую... программирование для моба значительно отличается от программирования для компа многое приходится учитывать....
|
(Offline)
|
|
15.04.2011, 18:53
|
#14
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
Сообщение от -Flover-
эм.. а как тогда их использовать?) в хелпе так было написано, я так и использую... программирование для моба значительно отличается от программирования для компа многое приходится учитывать....
|
В старом хелпе было так (и я так же делаю) :
var tfPassword:integer; begin tfPassword:=FormAddTextField(...); password:=FormGetText(tfPassword);
На мой взгляд, при осмысленных названиях переменных более удобно работать с ними, чем помнить, какому элементу какой индекс присвоен.
|
(Offline)
|
|
16.04.2011, 14:09
|
#15
|
Оператор ЭВМ
Регистрация: 15.01.2011
Сообщений: 23
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Пара вопросов + сниффер на мобе?
хороший совет )) сам чет не сообразил )) ещё такой вопрос, можно ли сделать "фон" приложения если я использую "формы"? текстовые поля всякие и тд... если да то как?
а то сейчас получается какой фон у темы моба стоит, такой и в приложении... при черном фоне будет не айс...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:39.
|