Zobrazit plnou verzi příspěvku: MsgBox - bez potvrzení

Lukáš Záruba
05.12.2018, 10:04
1)Je možné napsat MsgBox tak aby neopsahoval potvrzovají okono "ok" a jen se na chvíly zobrazil bez nutnosti "odkliknout"2) Jo možné změnit i název zprávy? nyní mi to samou generuje text "ylxfjvov" a já nevím co dělám špatně.  Pokud ANO tak jak to mám udělat.

Vladimír Michl
05.12.2018, 10:35

Titulek standardního MsgBoxu je parametr - 3.parametr při vyvolání - viz: MsgBox("Text zprávy", OK, "Titulek") Zmizení zprávy po timeoutu je složitější - viz tip:https://www.cadforum.cz/cadforum/jak-v-ilogic-zobrazit-zpravu-jen-na-nekolik-vterin-tip12074

Lukáš Záruba
05.12.2018, 12:06
OK, DÍKY ZA RADU. TITULEK MI JIŽ FUNGUJE.Nedaří se mi však implementovat zmizení zprávy po timeoutu. Když upravím ilogic z odkazu tak mi vše funguje ale nechce mi to chodit v jiném pravidle. Můžete mi ukázet jak na to?Potřebuji v pravidle:docname=ThisDoc.FileName(False) 'e.g. "tracker9864-rev6-7-2013"
Dim matches As System.Text.RegularExpressions.MatchCollection
Dim match As System.Text.RegularExpressions.Match
Dim groups As System.Text.RegularExpressions.GroupCollection
matches = System.Text.RegularExpressions.Regex.Matches(docname, "\b.*\..*\.(.)\b") '*****-****: $1/$2 = tracker9864/rev6
'matches = System.Text.RegularExpressions.Regex.Matches(docname, "\b(.{7})(.{3}).*\b") 'NNNNNNRRR*: $1/$2 = tracker/9864
If matches.count>0 Then
For Each match In matches
groups = match.Groups ' parenthesis 1
iProperties.Value("Project", "Revision Number") = groups.item(1).Value
MsgBox("ÚSPĚCH - zapsána revize: " & groups.item(1).Value, OK, "REVIZE")
Next
Else
MsgBox("Revize se nepovedla - zkus to opravit", OK, "REVIZE")
End If Vyměnit MSGBOXy za tyto:Imports System.Threading.Tasks

Dim timeout = 0.5 ' secs - JAK DLOUHO M� B�T VID�NA
Dim msg As New Form() With { .Enabled = False }
Task.Delay(TimeSpan.FromSeconds(timeout)).ContinueWith(
Sub(t)
msg.Close()
End Sub ,
TaskScheduler.FromCurrentSynchronizationContext())
MessageBox.Show(msg, "�chp�ch", "TITULEK")
'MessageBox.Show(msg, "ZDE JE TO CO CHCI ZD�LIT", "ZDE JE NADPIS ZPR�VY")Jde to vůbec zkombinovat????

Petr Žídek
05.12.2018, 12:31

Dobrý den,co třeba takhle?Dim docname As String
docname=ThisDoc.FileName(False) 'e.g. "tracker9864-rev6-7-2013"

Dim timeout = 1
Dim msg As New Form() With { .Enabled = False }

Dim matches As System.Text.RegularExpressions.MatchCollection
Dim match As System.Text.RegularExpressions.Match
Dim groups As System.Text.RegularExpressions.GroupCollection
matches = System.Text.RegularExpressions.Regex.Matches(docname,"\b.*\..*\.(.)\b")

If matches.Count>0 Then
For Each match In matches
groups = match.Groups
iProperties.Value("Project", "Revision Number") = groups.Item(1).Value
Task.Delay(TimeSpan.FromSeconds(timeout)).ContinueWith(
Sub(t)
msg.Close()
End Sub ,
TaskScheduler.FromCurrentSynchronizationContext())
MessageBox.Show(msg,"ÚSPĚCH - zapsána revize: " & groups.Item(1).Value, "REVIZE")
Next
Else
Task.Delay(TimeSpan.FromSeconds(timeout)).ContinueWith(
Sub(t)
msg.Close()
End Sub ,
TaskScheduler.FromCurrentSynchronizationContext())
MessageBox.Show(msg,"Revize se nepovedla - zkus to opravit", "REVIZE")
End If

Lukáš Záruba
05.12.2018, 12:44
Děkuji za radu ale pořád to hlásí tuto chybu:

Petr Žídek
05.12.2018, 12:54
Dobrý den,ještě úplně nahoru vložitImports System.Threading.Taskspři kopírování mi to vypadlo.

Lukáš Záruba
05.12.2018, 12:56
OK, DÍKY UŽ TO FUNGUJE