Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 26
Рейтинг: 0
#1: 2017-09-14 14:24:47 ЛС | профиль | цитата
Ну в принципе вопрос в заголовке.
Как организовать поиск по ID (не по индексу) Чтобы после нахождения ID программа проверила что пользователь с таким Login и Pass Существует.
и выдал всю информацию в поток для дальнейшей работы с ними.

Add(Edit,6024966,749,56)
{
Left=175
Top=5
Width=75
Text="Login"
}
Add(Edit,4954728,700,56)
{
Left=350
Top=5
Visible=1
Text="id"
link(Str,7717454:Count,[(706,44)(794,44)(794,218)(881,218)])
}
Add(Button,11725048,658,140)
{
Left=110
Top=5
Width=60
Caption="Добавить"
link(onClick,6969489:doEvent1,[])
}
Add(FormatStr,5497859,756,140)
{
DataCount=4
Mask="%1;%2;%3;%4"
link(onFString,7717454:doAdd,[(832,146)(832,174)])
link(Str1,4954728:Text,[(762,114)(706,114)])
link(Str3,6024966:Text,[(776,114)(755,114)])
link(Str4,3765063:Text,[(783,112)(801,112)])
}
Add(Edit,3765063,795,53)
{
Left=260
Top=5
Width=75
Text="Pass"
}
Add(Button,8271104,672,196)
{
Left=560
Top=5
Width=60
Caption="Удалить"
Point(doSetFocus)
link(onClick,7512365:doData,[(712,202)(712,209)])
}
Add(Hub,6969489,707,140)
{
link(onEvent1,4954728:doText,[(733,146)(733,104)(688,104)(688,62)])
link(onEvent2,5497859:doString,[(742,153)(742,146)])
}
Add(DoData,7512365,721,203)
{
link(onEventData,7717454:doDelete,[(814,209)(814,188)])
link(Data,7717454:Index,[(727,191)(811,191)(811,218)(895,218)])
}
Add(Edit,9637388,707,259)
{
Left=80
Top=65
Text=""
}
Add(Button,10061708,651,301)
{
Left=10
Top=65
Caption="Искать"
link(onClick,12989631:doData,[(695,307)(695,314)])
}
Add(DoData,12989631,707,308)
{
link(onEventData,7717454:doSelect,[(807,314)(807,209)])
link(Data,9637388:Text,[])
}
Add(StringTableMT,7717454,875,168)
{
Left=10
Top=90
Width=615
Height=240
Columns=#5:id=50|6:ip=100|9:Login=250|8:Pass=215|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(Index)
Point(doSelect)
}
Add(MainForm,2953706,175,91)
{
Width=664
Height=377
Position=1
}

карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2017-09-14 14:40:14 ЛС | профиль | цитата
Искать в БД, а не в МТ таблице

Редактировалось 1 раз(а), последний 2017-09-14 14:43:30
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 0
#3: 2017-09-14 14:50:58 ЛС | профиль | цитата
Tad писал(а):
Искать в БД, а не в МТ таблице


Так а как это организовать ?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2017-09-14 15:44:42 ЛС | профиль | цитата
А где хранишь список "пользователь + Login и пароль" ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 0
#5: 2017-09-14 16:08:12 ЛС | профиль | цитата
Tad писал(а):
А где хранишь список "пользователь + Login и пароль" ?


Подойдет любой способ. Могу и Mysql На сервере. Могу просто в файле. Опишу подробней суть.
Хочу организовать простой чат, с возможностью личных сообщений. но не могу в вдуплить как сделать проверку данных.
Вчера пришла такая мысль
Оба клиента подключается к серверу. их данные регистрируются в таблице.
"Клиент1" В водить Login и Pass(второго клиента) оправляет их серверу. сервер проверяет проверяет в таблице, что такой пользователь подключен(проверяет его данные) и возвращает ответ "клиенту1". После чего он будет отправляет серверу послание в таком виде (login;pass "Привет") сервер проверит что есть такой пользователь в базе проверит логин и пароль. возьмет из базы его IP и отправит ему Его "Привет" через doSendByip
Может это слишком жестокая схема. но я не нашел рационального решения )))))
Поэтому все через жопу.
Просто хотелось бы как то обезопасить программу. Хотя-бы сделать видимость безопасности)))

Редактировалось 1 раз(а), последний 2017-09-14 16:10:34
карма: 0

0
Ответов: 8886
Рейтинг: 823
#6: 2017-09-14 18:03:39 ЛС | профиль | цитата
KanT39, а откуда "Клиент №1" будет знать ПАРОЛЬ "Клиента №2" Может только ЛОГИН?
карма: 19

0
Ответов: 26
Рейтинг: 0
#7: 2017-09-15 09:46:26 ЛС | профиль | цитата
Леонид писал(а):
KanT39, а откуда "Клиент №1" будет знать ПАРОЛЬ "Клиента №2" Может только ЛОГИН?


Можно только логин ) Но Я думал о защите типа как (TeamViewer)
Но суть не в этом, мне главное понять как это организовать. А там уже будут и другие вопросы )
карма: 0

0
Ответов: 8886
Рейтинг: 823
#8: 2017-09-15 12:36:29 ЛС | профиль | цитата
KanT39, в таблицах есть точки, содержащие массивы строк и ячеек, к ним и нужно обращаться. (Но лучше использовать БД)
Пример


Add(Edit,6024966,336,98)
{
Left=85
Top=5
Width=75
Text="Login"
}
Add(Edit,4954728,294,98)
{
Left=245
Top=5
Width=65
Text="ip"
}
Add(Button,11725048,175,161)
{
Left=20
Top=5
Width=60
Caption="Добавить"
link(onClick,5497859:doString,[])
}
Add(FormatStr,5497859,357,161)
{
DataCount=4
Mask="%1;%2;%3;%4"
link(onFString,145988:doWork2,[])
link(Str1,7717454:Count,[(363,138)(398,138)(398,215)(433,215)])
link(Str2,4954728:Text,[(370,152)(300,152)])
link(Str3,6024966:Text,[(377,145)(342,145)])
link(Str4,3765063:Text,[])
}
Add(Edit,3765063,378,98)
{
Left=165
Top=5
Width=75
Text="Pass"
}
Add(Button,8271104,175,210)
{
Left=185
Top=35
Width=60
Caption="Удалить"
Point(doSetFocus)
link(onClick,7512365:doData,[])
}
Add(DoData,7512365,224,210)
{
link(onEventData,7717454:doDelete,[(263,216)(263,181)])
link(Data,7273990:Text,[])
}
Add(Edit,9637388,546,189)
{
Left=90
Top=35
Text="1000500"
}
Add(Button,10061708,392,238)
{
Left=20
Top=35
Width=60
Caption="Искать"
link(onClick,356023:doEnum,[])
}
Add(StringTableMT,7717454,427,161)
{
Left=15
Top=60
Width=315
Height=195
Columns=#5:id=50|5:ip=75|8:Login=75|7:Pass=75|
TabGridFrame=0
TableWBreak=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doSelect)
Point(Strings)
Point(Matrix)
}
Add(MainForm,14973453,182,84)
{
Position=1
link(onCreate,5705294:doWork1,[(221,104)(221,90)])
}
Add(MultiElement,5705294,231,84)
{
link(onEvent1,145988:doWork1,[(417,90)])
}
BEGIN_SDK
Add(EditMulti,14552802,21,21)
{
EventCount=1
WorkCount=1
Width=475
Height=235
link(doWork1,13291040:doEvent1,[(32,27)(32,62)])
}
Add(Random,13546350,77,49)
{
Min=1000000
Max=1001000
Point(doRandomWithoutRepeats)
link(onRandom,7095583:doEvent1,[])
}
Add(Hub,7095583,126,49)
{
OutCount=6
link(onEvent1,9202535:doClear,[(151,55)(151,48)(319,48)(319,69)])
link(onEvent2,10046685:doFor,[])
link(onEvent3,9134047:doClear,[(165,69)(165,108)(327,108)(327,125)])
link(onEvent4,14467389:doFor,[(158,76)(158,118)])
link(onEvent5,15672824:doNext,[(148,83)(148,174)])
}
Add(Counter,15672824,168,168)
{
Max=100000
Default=-1
link(onNext,1852456:doString,[])
}
Add(FormatStr,1852456,217,168)
{
DataCount=4
Mask="%1;%2;%3;%4"
link(onFString,14552802:onEvent1,[(471,174)(471,27)])
link(Str2,13546350:Random,[(230,153)(83,153)])
link(Str3,16393456:Var1,[(237,96)])
link(Str4,2888456:Var1,[(244,152)])
}
Add(For,10046685,175,56)
{
End=9
link(onEvent,7783233:doRandom,[])
}
Add(For,14467389,189,112)
{
End=9
link(onEvent,461319:doRandom,[])
}
Add(Random,7783233,231,56)
{
Min=97
Max=122
link(onRandom,1751579:doConvert,[])
}
Add(Random,461319,245,112)
{
Min=97
Max=122
link(onRandom,3141815:doConvert,[])
}
Add(StrCat,9202535,343,56)
{
Point(doClear)
link(Str1,16393456:Var3,[(349,47)(335,47)])
}
Add(StrCat,9134047,350,112)
{
Point(doClear)
link(Str1,2888456:Var3,[(356,103)(342,103)])
}
Add(Convertor,1751579,280,56)
{
Mode=4
link(onResult,9202535:doStrCat,[])
}
Add(Convertor,3141815,287,112)
{
Mode=4
link(onResult,9134047:doStrCat,[])
}
Add(GetDataEx,2888456,336,147)
{
Angle=1
link(Data,9134047:Result,[(356,152)])
}
Add(GetDataEx,16393456,329,91)
{
Angle=1
link(Data,9202535:Result,[(349,96)])
}
Add(Hub,13291040,42,56)
{
link(onEvent1,13546350:doRandomize,[])
link(onEvent2,13546350:doRandomWithoutRepeats,[(67,69)(67,76)])
}
END_SDK
Add(HubEx,145988,413,161)
{
link(onEvent,7717454:doAdd,[])
}
Add(Edit,7273990,224,168)
{
Left=260
Top=35
DataType=2
}
Add(ArrayEnum,356023,441,238)
{
link(onItem,6683923:doSplit,[])
link(Array,7717454:Strings,[])
}
Add(MultiStrPart,6683923,490,238)
{
link(onSplit,7871315:doCompare,[])
}
Add(If_else,7871315,539,238)
{
link(onTrue,4209086:doEvent1,[])
link(Op1,6683923:Part2,[(545,229)(531,229)(531,278)(503,278)])
link(Op2,9637388:Text,[])
}
Add(DoData,15938263,623,238)
{
link(onEventData,14973453:doCaption,[(662,244)(662,76)(172,76)(172,90)])
link(Data,356023:Item,[(629,229)(576,229)(576,282)(447,282)])
}
Add(Hub,4209086,588,238)
{
link(onEvent1,15938263:doData,[])
link(onEvent2,356023:doStop,[(613,251)(613,293)(431,293)(431,251)])
}

карма: 19

0
Ответов: 26
Рейтинг: 0
#9: 2017-09-15 14:11:47 ЛС | профиль | цитата
Леонид писал(а):
KanT39, в таблицах есть точки, содержащие массивы строк и ячеек, к ним и нужно обращаться. (Но лучше использовать БД)
Пример


Add(Edit,6024966,336,98)
{
Left=85
Top=5
Width=75
Text="Login"
}
Add(Edit,4954728,294,98)
{
Left=245
Top=5
Width=65
Text="ip"
}
Add(Button,11725048,175,161)
{
Left=20
Top=5
Width=60
Caption="Добавить"
link(onClick,5497859:doString,[])
}
Add(FormatStr,5497859,357,161)
{
DataCount=4
Mask="%1;%2;%3;%4"
link(onFString,145988:doWork2,[])
link(Str1,7717454:Count,[(363,138)(398,138)(398,215)(433,215)])
link(Str2,4954728:Text,[(370,152)(300,152)])
link(Str3,6024966:Text,[(377,145)(342,145)])
link(Str4,3765063:Text,[])
}
Add(Edit,3765063,378,98)
{
Left=165
Top=5
Width=75
Text="Pass"
}
Add(Button,8271104,175,210)
{
Left=185
Top=35
Width=60
Caption="Удалить"
Point(doSetFocus)
link(onClick,7512365:doData,[])
}
Add(DoData,7512365,224,210)
{
link(onEventData,7717454:doDelete,[(263,216)(263,181)])
link(Data,7273990:Text,[])
}
Add(Edit,9637388,546,189)
{
Left=90
Top=35
Text="1000500"
}
Add(Button,10061708,392,238)
{
Left=20
Top=35
Width=60
Caption="Искать"
link(onClick,356023:doEnum,[])
}
Add(StringTableMT,7717454,427,161)
{
Left=15
Top=60
Width=315
Height=195
Columns=#5:id=505:ip=75|8:Login=75|7ass=75|
TabGridFrame=0
TableWBreak=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doSelect)
Point(Strings)
Point(Matrix)
}
Add(MainForm,14973453,182,84)
{
Position=1
link(onCreate,5705294:doWork1,[(221,104)(221,90)])
}
Add(MultiElement,5705294,231,84)
{
link(onEvent1,145988:doWork1,[(417,90)])
}
BEGIN_SDK
Add(EditMulti,14552802,21,21)
{
EventCount=1
WorkCount=1
Width=475
Height=235
link(doWork1,13291040:doEvent1,[(32,27)(32,62)])
}
Add(Random,13546350,77,49)
{
Min=1000000
Max=1001000
Point(doRandomWithoutRepeats)
link(onRandom,7095583:doEvent1,[])
}
Add(Hub,7095583,126,49)
{
OutCount=6
link(onEvent1,9202535:doClear,[(151,55)(151,48)(319,48)(319,69)])
link(onEvent2,10046685:doFor,[])
link(onEvent3,9134047:doClear,[(165,69)(165,108)(327,108)(327,125)])
link(onEvent4,14467389:doFor,[(158,76)(158,118)])
link(onEvent5,15672824:doNext,[(148,83)(148,174)])
}
Add(Counter,15672824,168,168)
{
Max=100000
Default=-1
link(onNext,1852456:doString,[])
}
Add(FormatStr,1852456,217,168)
{
DataCount=4
Mask="%1;%2;%3;%4"
link(onFString,14552802nEvent1,[(471,174)(471,27)])
link(Str2,13546350:Random,[(230,153)(83,153)])
link(Str3,16393456:Var1,[(237,96)])
link(Str4,2888456:Var1,[(244,152)])
}
Add(For,10046685,175,56)
{
End=9
link(onEvent,7783233:doRandom,[])
}
Add(For,14467389,189,112)
{
End=9
link(onEvent,461319:doRandom,[])
}
Add(Random,7783233,231,56)
{
Min=97
Max=122
link(onRandom,1751579:doConvert,[])
}
Add(Random,461319,245,112)
{
Min=97
Max=122
link(onRandom,3141815:doConvert,[])
}
Add(StrCat,9202535,343,56)
{
Point(doClear)
link(Str1,16393456:Var3,[(349,47)(335,47)])
}
Add(StrCat,9134047,350,112)
{
Point(doClear)
link(Str1,2888456:Var3,[(356,103)(342,103)])
}
Add(Convertor,1751579,280,56)
{
Mode=4
link(onResult,9202535:doStrCat,[])
}
Add(Convertor,3141815,287,112)
{
Mode=4
link(onResult,9134047:doStrCat,[])
}
Add(GetDataEx,2888456,336,147)
{
Angle=1
link(Data,9134047:Result,[(356,152)])
}
Add(GetDataEx,16393456,329,91)
{
Angle=1
link(Data,9202535:Result,[(349,96)])
}
Add(Hub,13291040,42,56)
{
link(onEvent1,13546350:doRandomize,[])
link(onEvent2,13546350:doRandomWithoutRepeats,[(67,69)(67,76)])
}
END_SDK
Add(HubEx,145988,413,161)
{
link(onEvent,7717454:doAdd,[])
}
Add(Edit,7273990,224,168)
{
Left=260
Top=35
DataType=2
}
Add(ArrayEnum,356023,441,238)
{
link(onItem,6683923:doSplit,[])
link(Array,7717454:Strings,[])
}
Add(MultiStrPart,6683923,490,238)
{
link(onSplit,7871315:doCompare,[])
}
Add(If_else,7871315,539,238)
{
link(onTrue,4209086:doEvent1,[])
link(Op1,6683923art2,[(545,229)(531,229)(531,278)(503,278)])
link(Op2,9637388:Text,[])
}
Add(DoData,15938263,623,238)
{
link(onEventData,14973453:doCaption,[(662,244)(662,76)(172,76)(172,90)])
link(Data,356023:Item,[(629,229)(576,229)(576,282)(447,282)])
}
Add(Hub,4209086,588,238)
{
link(onEvent1,15938263:doData,[])
link(onEvent2,356023:doStop,[(613,251)(613,293)(431,293)(431,251)])
}


|

Уххх _) Спасибо большой буду пробовать и разбираться.
карма: 0

0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)