forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Пара вопросов + сниффер на мобе? (http://forum.boolean.name/showthread.php?t=14577)

-Flover- 13.04.2011 01:23

Пара вопросов + сниффер на мобе?
 
Доброго времени суток :-)

1. встретился с такой проблемкой... как можно реализовать на МР внизпадающий список? типа как в делфи ComboBox если не ошибаюсь...

2. возможно ли реализовать на мобе (смарт к примеру) сниффер? если да то как? на делфи взял исходник элементарного сниффера и "научил" копировать текст из эмулятора в прогу :-) нужно на мобе такое реализовать... но исходника сниффера, да и вообще ничего подобного не встречал пока что ((

ViNT 13.04.2011 02:04

Ответ: Пара вопросов + сниффер на мобе?
 
По первому - должно сработать FormAddChoice(s,i)
где s - заголовок, i=4.

-Flover- 14.04.2011 01:33

Ответ: Пара вопросов + сниффер на мобе?
 
первый вопрос снят ) работает, спасибо :-)

второй вопрос остался и ещё один появился...

есть файл qwe.txt на диске E на обычном компе, у компа постоянный доступ в инет, статический айпишник, к примеру 172.19.246.75
возможно ли получить/добавить/создать данные из файла/в файл/новый файл на диске??

ViNT 14.04.2011 01:38

Ответ: Пара вопросов + сниффер на мобе?
 
Цитата:

Сообщение от -Flover- (Сообщение 185805)
есть файл qwe.txt на диске E на обычном компе, у компа постоянный доступ в инет, статический айпишник, к примеру 172.19.246.75
возможно ли получить/добавить/создать данные из файла/в файл/новый файл на диске??

Напрямую, думаю, нельзя. Нужно написать серверную софтину, которая будет принимать подключение клиента и выполнять указанные команды.

-Flover- 14.04.2011 01:41

Ответ: Пара вопросов + сниффер на мобе?
 
винт, примерчика не найдется? :rolleyes: а то даже оттолкнуться не от чего :''((

ViNT 14.04.2011 01:51

Ответ: Пара вопросов + сниффер на мобе?
 
Советую поискать книгу "Delphi: что умеют хакеры".
Там неплохо расписано про сокеты, да и пример клиента и сервера есть.

-Flover- 14.04.2011 14:53

Ответ: Пара вопросов + сниффер на мобе?
 
понял :)

вот ещё что

дана строка "235 8757 слово"

как можно определить что "235" это число а не слово? потому как мне нужно сделать проверку чтоб не было ошибки типа "235 а8757 слово"

можно было б каждый символ проверять "число ли это", но это большой геморой, думаю есть что-то попроще, функция какая-нибудь которой нет в хелпе... (искал)

щас нашел stringToInteger оно мне нужно? здесь тоже нужно брать несколько символов в строку отдельную, эту строку превращать в число, если 0 - то ошибка...

ViNT 14.04.2011 17:27

Ответ: Пара вопросов + сниффер на мобе?
 
Цитата:

Сообщение от -Flover- (Сообщение 185839)
как можно определить что "235" это число а не слово? потому как мне нужно сделать проверку чтоб не было ошибки типа "235 а8757 слово"

можно было б каждый символ проверять "число ли это", но это большой геморой, думаю есть что-то попроще, функция какая-нибудь которой нет в хелпе... (искал)

щас нашел stringToInteger оно мне нужно? здесь тоже нужно брать несколько символов в строку отдельную, эту строку превращать в число, если 0 - то ошибка...

Можно только перебором строки и проверкой вхождения каждого символа в набор разрешенных (здесь придется записать все допустимые символы в строку, а потом проверять вхождение каждого символа проверяемой строки в строку разрешенных с помощью pos, т.к. множества MP не поддерживает).

-Flover- 14.04.2011 20:27

Ответ: Пара вопросов + сниффер на мобе?
 
понял, спасибо, вот ещё такой вопрос...

как программно поставить "галочку" ???

choiceIsSelected(choiceGroupID, LA):=True; - не работает ((

ViNT 14.04.2011 20:33

Ответ: Пара вопросов + сниффер на мобе?
 
В Lib_ui есть функция choice_set_selected(cgID,cbID,val);
где cgID - идентификатор списка, cbID - идентификатор чекбокса, val - если 1 то поставить метку, если 0 то снять.

-Flover- 15.04.2011 01:45

Ответ: Пара вопросов + сниффер на мобе?
 
ага, работает ))) сделал вот типа "настройки" в проге, можно ли как нибудь сократить код?

Код:

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;

это рабочий вариант :-) как было задумано - работает, но, думаю для солидности можно что-то как-то упростить? или так и должно быть? :-)

ViNT 15.04.2011 08:17

Ответ: Пара вопросов + сниффер на мобе?
 
Упростить тут что-либо сложно, а если и можно, то незначительно. У меня процедура настройки в одном проекте примерно так же выглядит.
Только не рекомендую использовать постоянные в качестве идентификаторов элементов формы, все равно же приходится сохранять их в переменную при создании элементов (ну, разве что, для усложнения анализа кода).

-Flover- 15.04.2011 15:42

Ответ: Пара вопросов + сниффер на мобе?
 
эм.. а как тогда их использовать?) в хелпе так было написано, я так и использую... программирование для моба значительно отличается от программирования для компа :-) многое приходится учитывать....

ViNT 15.04.2011 18:53

Ответ: Пара вопросов + сниффер на мобе?
 
Цитата:

Сообщение от -Flover- (Сообщение 185991)
эм.. а как тогда их использовать?) в хелпе так было написано, я так и использую... программирование для моба значительно отличается от программирования для компа :-) многое приходится учитывать....

В старом хелпе было так (и я так же делаю) :

PHP код:

var
 
tfPassword:integer;
begin
 tfPassword
:=FormAddTextField(...);
 
password:=FormGetText(tfPassword); 

На мой взгляд, при осмысленных названиях переменных более удобно работать с ними, чем помнить, какому элементу какой индекс присвоен.

-Flover- 16.04.2011 14:09

Ответ: Пара вопросов + сниффер на мобе?
 
хороший совет )) сам чет не сообразил )) ещё такой вопрос, можно ли сделать "фон" приложения если я использую "формы"? текстовые поля всякие и тд... если да то как?

а то сейчас получается какой фон у темы моба стоит, такой и в приложении... при черном фоне будет не айс...

ViNT 16.04.2011 17:10

Ответ: Пара вопросов + сниффер на мобе?
 
Цитата:

Сообщение от -Flover- (Сообщение 186122)
хороший совет )) сам чет не сообразил )) ещё такой вопрос, можно ли сделать "фон" приложения если я использую "формы"? текстовые поля всякие и тд... если да то как?

а то сейчас получается какой фон у темы моба стоит, такой и в приложении... при черном фоне будет не айс...

Это не реализуемо, чисто на уровне j2me.

-Flover- 17.04.2011 02:24

Ответ: Пара вопросов + сниффер на мобе?
 
снова возникла проблема...
есть несколько formAddTextField на форме... производятся действия...

вопрос: мне нужно вывести слово "ошибка" отдельно от других formAddTextField, тоесть чтобы было на экране только слово "ошибка" и через секунды три, это пропадало и возвращалось обратно к моим formAddTextField в которых записи есть уже... :rolleyes:

пробовал через showTextBox, но его "отдельно" убрать не получается через идентификатор, либо всё что на форме есть, либо при нажатии "назад" это поле появляется (( или я номер идентификатора не правильно указал?

ViNT 17.04.2011 02:35

Ответ: Пара вопросов + сниффер на мобе?
 
Для вывода сообщений лучше Alert использовать.

-Flover- 17.04.2011 02:59

Ответ: Пара вопросов + сниффер на мобе?
 
попробовал через алерт... работает... не совсем как надо )) прога зациклилась...

Код:

repeat
delay(100);
clicked := getClickedCommand;
until clicked <> emptyCommand;

........................................

if lo<>0 then
begin
showAlert('Ошибка', 'ОШИБКА в строке:'+chr(10)+rtm[rt]+' '+n3[n], loadImage('/icon.png'), ALERT_INFO);
delay(3000);
showForm;
aax; // возврат в начало всей этой процедуры
end;

вот у меня и прыгает теперь, то одно показывает то другое... на сколько я понимаю это из-за того что "команда включена"? поэтому постоянно само проходит дальше? как обнулить тогда команду? пробовал чет не получилось ((

а, и ещё, в алерте иконку вставлять обязательно, а можно обойтись без неё? как?)

Решил кажись проблему, таким образом:
Код:

if lo<>0 then
begin
showAlert('Ошибка', 'ОШИБКА в строке:'+chr(10)+rtm[rt]+' '+n3[n], loadImage('/icon.png'), ALERT_INFO);
delay(3000);
showForm;
repeat
      clicked := GetClickedCommand;
    until clicked <> EmptyCommand;
aax;
end;

Возвращает обратно, всё как надо было ))

Вопрос с картинкой остался...

ViNT 17.04.2011 22:07

Ответ: Пара вопросов + сниффер на мобе?
 
Самый простой и безопасный вариант - загружать пустое изображение.
Или можно выводить сообщение в Canvas.


Часовой пояс GMT +4, время: 22:15.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot