Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 26
Рейтинг: 2
#1: 2018-10-19 21:14:37 ЛС | профиль | цитата
Коллеги, решил тут упростить себе задачу в работе, но не получается кое что сделать.
Имеем вот что:
Программа на hiasm которая позволяет добавлять данные в базу данных. Необходимо это для того что бы ускорить процесс предоставления доступа к порталу на работе.
Но вот в чем проблема.. есть скрипт который генерирует пароль, но вот не знаю как его вставить в БД каждому пользователю.
Add(MainForm,2953706,-259,144)
{
Width=988
Height=501
Caption="Добавление сотрудников на портал MMF и Flextera"
Point(onClose)
link(onCreate,16168490:doOpen,[])
link(onClose,16168490:doClose,[])
}
Add(StringTableMT,16628981,182,123)
{
Left=10
Top=45
Width=955
Height=415
Columns=#2:id|5:login|17:password_flextera|12:password_mmf|8:lastname|4:name|11:middle_name|5:phone|5:email|6:diller|0:|
StrDelimiter="\9"
ColumnWidth=100
Redaction=0
Gradient=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(Strings)
Point(onLineChange)
Point(Index)
Point(onDblClick)
link(onLineChange,3995575:doRead,[])
}
Add(Button,10786776,14,123)
{
Left=10
Top=25
Width=120
Caption="Добавить строку"
link(onClick,11161723:doOperation,[])
}
Add(Math,11161723,63,123)
{
Op2=1
ResultType=0
link(onResult,14640627:doEvent1,[])
link(Op1,16628981:Count,[(69,111)(129,111)(129,187)(188,187)])
}
Add(DS_SQLite,16168490,-196,158)
{
Name="db"
FileName="C:\\SOFT\\database.db"
link(onOpen,3816673:doEvent1,[])
}
Add(DSC_Exec,10454492,-91,207)
{
SQL="CREATE TABLE table1 (id int, login char, password_flextera char, password_mmf char,\r\nname char, lastname char, middle_name char, phone char, email char, diller char)"
DSManager="db"
}
Add(DSC_Exec,341439,231,39)
{
DSManager="db"
}
Add(ArrayRW,3995575,301,130)
{
link(onRead,2776629:doSplit,[])
link(Array,2218236:Var3,[(307,118)(264,118)(264,191)(250,191)(246,190)])
}
Add(Hub,14640627,119,123)
{
link(onEvent1,16628981:doAdd,[])
link(onEvent2,11096851:doString,[(157,136)(157,45)])
}
Add(FormatStr,11096851,182,39)
{
DataCount=1
Mask="INSERT INTO table1 (id) VALUES (%1)"
link(onFString,341439:doExec,[])
}
Add(DSC_Query,8749579,-91,158)
{
SQL="SELECT * FROM table1"
DSManager="db"
link(onQuery,16628981:doMT_Add,[])
}
Add(DSC_Exec,2307078,546,200)
{
DSManager="db"
}
Add(FormatStr,6841402,357,228)
{
DataCount=10
Mask="UPDATE table1 SET login='%2',password_flextera='%3',password_mmf='%4',name='%5',\r\nlastname='%6', middle_name='%7',phone='%8',email='%9',diller='%10' WHERE id=%1"
link(onFString,15389070:doWork2,[])
link(Str1,2776629:Part1,[])
link(Str2,2776629:Part2,[])
link(Str3,2776629:Part3,[])
link(Str4,2776629:Part4,[])
link(Str5,2776629:Part5,[])
link(Str6,2776629:Part6,[])
link(Str7,2776629:Part7,[])
link(Str8,2776629:Part8,[])
link(Str9,2776629:Part9,[])
link(Str10,2776629:Part10,[])
}
Add(MultiStrPart,2776629,357,130)
{
Char="\9"
Count=10
link(onSplit,6841402:doString,[(509,136)(509,171)(345,171)(345,234)])
}
Add(Hub,3816673,-140,158)
{
link(onEvent1,8749579:doQuery,[])
link(onEvent2,10454492:doExec,[(-108,171)(-108,213)])
}
Add(Button,14428720,-140,284)
{
Left=135
Top=25
Width=120
Caption="Удалить строку"
link(onClick,3854984:doEvent1,[(-26,290)(-26,297)])
}
Add(Hub,3854984,-21,291)
{
link(onEvent1,1861630:doRead,[])
link(onEvent2,7246631:doData,[(63,304)(63,381)])
}
Add(DoData,7246631,98,375)
{
link(onEventData,16628981:doDelete,[(93,381)(93,143)])
link(Data,1908855:Var1,[(104,237)])
}
Add(DSC_Exec,10696886,448,291)
{
DSManager="db"
}
Add(FormatStr,214626,343,291)
{
DataCount=1
Mask="DELETE FROM table1 WHERE id=%1 "
link(onFString,10696886:doExec,[])
link(Str1,2932136:Part1,[(349,279)(297,279)(297,335)(286,335)])
}
Add(ArrayRW,1861630,217,291)
{
link(onRead,2932136:doSplit,[])
link(Array,13990292:Var2,[])
link(Index,1908855:Var2,[(230,266)(174,266)])
}
Add(GetDataEx,13990292,217,183)
{
Angle=3
link(Data,16628981:Strings,[(215,189)(202,188)])
}
Add(GetDataEx,1908855,168,232)
{
Angle=1
link(Data,16628981:Index,[(209,237)])
}
Add(MultiStrPart,2932136,280,291)
{
Char="\9"
Count=1
link(onSplit,214626:doString,[])
}
Add(StringGen,1468828,35,434)
{
Count=8
Point(doCharset)
link(onResult,14438879:doText,[])
}
Add(Hub,15092223,-126,441)
{
OutCount=3
link(onEvent1,1622675:doEvent,[(-88,447)(-88,580)])
link(onEvent2,166348:doData,[])
link(onEvent3,1468828:doGenerateRnd,[(-21,461)(-21,490)(-14,490)(-14,447)])
}
Add(StrList,3507537,91,630)
{
Strings=#62:ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz|
Point(IdxToSelect)
Point(doGetString)
Point(onGetString)
link(onGetString,1616336:doEvent2,[])
}
Add(Hub,1616336,203,630)
{
InCount=2
OutCount=1
link(onEvent1,15974738:doValue,[])
}
Add(DoData,13870070,35,581)
{
link(onEventData,1616336:doEvent1,[(184,587)(184,636)])
}
Add(ChanelToIndex,13728458,-14,672)
{
Count=1
link(onIndex,3507537:doGetString,[])
}
Add(Memory,15974738,245,630)
{
Default=String(ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz)
}
Add(IndexToChanel,1622675,-14,574)
{
Point(Index)
link(onEvent2,13870070:doData,[])
}
Add(LineBreakEx,6313629,-63,420)
{
Caption="cs"
Type=2
}
Add(LineBreakEx,5597764,245,679)
{
Caption="cs"
Type=3
link(_Data,15974738:Value,[])
}
Add(DoData,166348,-63,448)
{
link(onEventData,1468828:doCharset,[])
link(Data,6313629:getVar,[])
}
Add(Edit,14438879,98,434)
{
Left=835
Top=20
Width=125
Height=25
Text=""
}
Add(Button,10272292,-238,434)
{
Left=705
Top=10
Width=125
Height=35
Caption="Сгенерировать пароль"
link(onClick,15092223:doEvent1,[(-166,440)(-166,447)])
}
Add(GetDataEx,2218236,238,182)
{
Angle=3
link(Data,13990292:Var3,[(233,187)(233,188)])
}
Add(HubEx,11792719,484,228)
{
Angle=3
link(onEvent,2307078:doExec,[(488,206)])
}
Add(HubEx,15389070,462,228)
{
link(onEvent,11792719:doWork2,[])
}


Если ещё поможете как выбирать к примеру первую строку и копировать это в буфер, то цены вам не будет. Но больше конечно нужно вставлять данные в ячейку и грузить это в бд.

Спасибо большое.

Редактировалось 2 раз(а), последний 2018-10-19 21:15:43
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2018-10-20 10:40:12 ЛС | профиль | цитата
Как-то так, вроде.

Add(MainForm,7057179,336,203)
{
Width=971
Height=501
Caption="Добавление сотрудников на портал MMF и Flextera"
Position=1
Point(onClose)
link(onCreate,16168490:doOpen,[])
link(onClose,16168490:doClose,[])
}
Add(StringTableMT,16628981,560,196)
{
Left=10
Top=55
Width=940
Height=405
Columns=#4:id=0|5:Логин|14:Пароль FLEXTER|10:Пароль MMF|7:Фамилия|3:Имя|8:Отчество|7:Телефон|9:Эл. адрес|6:Диллер|
StrDelimiter="\9"
ColumnWidth=100
Redaction=0
TabGrid=0
TabGridFrame=0
Grid=0
Gradient=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(Strings)
Point(onLineChange)
Point(onDblClick)
link(onClick,1702344:doPutText,[(604,202)(604,286)(541,286)(541,307)])
link(onLineChange,3995575:doRead,[])
}
Add(Button,10786776,511,119)
{
Left=10
Top=25
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="Добавить строку"
link(onClick,15092223:doEvent1,[])
}
Add(DS_SQLite,16168490,399,217)
{
Name="mdb"
FileName=":memory:"
link(onOpen,10454492:doExec,[])
}
Add(DSC_Exec,10454492,448,217)
{
SQL="CREATE TABLE IF NOT EXISTS table1 (\r\n id INTEGER PRIMARY KEY, \r\n login TEXT, \r\n password_flexta TEXT, \r\n password_mmf TEXT,\r\n name TEXT,\r\n lastname TEXT,\r\n middle_name TEXT,\r\n phone TEXT,\r\n email TEXT,\r\n diller TEXT);"
DSManager="mdb"
link(onExec,11160510:doWork2,[])
}
Add(ArrayRW,3995575,623,203)
{
link(onRead,2776629:doSplit,[])
link(Array,16628981:Strings,[(629,196)(607,196)(607,265)(580,265)])
}
Add(FormatStr,11096851,672,154)
{
Mask="INSERT INTO table1( id,login,password_flexta,password_mmf) VALUES(NULL,'','%1','%2');"
link(onFString,14192086:doWork1,[(774,160)])
link(Str2,1468828:Result,[])
}
Add(DSC_Query,8749579,511,217)
{
SQL="SELECT * FROM table1"
DSManager="mdb"
link(onQuery,16628981:doMT_Add,[])
link(onColumns,16628981:doClear,[(551,230)(551,209)])
}
Add(DSC_Exec,2307078,791,252)
{
DSManager="mdb"
link(onExec,11160510:doWork1,[(838,258)(838,99)(494,99)])
}
Add(FormatStr,6841402,672,252)
{
DataCount=10
Mask="UPDATE table1 SET login='%2',password_flextera='%3',password_mmf='%4',name='%5',\r\nlastname='%6', middle_name='%7',phone='%8',email='%9',diller='%10' WHERE id=%1"
link(onFString,14192086:doWork2,[])
link(Str1,2776629:Part1,[])
link(Str2,2776629:Part2,[])
link(Str3,2776629:Part3,[])
link(Str4,2776629:Part4,[])
link(Str5,2776629:Part5,[])
link(Str6,2776629:Part6,[])
link(Str7,2776629:Part7,[])
link(Str8,2776629:Part8,[])
link(Str9,2776629:Part9,[])
link(Str10,2776629:Part10,[])
}
Add(MultiStrPart,2776629,672,203)
{
Char="\9"
Count=10
link(onSplit,6841402:doString,[(757,209)(757,245)(660,245)(660,258)])
}
Add(Button,14428720,511,357)
{
Left=135
Top=25
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="Удалить строку"
link(onClick,2932136:doSplit,[])
}
Add(FormatStr,214626,616,357)
{
DataCount=1
Mask="DELETE FROM table1 WHERE id=%1 "
link(onFString,14192086:doWork3,[(774,363)])
link(Str1,2932136:Part1,[(622,349)(607,349)(607,404)(573,404)])
}
Add(MultiStrPart,2932136,567,357)
{
Char="\9"
Count=1
link(onSplit,214626:doString,[])
link(Str,15748700:Var2,[])
}
Add(StringGen,1468828,679,112)
{
Count=10
Charset="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
}
Add(Hub,15092223,560,119)
{
link(onEvent1,1468828:doGenerateRnd,[])
link(onEvent2,2507902:doGenerateRnd,[(599,132)(599,167)])
}
Add(HubEx,14192086,770,252)
{
link(onEvent,2307078:doExec,[])
}
Add(HubEx,11160510,490,217)
{
link(onEvent,8749579:doQuery,[])
}
Add(StringGen,2507902,623,154)
{
Count=10
link(onResult,11096851:doString,[])
}
Add(Clipboard,1702344,546,301)
{
Point(PutText)
link(PutText,15748700:Var1,[(552,257)])
}
Add(GetDataEx,15748700,567,252)
{
link(Data,16628981:Select,[])
}



Редактировалось 3 раз(а), последний 2018-10-20 10:58:42
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 2
#3: 2018-10-20 18:52:23 ЛС | профиль | цитата
Спасибо большое. Ваш вариант работает, но только к сожалению не сохраняет данные в базе при закрытие программы. Попытался указать путь к своей базе и подредактировать, но увы не работает. Буду ковырять) Спасибо ещё раз )

Редактировалось 1 раз(а), последний 2018-10-23 08:29:54
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2018-10-20 19:17:22 ЛС | профиль | цитата
Tad писал(а):
Ваш вариант работает, но только к сожалению не сохраняет данные в базе при закрытие программы. Попытался указать путь к своей базе и подредактировать, но увы не работает.

Просто в DS_SQLite вместо FileName=:memory: укажи FileName="C:\SOFT\mydbase.db"

Редактировалось 2 раз(а), последний 2018-10-20 19:20:08
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 2
#5: 2018-10-20 19:24:38 ЛС | профиль | цитата
Tad писал(а):
Tad писал(а):
Ваш вариант работает, но только к сожалению не сохраняет данные в базе при закрытие программы. Попытался указать путь к своей базе и подредактировать, но увы не работает.

Просто в DS_SQLite вместо FileName=:memory: укажи FileName="C:\SOFT\mydbase.db"

Редактировалось 2 раз(а), последний 2018-10-20 19:20:08

Заработало ) Спасибо )

Редактировалось 1 раз(а), последний 2018-10-20 19:26:23
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2018-10-20 19:58:09 ЛС | профиль | цитата
stimka, при ответе не надо цитировать полностью.
Мог же просто написать "Заработало"
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 2
#7: 2018-10-20 23:34:15 ЛС | профиль | цитата
Спасибо.
Ещё такой вопрос. А есть возможность менять строку таблицы на лету? Что бы понятнее было, опишу задумку.
К примеру нужно что бы при вводе фамилии- Иванов, она автоматом менялась на Ivanov... код замены есть и знаю как это сделать через Edit, но вот как прикрутить к MT? Возможно ли это?

Извините что так много вопросов, просто хотелось упростить себе жизнь) Если возможно, то буду ковырять)
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#8: 2018-10-20 23:52:04 ЛС | профиль | цитата
stimka писал(а):
Возможно ли это?
Да. Завтра.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 2
#9: 2018-10-21 09:55:49 ЛС | профиль | цитата
Спасибо. Буду ждать.
Пока сам попробую.
карма: 0

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#10: 2018-10-21 10:18:59 ЛС | профиль | цитата
stimka, Не научитесь пользоваться тегами - пеняйте сами на себя. После 3-го предупреждения автоматически назначается бан.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 16884
Рейтинг: 1239
#11: 2018-10-21 12:12:11 ЛС | профиль | цитата
stimka писал(а):
К примеру нужно что бы при вводе фамилии- Иванов, она автоматом менялась на Ivanov... код замены есть и знаю как это сделать через Edit
Смотри %HiAsm%\Elements\Delphi\Example\Forms\MTStrTbl\With_EditCtrl.sha
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 2
#12: 2018-10-21 14:41:23 ЛС | профиль | цитата
Спасибо, но немного не то. Решил подсмотреть в одной схеме код и меня он устроил. Старался переделать как там, но чет не заработало )
По идее после того как данные из Edit попали в компонент (Format..не знаю как называется ) c запросом на обновление данных, то данные должны были обновится, вот только этого не произошло.

В последний раз укажите пожалуйста на ошибку и все, больше не побеспокою ) Спасибо)

Add(ChildForm,9467718,546,98)
{
FirstUsage=0
}
BEGIN_SDK
Add(EditMulti,2379941,-35,-7)
{
EventCount=6
WorkCount=1
DataCount=1
VarCount=2
Width=1329
Height=823
link(doWork1,14021805:doShowModal,[(21,-1)(21,237)])
link(Var2,13311944:Var1,[(-22,82)])
}
Add(MainForm,14021805,154,203)
{
Left=35
Top=100
Width=376
Height=320
Visible=1
Point(onClose)
Point(doShowModal)
link(onActivate,11585841:doEvent1,[(250,209)(250,139)])
link(onCreate,15049992:doOpen,[])
link(onClose,15049992:doClose,[])
}
Add(Edit,8193515,609,238)
{
Left=65
Top=160
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
}
Add(Edit,4896915,567,294)
{
Left=65
Top=190
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
}
Add(Edit,7707199,581,336)
{
Left=65
Top=220
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
}
Add(Label,3448287,1184,371)
{
Left=5
Top=10
Width=55
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Фамилия"
}
Add(Label,12074310,1182,420)
{
Left=5
Top=40
Width=28
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Имя"
}
Add(Label,16429677,1182,462)
{
Left=5
Top=100
Width=40
Height=19
Font=[Times New Roman,10,1,0,204]
Caption="Логин"
}
Add(Label,4932833,1183,511)
{
Left=5
Top=70
Width=55
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Отчество"
}
Add(Label,1072301,1176,553)
{
Left=15
Top=135
Width=4
Height=4
Font=[Times New Roman,10,0,0,204]
Caption=""
}
Add(Label,11865404,1183,595)
{
Left=5
Top=130
Width=53
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Телефон"
}
Add(Label,3469290,1183,679)
{
Left=5
Top=160
Width=45
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Диллер"
}
Add(Label,1739345,1187,641)
{
Left=5
Top=190
Width=32
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Email"
}
Add(Button,13679188,63,245)
{
Left=240
Top=45
Width=85
Height=35
Caption="ОТМЕНА"
link(onClick,13117481:doEvent1,[(111,251)(111,293)])
}
Add(Edit,8947271,511,35)
{
Left=65
Top=10
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
Point(doSetFocus)
link(onChange,15997396:doWork1,[(569,41)(569,139)(408,139)(408,237)])
}
Add(DS_SQLite,15049992,203,217)
{
Name="mdb"
FileName="C:\SOFT\mydbase.db"
WaitClose=0
link(onOpen,7388849:doWork3,[(508,223)])
}
Add(Hub,13117481,126,287)
{
InCount=3
link(onEvent1,14021805:doClose,[(147,293)(147,230)])
}
Add(Edit,9848688,526,151)
{
Left=65
Top=100
Width=160
Font=[Times New Roman,10,0,0,204]
Enabled=1
Text=""
Point(doSetFocus)
}
Add(Edit,11868430,519,95)
{
Left=65
Top=40
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
}
Add(Edit,6824894,543,186)
{
Left=65
Top=70
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
}
Add(Edit,8358532,550,228)
{
Left=65
Top=130
Width=160
Font=[Times New Roman,10,0,0,204]
Text=""
}
Add(DSC_Exec,1263187,785,693)
{
DSManager="parent.mdb"
}
Add(GetDataEx,13311944,511,77)
{
link(Data,8947271:Text,[])
}
Add(Hub,11585841,315,133)
{
OutCount=3
link(onEvent1,5259777:doEvent1,[(395,139)(395,48)])
link(onEvent3,7388849:doWork2,[(343,153)(343,90)])
}
Add(Hub,5259777,413,42)
{
link(onEvent1,8947271:doText,[(445,48)(445,41)])
link(onEvent2,8947271:doSetFocus,[])
}
Add(MultiElement,15997396,420,231)
{
link(onEvent1,9848688:doText,[(459,237)(459,157)])
}
BEGIN_SDK
Add(EditMulti,12137061,42,49)
{
EventCount=1
WorkCount=1
DataCount=1
Width=1549
Height=60
VOffset=21
HOffset=21
link(doWork1,7056492:doModify,[])
}
Add(Replace,11439842,112,70)
{
SubStr="а"
DestStr="a"
link(onReplace,530333:doReplace,[])
}
Add(Replace,530333,154,70)
{
SubStr="б"
DestStr="b"
link(onReplace,11128969:doReplace,[])
}
Add(Replace,11128969,196,70)
{
SubStr="в"
DestStr="v"
link(onReplace,3391353:doReplace,[])
}
Add(Replace,3391353,238,70)
{
SubStr="г"
DestStr="g"
link(onReplace,14636492:doReplace,[])
}
Add(Replace,14636492,280,70)
{
SubStr="д"
DestStr="d"
link(onReplace,12283807:doReplace,[])
}
Add(Replace,12283807,322,70)
{
SubStr="е"
DestStr="e"
link(onReplace,16094144:doReplace,[])
}
Add(Replace,16094144,364,70)
{
SubStr="ё"
DestStr="yo"
link(onReplace,15370106:doReplace,[])
}
Add(Replace,15370106,406,70)
{
SubStr="ж"
DestStr="zh"
link(onReplace,16045438:doReplace,[])
}
Add(Replace,16045438,448,70)
{
SubStr="з"
DestStr="z"
link(onReplace,7316617:doReplace,[])
}
Add(Replace,7316617,490,70)
{
SubStr="и"
DestStr="i"
link(onReplace,7859333:doReplace,[])
}
Add(Replace,7859333,532,70)
{
SubStr="й"
DestStr="i"
link(onReplace,4297793:doReplace,[])
}
Add(Replace,4297793,574,70)
{
SubStr="к"
DestStr="k"
link(onReplace,14445077:doReplace,[])
}
Add(Replace,14445077,616,70)
{
SubStr="л"
DestStr="l"
link(onReplace,2487017:doReplace,[])
}
Add(Replace,2487017,658,70)
{
SubStr="м"
DestStr="m"
link(onReplace,13580692:doReplace,[])
}
Add(Replace,13580692,700,70)
{
SubStr="н"
DestStr="n"
link(onReplace,634748:doReplace,[])
}
Add(Replace,634748,742,70)
{
SubStr="о"
DestStr="o"
link(onReplace,439275:doReplace,[])
}
Add(Replace,439275,784,70)
{
SubStr="п"
DestStr="p"
link(onReplace,10546314:doReplace,[])
}
Add(Replace,10546314,826,70)
{
SubStr="р"
DestStr="r"
link(onReplace,5604329:doReplace,[])
}
Add(Replace,5604329,868,70)
{
SubStr="с"
DestStr="s"
link(onReplace,8844822:doReplace,[])
}
Add(Replace,8844822,910,70)
{
SubStr="т"
DestStr="t"
link(onReplace,1176478:doReplace,[])
}
Add(Replace,1176478,952,70)
{
SubStr="у"
DestStr="u"
link(onReplace,2638968:doReplace,[])
}
Add(Replace,2638968,994,70)
{
SubStr="ф"
DestStr="f"
link(onReplace,2325184:doReplace,[])
}
Add(Replace,2325184,1036,70)
{
SubStr="х"
DestStr="h"
link(onReplace,7324732:doReplace,[])
}
Add(Replace,7324732,1078,70)
{
SubStr="ц"
DestStr="tс"
link(onReplace,7644681:doReplace,[])
}
Add(Replace,7644681,1118,70)
{
SubStr="ч"
DestStr="ch"
link(onReplace,5102336:doReplace,[])
}
Add(Replace,5102336,1160,70)
{
SubStr="ш"
DestStr="sh"
link(onReplace,1683350:doReplace,[])
}
Add(Replace,1683350,1202,70)
{
SubStr="щ"
DestStr="sh"
link(onReplace,713049:doReplace,[])
}
Add(Replace,713049,1244,70)
{
SubStr="ь"
DestStr="'"
link(onReplace,2888230:doReplace,[])
}
Add(Replace,12869705,1370,70)
{
SubStr="э"
DestStr="a"
link(onReplace,10021912:doReplace,[])
}
Add(Replace,12585389,1328,70)
{
SubStr="ъ"
link(onReplace,12869705:doReplace,[])
}
Add(Replace,2888230,1286,70)
{
SubStr="ы"
DestStr="y"
link(onReplace,12585389:doReplace,[])
}
Add(Replace,10021912,1412,70)
{
SubStr="ю"
DestStr="yu"
link(onReplace,7662520:doReplace,[])
}
Add(Replace,7662520,1454,70)
{
SubStr="я"
DestStr="ya"
link(onReplace,1073863:doReplace,[])
}
Add(StrCase,7056492,63,70)
{
link(onModify,11439842:doReplace,[])
link(Str,12137061:Data1,[])
}
Add(Replace,1073863,1510,70)
{
SubStr=" "
DestStr="_"
link(onReplace,12137061:onEvent1,[])
}
END_SDK
Add(FormatStr,8675650,525,700)
{
DataCount=10
Mask="UPDATE table1 SET lastname='%1', \r\n name='%2', \r\n login='%3', \r\n middle_name='%4', \r\n phone='%5', \r\n diller='%6', \r\n email='%7', \r\n password_flexta='%8', \r\n password_mmf='%9'\r\n WHERE id=%10;"
link(onFString,1263187:doExec,[(720,706)(720,699)])
link(Str1,13311944:Var2,[(531,389)(517,389)])
link(Str2,11868430:Text,[(538,410)(525,410)])
link(Str3,5483149:Var2,[(545,541)(542,541)])
link(Str4,6824894:Text,[(552,540)(549,540)])
link(Str5,8358532:Text,[(559,483)(556,483)])
link(Str6,8193515:Text,[(566,492)(615,492)])
link(Str7,4896915:Text,[])
link(Str8,7707199:Text,[(580,534)(587,534)])
link(Str9,5824197:Text,[(587,580)(671,580)])
link(Str10,8347477:Result,[(594,408)(650,408)])
}
Add(GetDataEx,5483149,536,381)
{
link(Data,9848688:Text,[(542,289)(532,289)])
}
Add(DSC_QueryScalar,8347477,644,84)
{
SQL="SELECT COUNT(*) FROM table1"
DSManager="parent.mdb"
}
Add(Label,5124501,1146,677)
{
Left=5
Top=220
Width=45
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Flextera"
}
Add(Edit,5824197,665,420)
{
Left=65
Top=250
Width=160
Text=""
}
Add(Label,10334331,1141,672)
{
Left=5
Top=250
Width=35
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="MMF"
}
Add(Button,16538821,21,357)
{
Left=240
Top=10
Width=85
Height=35
link(onClick,13441164:doEvent1,[(60,363)(60,360)])
}
Add(Hub,13441164,67,354)
{
link(onEvent1,13117481:doEvent2,[(103,360)(103,300)])
link(onEvent2,8675650:doString,[(303,367)(303,706)])
}
Add(HubEx,7388849,504,84)
{
link(onEvent,8347477:doQuery,[])
}
END_SDK
Add(MainForm,7057179,147,322)
{
Width=971
Height=501
Caption="Добавление сотрудников на портал MMF и Flextera"
Position=1
Point(onClose)
link(onCreate,16168490:doOpen,[])
link(onClose,16168490:doClose,[])
}
Add(StringTableMT,16628981,371,315)
{
Left=10
Top=55
Width=940
Height=405
Columns=#2:id|5:Логин|14:Пароль FLEXTER|10:Пароль MMF|7:Фамилия|3:Имя|8:Отчество|7:Телефон|9:Эл. адрес|6:Диллер|
StrDelimiter="\9"
ColumnWidth=100
Redaction=0
TabGrid=0
TabGridFrame=0
Grid=0
Gradient=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(Strings)
Point(onLineChange)
Point(onDblClick)
link(onClick,1702344:doPutText,[(415,321)(415,405)(352,405)(352,426)])
link(onLineChange,3699975:doWork2,[(421,327)])
}
Add(Button,10786776,266,98)
{
Left=10
Top=25
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="Добавить строку"
link(onClick,15092223:doEvent1,[])
}
Add(DS_SQLite,16168490,210,336)
{
Name="mdb"
FileName="C:\SOFT\mydbase.db"
link(onOpen,10454492:doExec,[])
}
Add(DSC_Exec,10454492,259,336)
{
SQL="CREATE TABLE IF NOT EXISTS table1 (\r\n id int, \r\n login TEXT, \r\n password_flexta TEXT, \r\n password_mmf TEXT,\r\n name TEXT,\r\n lastname TEXT,\r\n middle_name TEXT,\r\n phone TEXT,\r\n email TEXT,\r\n diller TEXT);"
DSManager="mdb"
link(onExec,11160510:doWork2,[])
}
Add(ArrayRW,3995575,434,322)
{
link(onRead,2831270:doWork2,[])
link(Array,16628981:Strings,[(440,315)(418,315)(418,384)(391,384)])
}
Add(DSC_Query,8749579,322,336)
{
SQL="SELECT * FROM table1"
DSManager="mdb"
link(onQuery,16628981:doMT_Add,[(362,342)(362,356)])
link(onColumns,16628981:doClear,[(362,349)(362,328)])
}
Add(DSC_Exec,2307078,742,371)
{
DSManager="mdb"
link(onExec,2225601:doWork2,[(782,377)(782,218)])
}
Add(FormatStr,6841402,560,392)
{
DataCount=10
Mask="UPDATE table1 SET login='%2',password_flexta='%3',password_mmf='%4',name='%5',\r\nlastname='%6', middle_name='%7',phone='%8',email='%9',diller='%10' WHERE id=%1"
link(onFString,14192086:doWork2,[(646,398)(646,377)])
link(Str1,2776629:Part1,[])
link(Str2,2776629:Part2,[])
link(Str3,2776629:Part3,[])
link(Str4,2776629:Part4,[])
link(Str5,2776629:Part5,[])
link(Str6,2776629:Part6,[])
link(Str7,2776629:Part7,[])
link(Str8,2776629:Part8,[])
link(Str9,2776629:Part9,[])
link(Str10,2776629:Part10,[])
}
Add(MultiStrPart,2776629,560,322)
{
Char="\9"
Count=10
link(onSplit,3059522:doWork2,[])
}
Add(Button,14428720,322,476)
{
Left=135
Top=25
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="Удалить строку"
link(onClick,2932136:doSplit,[])
}
Add(FormatStr,214626,427,476)
{
DataCount=1
Mask="DELETE FROM table1 WHERE id=%1 "
link(onFString,14192086:doWork3,[(669,482)])
link(Str1,2932136:Part1,[(433,468)(418,468)(418,523)(384,523)])
}
Add(MultiStrPart,2932136,378,476)
{
Char="\9"
Count=1
link(onSplit,214626:doString,[])
link(Str,15748700:Var2,[])
}
Add(Hub,15092223,448,98)
{
link(onEvent1,9467718:doWork1,[])
}
Add(HubEx,14192086,665,371)
{
link(onEvent,587237:doWork2,[])
}
Add(HubEx,11160510,301,336)
{
link(onEvent,8749579:doQuery,[])
}
Add(Clipboard,1702344,357,420)
{
Point(PutText)
link(PutText,15748700:Var1,[(363,376)])
}
Add(GetDataEx,15748700,378,371)
{
link(Data,16628981:Select,[])
}
Add(HubEx,3699975,420,322)
{
link(onEvent,3995575:doRead,[])
}
Add(HubEx,2831270,532,322)
{
link(onEvent,2776629:doSplit,[])
}
Add(HubEx,3059522,641,322)
{
Angle=1
link(onEvent,6841402:doString,[(645,364)(548,364)(548,398)])
}
Add(HubEx,587237,672,371)
{
link(onEvent,2307078:doExec,[])
}
Add(FormatStr,9469642,1082,361)
{
Mask="INSERT INTO table1( id,login,password_flexta,password_mmf) VALUES(NULL,'','%1','%2');"
link(Str2,13350104:Result,[])
}
Add(StringGen,13350104,1089,319)
{
Count=8
Charset="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%&*abcdefghijklmnopqrstuvwxyz!@#$%&*ABCDEFGHIJKLMNOPQRSTUVWXYZ"
}
Add(Hub,7231284,970,326)
{
link(onEvent1,13350104:doGenerateRnd,[])
link(onEvent2,16430948:doGenerateRnd,[(1009,339)(1009,374)])
}
Add(StringGen,16430948,1033,361)
{
Count=8
Charset="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%&*abcdefghijklmnopqrstuvwxyz!@#$%&*ABCDEFGHIJKLMNOPQRSTUVWXYZ"
link(onResult,9469642:doString,[])
}
Add(HubEx,2225601,602,212)
{
Angle=2
}
Add(HubEx,12464817,553,212)
{
Angle=2
link(onEvent,11160510:doWork1,[(305,218)])
}
Add(HubEx,2278295,588,212)
{
Angle=2
link(onEvent,12464817:doWork2,[])
}

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#13: 2018-10-21 15:00:18 ЛС | профиль | цитата
На таблице нажми ПКМ !

Add(MainForm,7057179,147,238)
{
Width=971
Height=501
Caption="Добавление сотрудников на портал MMF и Flextera"
Position=1
Point(onClose)
link(onCreate,16168490:doOpen,[])
link(onClose,16168490:doClose,[])
}
Add(DS_SQLite,16168490,189,252)
{
Name="mdb"
FileName="C:\SOFT\mydbase.db"
link(onOpen,10454492:doExec,[])
}
Add(DSC_Exec,10454492,231,252)
{
SQL="CREATE TABLE IF NOT EXISTS table1 (\r\n id INTEGER PRIMARY KEY, \r\n login TEXT, \r\n password_flexta TEXT, \r\n password_mmf TEXT,\r\n name TEXT,\r\n lastname TEXT,\r\n middle_name TEXT,\r\n phone TEXT,\r\n email TEXT,\r\n diller TEXT);"
DSManager="mdb"
link(onExec,11160510:doWork2,[])
}
Add(DSC_Query,8749579,287,252)
{
SQL="SELECT * FROM table1"
DSManager="mdb"
link(onQuery,7046293:doStr,[])
link(onColumns,16423861:doClear,[])
}
Add(HubEx,11160510,273,252)
{
link(onEvent,8749579:doQuery,[])
}
Add(Clipboard,1702344,420,336)
{
Point(PutText)
link(PutText,10966030:Var2,[])
}
Add(StringTable,16423861,371,252)
{
Left=5
Top=10
Width=940
Height=445
Columns=#6:id = 0|9:Login=100|20:FLEXTER password=100|16:MMF password=100|11:Surname=100|8:Name=100|15:Middle name=100|9:Phone=100|9:Email=100|10:Diller=100|
StrDelimiter="\9"
Grid=0
Redaction=1
Point(onLineChange)
Point(onMouseDown)
link(onClick,1702344:doPutText,[(413,258)(413,342)])
link(onMouseDown,2113964:doCompare,[])
}
Add(MT_String,7046293,329,252)
{
Delimeter="\9"
link(onResult,16423861:doAdd,[])
}
Add(If_else,2113964,434,266)
{
Op2=Integer(1)
link(onTrue,413758:doPopupHere,[])
}
Add(PopupMenu,413758,483,266)
{
Menu=#1:-|3:ADD|4:EDIT|6:DELETE|
link(onClick,4227948:doWork1,[])
}
Add(ChildGroupBox,4227948,532,266)
{
link(Data1,10966030:Var1,[(538,254)(426,254)])
link(onEvent1,11160510:doWork1,[(578,272)(578,234)(277,234)])
}
BEGIN_SDK
Add(EditMulti,1213037,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=1035
Height=557
VOffset=231
HOffset=469
link(doWork1,13087063:doEvent1,[])
}
Add(GroupBox,12718273,203,245)
{
Left=300
Top=90
Width=325
Height=309
Font=[Courier New,11,1,255,204]
Visible=1
Point(onShow)
Point(onHide)
Point(doCaption)
Point(doVisible)
}
Add(Label,5908440,518,273)
{
Left=9
Top=27
Width=120
Height=245
Font=[Courier New,8,1,16711680,204]
Caption="Login\r\n\r\nFLEXTER password\r\n\r\nMMF password\r\n\r\nSurname\r\n\r\nName\r\n\r\nMiddle name\r\n\r\nPhone\r\n\r\nEmail address\r\n\r\nDiller"
AutoSize=1
Alignment=1
}
Add(Hub,13087063,70,252)
{
OutCount=3
link(onEvent1,7561976:doGetString,[(91,258)(91,216)])
link(onEvent2,13657285:doWork2,[])
}
Add(Button,11375044,71,280)
{
Left=212
Top=280
Width=80
Font=[Courier New,10,1,0,204]
Caption=""
Data=Integer(0)
Point(doCaption)
link(onClick,14488858:doWork2,[])
}
Add(Button,13875369,246,511)
{
Left=122
Top=280
Width=80
Font=[Courier New,10,1,0,204]
Caption=""
Point(doCaption)
Point(doEnabled)
link(onClick,8899351:doCompare,[])
}
Add(StrList,7561976,98,196)
{
Strings=#0:|61:SELECT "NULL","","%2","%3","","","","","","";#Save#Cancel#Add|50:SELECT * FROM table1 WHERE id=%1;#Save#Cancel#Edit|54:SELECT * FROM table1 WHERE id=%1;#Delete#Cancel#Delete|
Point(doGetString)
Point(onGetString)
link(onGetString,5252796:doSplit,[])
}
Add(MultiStrData,5252796,147,196)
{
Char="#"
Count=5
link(onPart1,9894261:doEvent1,[])
link(onPart2,6890441:In,[])
link(onPart3,11375044:doCaption,[(243,216)(243,337)(52,337)(52,286)])
link(onPart4,12718273:doCaption,[(187,223)(187,251)])
}
Add(InfoTip,5120779,791,21)
{
Info=#14:TABLE table1 (|25: id INTEGER PRIMARY KEY, |13: login TEXT, |23: password_flexta TEXT, |19: password_mmf TEXT,|11: name TEXT,|15: lastname TEXT,|18: middle_name TEXT,|12: phone TEXT,|12: email TEXT,|14: diller TEXT);|
HAlign=0
Width=155
Height=151
Margin=3
}
Add(FormatStr,6713268,434,189)
{
DataCount=3
Mask=""
Point(doMask)
link(onFString,779202:doQuery,[])
link(Str1,16520772:Var3,[(440,166)])
link(Str2,5478221:GetData,[])
link(Str3,4642043:Result,[(454,170)(510,170)])
}
Add(Hub,9894261,406,196)
{
OutCount=3
link(onEvent1,6713268:doMask,[])
link(onEvent2,6713268:doString,[(427,209)(427,195)])
link(onEvent3,1350555:doWork1,[(432,216)(432,370)(191,370)(191,524)])
}
Add(StringGen,1531133,560,112)
{
Count=10
Charset="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
link(onResult,5478221:doData,[(603,118)(603,103)(436,103)(436,132)])
}
Add(StringGen,4642043,504,119)
{
Count=10
link(onResult,1531133:doGenerateRnd,[])
}
Add(EventFromData,5478221,441,126)
{
link(onEvent,4642043:doGenerateRnd,[])
}
Add(DSC_Query,779202,476,189)
{
DSManager="parent.mdb"
link(onQuery,14234011:doSeparateMT,[])
}
Add(MT_MultiData,14234011,518,189)
{
Count=10
link(onData1,5114523:doValue,[])
link(onData2,2292335:doText2,[(684,202)(684,230)])
link(onData3,14710713:doText2,[(667,209)(667,258)])
link(onData4,15106271:doText2,[(667,216)(667,293)])
link(onData5,16150563:doText2,[(650,223)(650,321)])
link(onData6,15135751:doText2,[(632,230)(632,349)])
link(onData7,8785249:doText2,[(614,237)(614,377)])
link(onData8,6928789:doText2,[(597,244)(597,405)])
link(onData9,13945313:doText2,[(580,251)(580,433)])
link(onData10,5680046:doText2,[(562,258)(562,461)])
}
Add(Memory,5114523,903,189)
{
}
Add(Edit,2292335,868,217)
{
Left=140
Top=26
Width=170
Text=""
link(onChange,12293383:doWork1,[(935,223)])
}
Add(Edit,14710713,833,245)
{
Left=140
Top=53
Width=170
Text=""
}
Add(Edit,15106271,798,280)
{
Left=140
Top=81
Width=170
Text=""
}
Add(Edit,16150563,763,308)
{
Left=140
Top=109
Width=170
Text=""
link(onChange,12293383:doWork2,[])
}
Add(Edit,15135751,728,336)
{
Left=140
Top=138
Width=170
Text=""
link(onChange,14257883:doWork2,[])
}
Add(Edit,8785249,693,364)
{
Left=140
Top=166
Width=170
Text=""
}
Add(Edit,6928789,658,392)
{
Left=140
Top=194
Width=170
Text=""
link(onChange,12675891:doWork2,[])
}
Add(Edit,13945313,623,420)
{
Left=140
Top=223
Width=170
Text=""
link(onChange,4833379:doWork2,[])
}
Add(Edit,5680046,588,448)
{
Left=140
Top=251
Width=170
Text=""
link(onChange,15936237:doWork2,[])
}
Add(FormatStr,13909,840,511)
{
DataCount=10
Mask="INSERT OR REPLACE INTO table1 VALUES(%10,"%9","%8","%7","%6","%5","%4","%3","%2","%1");"
link(onFString,14832850:doWork2,[])
link(Str1,5680046:Text,[(846,492)(594,492)])
link(Str2,13945313:Text,[(853,457)(629,457)])
link(Str3,6928789:Text,[(860,432)(664,432)])
link(Str4,8785249:Text,[(867,401)(699,401)])
link(Str5,15135751:Text,[(874,377)(734,377)])
link(Str6,16150563:Text,[(881,359)(769,359)])
link(Str7,15106271:Text,[(888,348)(804,348)])
link(Str8,14710713:Text,[(895,338)(839,338)])
link(Str9,2292335:Text,[(902,328)(874,328)])
link(Str10,5114523:Value,[])
}
Add(LineBreak,9351185,28,511)
{
link(Out,1884625:doValue,[])
Primary=[6890441,161,-308]
}
Add(DSC_Exec,854673,945,511)
{
DSManager="parent.mdb"
link(onExec,5868848:doEvent1,[])
}
Add(ChanelToIndex,13657285,140,252)
{
link(onIndex,12718273:doVisible,[])
}
Add(Hub,5868848,987,511)
{
link(onEvent1,1213037:onEvent1,[(1013,517)(1013,258)])
link(onEvent2,3069801:In,[])
}
Add(HubEx,14488858,107,280)
{
Angle=3
link(onEvent,13657285:doWork1,[(111,258)])
}
Add(Memory,1884625,84,511)
{
link(onData,236076:doEvent1,[])
}
Add(If_else,8899351,294,511)
{
Type=5
Op2=String(Delete)
link(onTrue,13909:doString,[])
link(onFalse,11585124:doEvent1,[])
link(Op1,1884625:Value,[(300,496)(119,496)(119,555)(90,555)])
}
Add(FormatStr,10426873,392,525)
{
Mask="DELETE FROM table1 WHERE id=%1;"
link(onFString,14832850:doWork3,[(921,531)])
link(Str1,16520772:Var1,[(398,166)])
}
Add(HubEx,14832850,917,511)
{
link(onEvent,854673:doExec,[])
}
Add(EventFromData,5249066,427,63)
{
link(onEvent,10572986:doSplit,[])
}
Add(StrPart,10572986,490,63)
{
Char="\9"
link(onPart,5249066:doData,[(535,76)(535,52)(415,52)(415,69)])
link(Str,1213037:Data1,[])
}
Add(ChanelToIndex,1350555,203,518)
{
link(onIndex,13875369:doEnabled,[])
}
Add(Hub,11585124,343,518)
{
link(onEvent1,9824083:doWork1,[(370,524)])
link(onEvent2,10426873:doString,[])
}
Add(GetDataEx,16520772,427,161)
{
link(Data,5249066:GetData,[])
}
Add(LineBreak,10003961,70,315)
{
link(Out,14488858:doWork3,[(111,321)])
Primary=[3069801,945,203]
}
Add(HubEx,15936237,931,448)
{
Angle=1
link(onEvent,9824083:doWork2,[(935,559)])
}
Add(HubEx,4833379,931,420)
{
Angle=1
link(onEvent,15936237:doWork1,[])
}
Add(HubEx,12675891,931,392)
{
Angle=1
link(onEvent,4833379:doWork1,[])
}
Add(HubEx,14257883,931,336)
{
Angle=1
link(onEvent,12675891:doWork1,[])
}
Add(HubEx,12293383,931,308)
{
Angle=1
link(onEvent,14257883:doWork1,[])
}
Add(HubEx,9824083,366,553)
{
Angle=2
link(onEvent,5048396:doWork3,[(191,559)])
}
Add(If_else,3298324,147,525)
{
Op2=String(Delete)
link(onTrue,5048396:doWork2,[])
}
Add(Hub,236076,119,511)
{
link(onEvent1,13875369:doCaption,[])
link(onEvent2,3298324:doCompare,[(140,524)(140,531)])
}
Add(HubEx,5048396,187,525)
{
link(onEvent,1350555:doWork2,[])
}
END_SDK
Add(GetDataEx,10966030,420,308)
{
Angle=3
link(Data,16423861:Select,[(384,313)])
}


Редактировалось 1 раз(а), последний 2018-10-21 15:26:36
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 26
Рейтинг: 2
#14: 2018-10-21 15:29:10 ЛС | профиль | цитата
Спасибо огромное. Сам бы я думаю никогда не сделал.
Ещё раз огромное спасибо за помощь. Буду учиться.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#15: 2018-10-21 15:41:51 ЛС | профиль | цитата
stimka, вот этот компонент
Add(MultiReplace,13466306,406,217)
{
}
поставь на поле HiAsm, выдели его и нажми F1.Откроется Справка.
Там есть 2 примера.
Первый - русскй в транслит ,
второй - обратно.

Редактировалось 1 раз(а), последний 2018-10-21 15:43:09
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)