Вверх ↑
Этот топик читают: Гость
Ответов: 782
Рейтинг: 168
#76: 2024-06-18 13:31:51 ЛС | профиль | цитата
sla8a писал(а):
Gunta, а HiAsm не пробовали запускать? )

Пока запускал только программы скомпилированные в HiAsm. Может быть чуть позже попробую.

Редактировалось 1 раз(а), последний 2024-06-18 13:36:27
карма: 15

0
Ответов: 8921
Рейтинг: 823
#77: 2024-06-18 13:47:19 ЛС | профиль | цитата
Gunta, а для кнопочного телефона ничего нет? У меня just5, ему лет двадцать уже, порадовать старичка
карма: 19

0
Ответов: 782
Рейтинг: 168
#78: 2024-06-18 16:55:13 ЛС | профиль | цитата
Леонид писал(а):
а для кнопочного телефона ничего нет? У меня just5,


sla8a писал(а):
а HiAsm не пробовали запускать? )

Докладываю.
Скачал дистрибутив hiasm_4.05b186.rar с сайта. Разархивировал и скопировал на телефон.
Запустил установку.
Screenshot_20240618-161105.png
Всё установилось.
HiAsm запускается и можно рисовать схемы.
Screenshot_20240618-162456.png
Проблемы с русским языком в интерфейсе, пока не понял, как решить.
Screenshot_20240618-162207.png
Чтобы пользоваться HiAsm на телефоне желательно подключить мышку через USB-разветвитель непосредственно к телефону.

Редактировалось 5 раз(а), последний 2024-06-18 17:22:25
карма: 15

2
Голосовали:sla8a, Fangir
Ответов: 2058
Рейтинг: 28
#79: 2024-06-18 18:47:29 ЛС | профиль | цитата
Gunta, Прикольно получается запускать HiAsm на телефоне. Потом может быть тоже попробую.
карма: 1

0
Ответов: 782
Рейтинг: 168
#80: 2024-07-17 15:56:13 ЛС | профиль | цитата
Чтение версии (ProductVersion) компонента Version из самой программы
1.Вариант VBJScript

Add(Version,3197922,322,126)
{
Version="123.456.789"
Description="Моя тестовая программа"
AddHint(85,-19,75,13,Version)
}
Add(MainForm,14681279,161,182)
{
Width=414
Height=202
Caption="Version"
link(onCreate,8685428:doWork,[])
}
Add(Memo,7717528,322,196)
{
Width=398
Height=163
Align=5
Font=[Consolas,20,0,0,204]
ScrollBars=3
}
Add(Application,9986502,217,147)
{
}
Add(VBJScript,8685428,217,196)
{
WorkPoints=#6:doWork|
EventPoints=#7:onEvent|
DataPoints=#8:filename|
Script=#23:Sub doWork(Data, Index)|133:sys.onEvent CreateObject("Shell.Application").Namespace(0).ParseName(sys.filename).ExtendedProperty("System.Software.ProductVersion")|7:End Sub|
UseName=0
link(onEvent,5856165:doEvent1,[])
link(filename,9986502:AppFileName,[])
}
Add(Hub,5856165,280,196)
{
link(onEvent1,7717528:doAdd,[])
link(onEvent2,6875291:doString,[(305,209)(305,258)])
}
Add(FormatStr,6875291,322,252)
{
Mask="Version - %1"
link(onFString,14681279:doCaption,[(371,258)(371,299)(151,299)(151,188)])
}

2.Вариант Powershell

Add(Version,3197922,350,133)
{
Version="987.654.321"
Description="Моя тестовая программа"
AddHint(85,-19,75,13,Version)
}
Add(MainForm,14681279,126,189)
{
Width=414
Height=202
Caption="Version"
link(onCreate,2145135:doString,[])
}
Add(Memo,7717528,350,203)
{
Width=398
Height=163
Align=5
Font=[Consolas,20,0,0,204]
ScrollBars=3
}
Add(Application,9986502,189,154)
{
}
Add(Hub,5856165,308,203)
{
link(onEvent1,7717528:doAdd,[])
link(onEvent2,6875291:doString,[(333,216)(333,265)])
}
Add(FormatStr,6875291,350,259)
{
Mask="Version - %1"
link(onFString,14681279:doCaption,[(392,265)(392,317)(116,317)(116,195)])
}
Add(FormatStr,2145135,189,203)
{
DataCount=1
Mask="((Get-Item '%1').VersionInfo).ProductVersion"
link(onFString,10162556:doConsoleExec,[])
link(Str1,9986502:AppFileName,[])
}
Add(WinExec,10162556,245,189)
{
FileName="powershell"
Mode=0
Action="runas"
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,5856165:doEvent1,[])
}

3.Вариант Стандартные компоненты

Add(MainForm,2953706,77,140)
{
link(onCreate,1196495:doEvent1,[])
}
Add(Memo,8673971,490,196)
{
Left=550
Top=160
Align=5
Font=[MS Sans Serif,12,0,0,1]
ScrollBars=3
}
Add(FileStream,3596279,154,154)
{
Point(doPosition)
link(onLoad,11044859:doConvert,[])
link(FileName,4704021:AppFileName,[])
}
Add(StreamConvertor,11044859,203,154)
{
link(onResult,10547939:doSearch,[])
}
Add(Hub,1196495,119,154)
{
link(onEvent1,3596279:doOpen,[])
link(onEvent2,3596279:doClose,[])
}
Add(BlockFind,10547939,252,154)
{
IncludeBlock=1
StartBlock="500072006F006400750063007400560065007200730069006F006E000000"
EndBlock="000000"
Point(doStartBlock)
link(onSearch,16595443:doConvert,[])
}
Add(StreamConvertor,16595443,301,154)
{
Mode=1
link(onResult,12853486:doConvert,[])
}
Add(Charset,15901636,399,154)
{
Type=9
link(onCharset,4812633:doEvent1,[])
}
Add(StreamConvertor,12853486,350,154)
{
Mode=6
link(onResult,15901636:doCharset,[])
}
Add(Version,13400622,245,84)
{
Version="111.222.333"
AddHint(70,-30,75,13,Version)
}
Add(Application,4704021,154,105)
{
}
Add(Hub,4812633,448,154)
{
link(onEvent1,1199672:doString,[])
link(onEvent2,8673971:doAdd,[(480,167)(480,202)])
}
Add(FormatStr,1199672,490,154)
{
DataCount=1
Mask="ProductVersion - %1"
link(onFString,10823412:In,[])
}
Add(LineBreak,16212590,28,140)
{
link(Out,2953706:doCaption,[])
Primary=[10823412,504,14]
}

Можно изменить версию любым редактором ресурсов в скомпилированных программах и убедится, что всё работает.
Пример изменения версии программы в Hiasm.

Add(MainForm,8697800,35,154)
{
link(onCreate,4071763:doEvent1,[])
}
Add(FileStream,3596279,231,182)
{
Point(doPosition)
link(onLoad,11044859:doConvert,[])
link(FileName,4704021:AppFileName,[(237,173)(223,173)(223,299)(244,299)])
}
Add(StreamConvertor,11044859,280,182)
{
link(onResult,10547939:doSearch,[])
}
Add(BlockFind,10547939,399,182)
{
IncludeBlock=1
Delete=0
StartBlock="500072006F006400750063007400560065007200730069006F006E000000"
EndBlock="0000"
Point(doReplaceStr)
link(onEndSearch,16595443:doConvert,[])
}
Add(StreamConvertor,16595443,448,189)
{
Mode=1
link(onResult,9609342:doCopyFromStream,[])
}
Add(Version,13400622,161,56)
{
Version="111.222.333"
Description="Hi HiAsm"
InternalName="Моя программа на HiAsm"
E-mail="aaa@bbb.ccc"
AddHint(70,-30,75,13,Version)
}
Add(Application,4704021,238,259)
{
}
Add(FileStream,9609342,511,175)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,4265297:Var2,[])
}
Add(ODialog,4485907,84,133)
{
Filter="exe|*.exe|All|*.*"
}
Add(VisualStrings,5600990,231,84)
{
Lines=#11:333.222.111|
Width=88
}
Add(Charset,8196451,231,133)
{
Type=10
link(onCharset,7451832:doConvert,[])
link(Text,5600990:Text,[])
}
Add(StreamConvertor,7451832,280,133)
{
Mode=2
link(onResult,2244579:doDelete,[])
}
Add(Hub,4071763,133,168)
{
OutCount=6
link(onEvent1,1672175:doDelete,[(158,174)(158,153)])
link(onEvent2,8196451:doCharset,[(214,181)(214,139)])
link(onEvent3,3596279:doOpen,[])
link(onEvent4,3596279:doClose,[])
link(onEvent5,1354917:doWork,[(214,202)(214,223)])
link(onEvent6,8697800:doClose,[(158,209)(158,223)(25,223)(25,181)])
}
Add(FileTools,1672175,168,133)
{
FileName="test.exe"
link(FileName,4265297:Var1,[(174,117)])
}
Add(Delete,2244579,329,133)
{
Count=2
Direction=1
link(onDelete,10547939:doReplaceStr,[(368,139)(368,195)])
}
Add(VBJScript,1354917,546,217)
{
WorkPoints=#6:doWork|
DataPoints=#8:filename|
Script=#22:Sub doWork(Data,Index)|71: With CreateObject("Scripting.FileSystemObject").GetFile(sys.filename)|41: Folder = .ParentFolder : Name = .Name|10: End With|62: With GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")|77: Set Verbs = .document.Application.NameSpace(Folder).ParseName(Name).Verbs|60: Verbs.Item(Verbs.Count - 1).DoIt : .ExecWB 45, 2 : .Quit|10: End With|7:End Sub|
UseName=0
link(filename,4265297:Var3,[(552,117)])
}
Add(VisualStrings,5490968,511,77)
{
Lines=#20:modified_version.exe|
Width=123
}
Add(GetDataEx,4265297,511,112)
{
link(Data,5490968:Text,[])
}

карма: 15

0
Ответов: 782
Рейтинг: 168
#81: 2024-08-11 22:55:29 ЛС | профиль | цитата
Простой HTTP файловый сервер. https://forum.hiasm.com/getfile/39680
карма: 15

0
файлы: 1Portable HTTP file server.zip [1.8KB] [349]
Ответов: 782
Рейтинг: 168
#82: 2024-09-05 06:21:17 ЛС | профиль | цитата
Понадобилось вывести уведомление в windows10 , сделал так.

Add(MainForm,436721,98,182)
{
Width=358
Height=152
Point(onClose)
}
Add(WinExec,6445424,224,126)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
}
Add(FormatStr,7324636,168,140)
{
Mask="Add-Type -AssemblyName System.Windows.Forms\r\n$balmsg = [System.Windows.Forms.NotifyIcon]::new()\r\n$balmsg.Icon = [System.Drawing.SystemIcons]::Warning\r\n$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::None\r\n\r\n$balmsg.BalloonTipText = '%1'\r\n$balmsg.BalloonTipTitle = '%2'\r\n$balmsg.Visible = $true\r\n$balmsg.ShowBalloonTip(10000)\r\n\r\n$balmsg.Dispose()"
Point(FString)
link(onFString,6445424:doConsoleExec,[])
link(Str1,1031441:Text,[])
link(Str2,7873577:Text,[])
}
Add(VisualStrings,1031441,168,56)
{
Lines=#15:Текст сообщения|
Width=102
}
Add(VisualStrings,7873577,175,84)
{
Lines=#15:Текст заголовка|
Width=102
}
Add(Button,6341407,98,140)
{
Left=40
Top=30
Width=220
Height=55
Caption="Показать уведомление windows"
link(onClick,7324636:doString,[])
}


карма: 15

0
Ответов: 70
Рейтинг: 1
#83: 2024-09-05 09:03:16 ЛС | профиль | цитата
Gunta, У меня появляется с заголовком
карма: 1

0
Ответов: 2236
Рейтинг: 676
#84: 2024-09-05 10:18:13 ЛС | профиль | цитата
Gunta писал(а):
уведомление в windows10
У меня уведомление не появляется. После нажатия кнопки в панели задач в трее быстро появляется значок и исчезает. Убрав эту строку
$balmsg.Dispose()
, значок (восклицательный знак в желтом треугольники) висит в трее даже после закрытия окна
и пропадает только при подходе курсора мыши.
карма: 11

0
Ответов: 8921
Рейтинг: 823
#85: 2024-09-05 15:06:54 ЛС | профиль | цитата
Gunta, от нечего делать: надо перевести с Паскаля на СИ строчку кода:
res:=trunc(res/22.5)*22.5;, где res - число в формате double.
(А есть-ли в СИ функция отброса значений после запятой (trunc) :roll
карма: 19

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#86: 2024-09-05 15:33:11 ЛС | профиль | цитата
Всем Привет!
Леонид писал(а):
А есть-ли в СИ функция отброса значений после запятой (trunc)

А в Гугле набрать? Вот первое, на что нарвался
http://all-ht.ru/inf/prog/c/func/trunc,truncf,truncl.html
карма: 22

0
Ответов: 782
Рейтинг: 168
#87: 2024-09-05 16:06:15 ЛС | профиль | цитата
Pavel писал(а):
У меня появляется с заголовком

Странно.Мне не удалось добиться таково же эффекта. Попробуйте выбрать вот этот пункт.

sla8a писал(а):
У меня уведомление не появляется.

Проверьте, включены ли у вас уведомления.


Вот ещё один вариант схемы для вызова уведомлений

Add(WinExec,6445424,189,140)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
Point(doConsoleTerminate)
Point(onConsoleTerminate)
}
Add(FormatStr,7324636,126,154)
{
DataCount=3
Mask="[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null\r\n$Template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)\r\n\r\n$RawXml = [xml] $Template.GetXml()\r\n($RawXml.toast.visual.binding.text|where {$_.id -eq '1'}).AppendChild($RawXml.CreateTextNode('%1')) > $null\r\n($RawXml.toast.visual.binding.text|where {$_.id -eq '2'}).AppendChild($RawXml.CreateTextNode('%2')) > $null\r\n\r\n$SerializedXml = New-Object Windows.Data.Xml.Dom.XmlDocument\r\n$SerializedXml.LoadXml($RawXml.OuterXml)\r\n\r\n$Toast = [Windows.UI.Notifications.ToastNotification]::new($SerializedXml)\r\n$Toast.Tag = '%3'\r\n$Toast.Group = '%3'\r\n$Toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(1)\r\n\r\n$Notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('%3')\r\n$Notifier.Show($Toast);"
Point(FString)
link(onFString,6445424:doConsoleExec,[])
link(Str1,1031441:Text,[])
link(Str2,7873577:Text,[])
link(Str3,3982469:Text,[])
}
Add(VisualStrings,1031441,126,35)
{
Lines=#15:Текст сообщения|
Width=102
}
Add(VisualStrings,7873577,133,63)
{
Lines=#15:Текст заголовка|
Width=102
}
Add(VisualStrings,3982469,140,91)
{
Lines=#18:Название программы|
Width=137
}
Add(MainForm,436721,63,196)
{
Width=358
Height=152
Point(onClose)
}
Add(Button,4049444,63,154)
{
Left=40
Top=30
Width=220
Height=55
Caption="Показать уведомление windows"
link(onClick,7324636:doString,[])
}


Леонид писал(а):
надо перевести с Паскаля на СИ строчку кода:
res:=trunc(res/22.5)*22.5;, где res - число в формате double.
(А есть-ли в СИ функция отброса значений после запятой (trunc)

Будет то же самое
https://learn.microsoft.com/ru-ru/cpp/c-runtime-library/reference/trunc-truncf-truncl?view=msvc-170
а на powershell так

Add(MainForm,2953706,84,119)
{
link(onCreate,7324636:doString,[])
}
Add(WinExec,6445424,189,119)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,6245316:doWork2,[])
link(onConsoleError,6245316:doWork3,[(242,146)])
}
Add(FormatStr,7324636,133,133)
{
Mask="$res = 1234.5678\r\n\r\n[math]::truncate($res / 22.5) * 22.5 \r\n"
Point(FString)
link(onFString,6445424:doConsoleExec,[])
}
Add(Memo,6614240,308,133)
{
Left=550
Top=160
Align=5
ScrollBars=3
}
Add(HubEx,6245316,238,133)
{
link(onEvent,5467193:doCharset,[])
}
Add(Charset,5467193,259,133)
{
link(onCharset,6614240:doAdd,[])
}

карма: 15

0
Ответов: 8921
Рейтинг: 823
#88: 2024-09-05 16:47:08 ЛС | профиль | цитата
nesco, Gunta, спасибо!!
карма: 19

0
Ответов: 2236
Рейтинг: 676
#89: 2024-09-06 07:39:16 ЛС | профиль | цитата
Gunta, да были отключены уведомления. После включения все заработало, но так же как у Pavel

карма: 11

0
Ответов: 782
Рейтинг: 168
#90: 2024-09-06 08:57:11 ЛС | профиль | цитата
sla8a писал(а):
включения все заработало, но так же как у Pavel

Pavel, sla8a, попробуйте вот эту схему.


Add(WinExec,6445424,189,140)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
Point(doConsoleTerminate)
Point(onConsoleTerminate)
}
Add(FormatStr,7324636,126,154)
{
DataCount=3
Mask="[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null\r\n$Template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)\r\n\r\n$RawXml = [xml] $Template.GetXml()\r\n($RawXml.toast.visual.binding.text|where {$_.id -eq '1'}).AppendChild($RawXml.CreateTextNode('%1')) > $null\r\n($RawXml.toast.visual.binding.text|where {$_.id -eq '2'}).AppendChild($RawXml.CreateTextNode('%2')) > $null\r\n\r\n$SerializedXml = New-Object Windows.Data.Xml.Dom.XmlDocument\r\n$SerializedXml.LoadXml($RawXml.OuterXml)\r\n\r\n$Toast = [Windows.UI.Notifications.ToastNotification]::new($SerializedXml)\r\n$Toast.Tag = '%3'\r\n$Toast.Group = '%3'\r\n$Toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(1)\r\n\r\n$Notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('%3')\r\n$Notifier.Show($Toast);"
Point(FString)
link(onFString,6445424:doConsoleExec,[])
link(Str1,1031441:Text,[])
link(Str2,7873577:Text,[])
link(Str3,3982469:Text,[])
}
Add(VisualStrings,1031441,126,35)
{
Lines=#15:Текст сообщения|
Width=102
}
Add(VisualStrings,7873577,133,63)
{
Lines=#15:Текст заголовка|
Width=102
}
Add(VisualStrings,3982469,140,91)
{
Lines=#18:Название программы|
Width=137
}
Add(MainForm,436721,63,196)
{
Width=358
Height=152
Point(onClose)
}
Add(Button,4049444,63,154)
{
Left=40
Top=30
Width=220
Height=55
Caption="Показать уведомление windows"
link(onClick,7324636:doString,[])
}


Как у вас выглядит уведомление?
карма: 15

1
Голосовали:sla8a
Сообщение
...
Прикрепленные файлы
(файлы не залиты)