HiAsm - Конструктор программ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » HiAsm - Конструктор программ » Готовые схемы » Календарь показывает день и месяц.


Календарь показывает день и месяц.

Сообщений 1 страница 7 из 7

1

Здравствуйте, друзья. Мне немало лет, очень заинтересовался HiAsm. Решил попробовать складывать "кубики". Мне нужно было вывести только день и месяц, вроде, получилось! Может быть, кому и пригодится, а опытные ребята поделятся другими вариантами

Код:
Make(delphi)
ver(4.05 build 186)
Add(MainForm,10972270,21,49)
{
 Width=398
 Height=301
}
Add(DatePicker,3396034,98,98)
{
 Left=30
 Top=30
 Width=110
 Height=21
 Font=[MS Sans Serif,8,1,0,1]
 Style=1
 Point(onKeyUp)
 Point(DateTime)
 Point(DateInt)
 Point(CurrentDateInt)
 link(onChange,1332551:doWork1,[])
}
Add(Label,3059724,224,98)
{
 Left=150
 Top=15
 Width=199
 Height=44
 Color=14145778
 Font=[Monotype Corsiva,28,3,219,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=255
}
Add(MultiElement,1332551,161,98)
{
 link(onEvent1,3059724:doText,[])
 link(Data1,3396034:DateTime,[(167,83)(143,83)(143,146)(104,146)])
}
BEGIN_SDK
  Add(EditMulti,8806932,21,21)
  {
   EventCount=1
   WorkCount=1
   DataCount=1
   Width=335
   Height=158
   link(doWork1,14637385:doConvert,[(43,27)(43,118)])
  }
  Add(DateConvertor,14637385,63,112)
  {
   Mode=9
   Format="dd-MM"
   Point(Data)
   link(onResult,2281833:doSplit,[])
   link(Data,8806932:Data1,[(69,93)(27,93)])
  }
  Add(StrPart,2281833,112,112)
  {
   Char="-"
   DirectEvent=0
   Point(Right)
   link(onSplit,5291964:doMultiReplace,[(167,118)(167,41)])
   link(onPart,2911853:doTrim,[])
  }
  Add(Trim,2911853,175,119)
  {
   Char="0"
   Mode=1
   Point(Result)
   link(onTrim,6063709:doInsert,[])
  }
  Add(StrCat,5858677,273,119)
  {
   link(onStrCat,8806932:onEvent1,[(322,125)(322,27)])
   link(Str2,5291964:Result,[(286,90)(230,90)])
  }
  Add(Insert,6063709,224,119)
  {
   SubStr=" "
   Direction=1
   link(onInsert,5858677:doStrCat,[])
  }
  Add(MultiReplace,5291964,224,35)
  {
   ReplaceList="01 = января;\r\n02 = февраля;\r\n03 = марта;\r\n04 = апреля;\r\n05 = мая;\r\n06 = июня;\r\n07 = июля;\r\n08 = августа;\r\n09 = сентября;\r\n10 = октября;\r\n11 = ноября;\r\n12 = декабря;"
  }
END_SDK

Теги: Календарь

0

2

Схема хорошая, аккуратная, полезная.
В дополнении для вывода даты в соответствии с региональными настройками системы (для любых языков) вариант на VBS

Код:
Add(MainForm,10972270,77,56)
{
 Width=581
 Height=301
}
Add(DatePicker,3396034,140,56)
{
 Left=30
 Top=30
 Width=110
 Height=21
 Font=[MS Sans Serif,8,1,0,1]
 Style=1
 Point(onKeyUp)
 link(onChange,8562365:doConvert,[])
}
Add(Label,3059724,308,56)
{
 Left=150
 Top=15
 Width=394
 Height=44
 Color=14145778
 Font=[Monotype Corsiva,28,3,219,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=255
}
Add(VBJScript,3886312,252,56)
{
 WorkPoints=#6:doWork|
 EventPoints=#5:onRes|
 Script=#18:Sub doWork(dt,idx)|41:  sys.onRes FormatDateTime(dt,vbLongDate)|7:End Sub|
 link(onRes,3059724:doText,[])
}
Add(DateConvertor,8562365,196,56)
{
 Mode=6
 link(onResult,3886312:doWork,[])
}

0

3

andrestudio написал(а):

В дополнении для вывода даты в соответствии с региональными настройками системы (для любых языков) вариант на VBS

Благодарю за ответ. Но, вот незадача, при запуске у меня выскакивает сообщение: "Объект не поддерживает это свойство или метод `sys.onRes`". Подскажите, пожалуйста, что нужно сделать.

0

4

MrCatman
У меня модифицированный компонент. В штатном нужно переключить свойство UsеPoint или как то по другому оно называется (в любом случае у меня его нет) должно работать.

0

5

Здравствуйте, давненько не комментировал. Вопрос на примере календаря.
Каким образом можно реализовать обводку текста другим цветом? Вероятно, нужно использовать прорисовку.

Код:
Add(Image,2497527,133,63)
{
 Left=115
 Top=90
 Width=150
 Height=50
 Picture=[ZIP7E58000078DAED5B3D685B4910F61586B469CCA53BDCE84871C51982C0B839549CC097CE70184C3A97265DBA33EE540A170197269DCAE0CEA5B94EA571E7D25CA752A87B377EF3F4E9DB99DD9727612952D86525E4F7B33B3BDFFCEE8EFFF8EB9FBFB7CAF64E3EBFCAE7B37C7E97CF4F5B3F97D7FF94FBBFFCA69F692B8ADC37BB670C3386B9670C5FAE1F17C55D916C77E50319C335EE3745A37693315CD37E58CCD10E3386EBD87B8ACEA74FB29C78975BD3D6CB18AEB71E3E3E167B7B33E8E477AFF77C31EBE1A6F9C3D7AF9F0194EFEC0F372F2E9D28524747951E527BCA71E966F433C5EBEAAAC2F0F616189EE4FC7033FA5BC56B34AA303C3D0586D719C34817C9FE2AFC9A326954FE299AB03D673E3E2C8A7E51B44B366BF4F158FE6EC71E961FE745B1535EEF120177D3A9ABF86577F71943F90E9B8EBCEFE8E9866B51925A31020C6D5B09CACF439A61C6B74B3AEF8863DDEF83E14151DCA713B0876FD175D33897FB50AEDEB7FF8AE27D62EA41DA2572FB42385CA409E8A7A9FD3005B068BCBDB05D52E8DBC76682FF72181E3423F922AD8173B594B03CD5BF0697283FD2ED601E107CBB2CB5AE797BA8BDD55A11863BA50E543E47BC8D46F11AC88BE88F464CD7FBD8084F261F97140E6FC1000E87C102E1DF3A9DD0323E5604B8A967AF80421DB9D733CCAB40180C664F0A49140C05D47ADA0CE578514875DB0B05DB08992E9C6552CAD4F2313C0787946A1022DFF25BFA60C044B5A23187F09E3751F0968EE9C291D92D93F2C9A43C4898CBCF46036B750740FE24C027E661DE1FC063E696D16DE83C28373B46029A4F5F63B7EE5781E193113296245D4AC8CB7EF8FA6974D1DA454330ACD73A618C5E64350086C233350A0C63CA253A18232819E1F2B7980C4C244B50595692E4198806C3AE0F0819FA000BCB6239D0D6DC5B5AD02217F555240B51D3360EBD75CF9B26215F0654F400945C54C6004686CBF35EA559BE1946480A9986CA88C863446480923E0C92744625462DB60C2BAFF3DAF1249B71B5238212C40140E96E20469061C9E85C2D17438B00E9C9AD590D89E9198D7004E7E3011121869151460A6ECCE9A84B343984F00353C7B2C4092F817D23386DD096E9CC8C900EA8966212DBDA0BD805B3C9A2EADA92F5D086ED64CB07297ACB5B18E18DE1AE512A8C6C9C610DABC00FE30C137661C804B06E407C1A3635C88959E294B36C2662E67F97EE0F8786A21A0C43B6F120F73C8871F6C036CA8F285C091B3B4EBBC47B3619780B8B12305DECCAC50097D5AA86334CE0DF4249B9E36442C654A8654635E68E8127ABC82D2C86DE9636C0B08F35851E3588964265EB1BFF66B437C642BB714AB03C440900E52229723186A49E79B4609065469D34617ACE66040D9FEFAAEA7260142E7F2539BEB5A5DE4635C070DF183A630363DBD511AFC59EC4841426814C855F5060F59F7852A1408C1D92715162D8E71110B5380CC79E5DF0D5319B72B80A0C6D4CE3BD38E80D55D48CF385E14A99539F1A7316C7C6B67E4B06AF98892011D0379505A0CD59429889078E0E56292C15D86393EBE50ED75FA4C060FEDC02F37B6D416440EC3C77E3B40DE6D1DC9C350719146444EE22C703EC4049F7908C7196CE11A67F0BBB3EA007F1B3C94ED8CB25CA3D3A46DBBD87D7B96A857D3939FED8EF6A080F64D11A86C7E87D1B1BE7B226E3F6A1B73A1393F2B1D732B02B1A8A3CAC86EA1536CB62D175F53047C5D19853FE0462105B126711F65D63CCBDCD729E7FBC220CAF7D8AA84100280DD382CBC438B31D7CDDB6533414B468EC221309E738B1C47E1F777677A8C88069C0C59A8D30DD2830F9B871B69011F90159200C3BD19D61E31DB04CCAA50F5781E1A1379BB14435B55FCABDC5BE059C48EDB599B235DC322F7213DEF89D490FA3B79332B84887E003AF41867D02D1E3E2AB70EA57E68446B776549F61A86359517F51555CACFA2815E953BADA9AEB184B1826CC330C364D9E51CEB1711366D464D9429E8E0903A1DE3226260F7E4CDE35E5730E384CE7BD1F5327A5F2B05F606D0CBFB4F3C3AE579E3028F93A4FBADAAE3D55E3E47AAED69FFF30F0824FD6D2AD5D7260927EE03AE5F99B91BDAA73FC4BB38BE48E01B46262AFD9685A9E30AE5DDC71796E3E8999EB940DEF268EE0EF1385013BD303D2F30607DBADB498B413851EDF6C93858F8117C130A829405A95708C0DFF594599774B452DFE75E5DC302C79E172165307A30E9C6B6E4EA69540D1029D68894C4DE14B4D0D90EF6F120B8C92BD929AA82022D168A376A7F163FE0FB375AC6B6BB1F7E0FC507E48C4E36A165E6566AF637DE98EF13982A41EC7C732DF4E66F6FAD6081F3708E7B21EAE7D9DB746243545A7D91F6E4EADFEBE8BBE7EE47FA2CEFF6F917BC630F78C61C630F78C61EE19C3DC338619C3DC3386B9670C73CF18FE6018FE0F7128DADA]
}
Add(MainForm,10972270,28,63)
{
 Width=398
 Height=301
 Position=1
}
Add(DatePicker,3396034,91,126)
{
 Left=30
 Top=30
 Width=110
 Height=21
 Font=[MS Sans Serif,8,1,0,1]
 Style=1
 Point(onKeyUp)
 Point(DateTime)
 Point(DateInt)
 Point(CurrentDateInt)
 link(onChange,1332551:doWork1,[])
}
Add(Label,3059724,217,126)
{
 Left=90
 Top=160
 Width=199
 Height=44
 Color=14145778
 Font=[Monotype Corsiva,28,3,255,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=255
}
Add(MultiElement,1332551,154,126)
{
 link(onEvent1,3059724:doText,[])
 link(Data1,3396034:DateTime,[(160,111)(136,111)(136,174)(97,174)])
}
BEGIN_SDK
  Add(EditMulti,8806932,21,21)
  {
   EventCount=1
   WorkCount=1
   DataCount=1
   Width=335
   Height=158
   link(doWork1,14637385:doConvert,[(43,27)(43,118)])
  }
  Add(DateConvertor,14637385,63,112)
  {
   Mode=9
   Format="dd-MM"
   Point(Data)
   link(onResult,2281833:doSplit,[])
   link(Data,8806932:Data1,[(69,93)(27,93)])
  }
  Add(StrPart,2281833,112,112)
  {
   Char="-"
   DirectEvent=0
   Point(Right)
   link(onSplit,5291964:doMultiReplace,[(167,118)(167,41)])
   link(onPart,2911853:doTrim,[])
  }
  Add(Trim,2911853,175,119)
  {
   Char="0"
   Mode=1
   Point(Result)
   link(onTrim,6063709:doInsert,[])
  }
  Add(StrCat,5858677,273,119)
  {
   link(onStrCat,8806932:onEvent1,[(322,125)(322,27)])
   link(Str2,5291964:Result,[(286,90)(230,90)])
  }
  Add(Insert,6063709,224,119)
  {
   SubStr=" "
   Direction=1
   link(onInsert,5858677:doStrCat,[])
  }
  Add(MultiReplace,5291964,224,35)
  {
   ReplaceList="01 = января;\r\n02 = февраля;\r\n03 = марта;\r\n04 = апреля;\r\n05 = мая;\r\n06 = июня;\r\n07 = июля;\r\n08 = августа;\r\n09 = сентября;\r\n10 = октября;\r\n11 = ноября;\r\n12 = декабря;"
  }
END_SDK
Add(Image,4973470,91,63)
{
 Left=65
 Top=85
 Width=250
 Height=150
 Color=16776960
 Font=[MS Sans Serif,8,0,16777215,1]
}

Отредактировано MrCatman (2023-04-04 07:24:42)

0

6

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

Код:
Add(Label,2515714,343,231)
{
 @Hint=#14:Основной текст|
 Left=9
 Top=40
 Width=460
 Height=40
 Color=255
 Font=[Monotype Corsiva,22,3,255,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=255
 AddHint(47,5,96,13,@Hint)
}
Add(Label,2367628,343,91)
{
 @Hint=#22:Контур, сдвиг Top +2px|
 Left=9
 Top=42
 Width=460
 Height=40
 Color=16777215
 Font=[Monotype Corsiva,22,3,16777215,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=16777215
 AddHint(51,9,133,13,@Hint)
}
Add(Label,16013189,105,140)
{
 Left=20
 Top=125
 Width=44
 Height=25
 Font=[Arial Unicode MS,12,0,0,204]
 WinStyle=3
 Name="Имя"
 Caption="Text -"
 Alignment=2
 Point(doFont)
}
Add(Edit,3110396,168,140)
{
 Left=85
 Top=120
 Width=390
 Height=30
 Font=[Arial,12,0,0,204]
 Text=""
 link(onChange,13973404:doEvent1,[])
}
Add(Hub,13973404,252,140)
{
 OutCount=5
 link(onEvent1,15696468:doText,[(300,146)(300,55)])
 link(onEvent2,2367628:doText,[(310,153)(310,97)])
 link(onEvent3,16005664:doText,[(320,160)(320,139)])
 link(onEvent4,16024445:doText,[(320,167)(320,188)])
 link(onEvent5,2515714:doText,[(310,174)(310,237)])
}
Add(Label,15696468,343,49)
{
 @Hint=#22:Контур, сдвиг Top -2px|
 Left=9
 Top=38
 Width=460
 Height=40
 Color=16777215
 Font=[Monotype Corsiva,22,3,16777215,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=16777215
 AddHint(48,10,130,13,@Hint)
}
Add(Label,16005664,343,133)
{
 @Hint=#23:Контур, сдвиг Left -2px|
 Left=7
 Top=40
 Width=460
 Height=40
 Color=16777215
 Font=[Monotype Corsiva,22,3,16777215,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=16777215
 AddHint(52,6,129,13,@Hint)
}
Add(Label,16024445,343,182)
{
 @Hint=#23:Контур, сдвиг Left +2px|
 Left=11
 Top=40
 Width=460
 Height=40
 Color=16777215
 Font=[Monotype Corsiva,22,3,16777215,204]
 Name="Дата"
 Transparent=0
 Caption=""
 AutoSize=1
 Alignment=2
 ColorHover=16777215
 AddHint(50,6,132,13,@Hint)
}
Add(Image,4973470,168,91)
{
 Left=10
 Top=10
 Width=455
 Height=85
 Color=16776960
 Font=[MS Sans Serif,8,0,16777215,1]
}
Add(MainForm,6296861,105,91)
{
 Width=500
 Height=199
 Caption="Font"
}

0

7

MrCatman написал(а):

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

Идея не плохая, красиво выходит

0


Вы здесь » HiAsm - Конструктор программ » Готовые схемы » Календарь показывает день и месяц.


Рейтинг форумов | Создать форум бесплатно