mikgo писал(а):
Есть вопрос, как можно реализовать программу которая конвертирует заданную валюту в другую по текущему курсу.2. Но, если очень хочется, то
Add(HTTP_Get,8712403,154,126)
{
URL="http://www.cbr.ru/scripts/XML_daily.asp"
link(onDownload,7596598:doConvert,[])
}
Add(MultiElementEx,7596598,196,133)
{
link(onStrCatDlm,790398:doCaption,[(236,139)(236,98)(100,98)(100,118)])
link(onEvent,727662:doAdd,[(243,146)(243,111)])
link(onEvent1,727662:doSort,[(247,153)(247,132)])
}
BEGIN_SDK
Add(EditMultiEx,11659532,21,21)
{
WorkCount=#9:doConvert|
EventCount=#11:onStrCatDlm|7:onEvent|8:onEvent1|8:onEvent2|
Width=391
Height=382
VOffset=140
link(doConvert,7917980:doConvert,[])
}
Add(Convertor,7917980,35,161)
{
Mode=11
link(onResult,6689592:doEvent1,[])
}
Add(BlockFind,14930380,105,105)
{
@Hint=#9:Получаем |4:Дату|
IncludeBlock=1
StartBlock="<ValCurs Date=""
EndBlock="""
link(onSearch,14710194:doStrCatDlm,[])
AddHint(-44,-44,68,26,@Hint)
}
Add(Hub,6689592,77,161)
{
OutCount=3
link(onEvent1,14930380:doSearch,[(98,167)(98,111)])
link(onEvent2,12504866:doData,[])
link(onEvent3,11508153:doSearch,[])
}
Add(StrCatDelim,14710194,147,105)
{
@Hint=#26:Формируем Caption MainForm|
Str1="КАЛЬКУЛЯТОР СТОИМОСТИ ВАЛЮТ на "
Str2=" года."
link(onStrCatDlm,11659532:onStrCatDlm,[(367,111)(367,167)])
AddHint(1,-44,165,13,@Hint)
}
Add(MultiReplace,7314409,189,175)
{
ReplaceList="</Nominal><Name>=#;\r\n</Name><Value>=#;\r\n"
link(onResult,16204794:doWork3,[(230,181)])
}
Add(BlockFind,11508153,105,175)
{
IncludeBlock=1
StartBlock="<Nominal>"
EndBlock="</Value></Valute>"
link(onSearch,7314409:doMultiReplace,[])
link(onEndSearch,4505680:doData,[(142,188)(142,258)])
}
Add(DoData,4505680,189,252)
{
Data=Integer(1)
link(onEventData,1683048:doEvent1,[])
}
Add(Hub,1683048,336,252)
{
link(onEvent1,11659532:onEvent1,[(368,258)(368,181)])
link(onEvent2,11659532:onEvent2,[(381,265)(381,188)])
}
Add(DoData,12504866,147,168)
{
Data=String(1#Российский рубль#1)
link(onEventData,16204794:doWork2,[])
}
Add(HubEx,16204794,226,168)
{
link(onEvent,8496094:doSplit,[])
}
Add(StrPart,8496094,238,168)
{
Char="#"
link(onSplit,10596176:doStrCatDlm,[])
link(onPart,11338739:doConvert,[])
}
Add(ConvertorEx,11338739,280,175)
{
Digits=5
SymbolFill=" "
}
Add(StrCatDelim,10596176,322,168)
{
Delimiter="#"
link(onStrCatDlm,11659532:onEvent,[])
link(Str1,11338739:Var,[(328,156)(317,156)(317,216)(286,216)])
}
END_SDK
Add(MainForm,790398,112,112)
{
Width=544
Height=455
BorderStyle=1
Position=1
link(onCreate,8712403:doDownload,[])
}
Add(StringTable,727662,259,105)
{
Left=5
Top=120
Width=460
Height=300
Font=[Courier New,8,0,0,204]
Columns=#9: За=50 |13: Валюта=300|9:Рублей=70|
StrDelimiter="#"
Grid=0
Redaction=1
Point(doSort)
Point(Strings)
}
4. Помним, что 59,4567 и 59.4567 это разные понятия. (ошибка UtoECat, который не проверил, что он пишет в RealArray и что он оттуда считывает)
5. И т.д. и т.п.