Hirdetés

2024. május 5., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Visual Basic

Hozzászólások

(#2001) vilag válasza sztanozs (#1999) üzenetére


vilag
tag

Valami protect, unprotectet használok már a programban (azt hiszem munkalapok védelmére).

Egyébként ha még így meg is lehet oldani, akkor is ott a másik probléma, hogy a fájl írásvédett.

A 2.-al kapcsolatos válaszodat ki tudnád egy kicsit bővebben fejteni, hogy hogyan lehetne megcsinálni?

Valami ilyesmire gondoltál:
Mondjuk a programom kérdez valamit, amire az adott választ szeretném eltárolni a programon belül.
Erre a program bezárja magát és elindít mondjuk egy batch fájlt ami adatátadással megkapja a kérdésre adott választ, majd ennek függvényében az eredeti programfájl fájlrendszeri jogait megváltoztatja írásvédettről nem írásvédettre, ezt követően pedig eltárolja a programban a választ, ráment, majd bezárja, írásvédetté teszi, és újra elindítja.

(#2002) martonx válasza vilag (#2000) üzenetére


martonx
veterán

Még mindig nem értelek. Minek az a gomb? Te tetted írásvédetté a makrót, te is tudod feloldani és megnézni. Minek ehhez a gomb, meg a programozott feloldás?

Én kérek elnézést!

(#2003) vilag válasza martonx (#2002) üzenetére


vilag
tag

Azért, mert így kétszer kell megadnom a jelszót, hogy eljussak a programkódhoz. A jelszó pedig a korábban leírt okok miatt szükséges.

(#2004) vilag válasza sztanozs (#1999) üzenetére


vilag
tag

Nos, működik a dolog. Már csak egy kicsi szépséghiba van benne:

Hogyan lehet a Project Explorer ablakban egyértelműen azonosítani egy Projectet?
Sajnos a név begépelés csak a szóközig működik, aztán már csak pittyeg, és hát a szóközig mindegyiknek ugyan az a neve ("VBAProject").

A hivatkozott oldalon ez a programkód van:
Sub Gomb2_Kattintáskor()

Workbooks.Open "C:\Your\File\Path\YourFileName.xls"
With Application
'Go to the VBE
.SendKeys "%{F11}", True
'Activate Project Explorer window
.SendKeys "^r", True
.SendKeys "VBAProject" + Chr(32) + "(Próba.xls)"
'Tab your way to the workbook project
'Note - - when I tested this, it was in a separate workbook,
'following 6 add-in projects.
'"YourFileName" was the 8th project in my PE window,
'so 9 tab hits were required.
'You could also down-arrow using .SendKeys "{DOWN}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
.SendKeys "{TAB}", True
'Simulate the Enter key
.SendKeys "~", True
'Enter your password - - this example is "Password"

.SendKeys "Blackout"
'Enter again
Password
.SendKeys "~", True
End With
End Sub

Itt TAB-okkal van megoldva a probléma, de nekem ez nem jó, mert nem ismert, hogy a program futtatásakor hány darab project fut és azok milyen sorrendben vannak.

Én jelenleg így alakítottam át a kódot, de a megfelelő project kiválasztása nem működik, erre keresek megoldást.

Sub Gomb2_Kattintáskor()

With Application
.SendKeys "%{F11}", True
.SendKeys "^r", True
.SendKeys "VBAProject" + Chr(32) + "(Próba.xls)" 'Sem így sem "VBAProject (Próba.xls)"-t beíva nem működik
.SendKeys "~", True
.SendKeys "Password"
.SendKeys "~", True
End With
End Sub

Üdv, vilag

(#2005) vilag


vilag
tag

Üdv!

Az előzőektől független problémám támadt amire nem találom a megoldást és már az őrületbe kerget.

Fut egy rutin, ahol az egyik sornál ha egy feltétel teljesül akkor Show paranccsal meghív egy UserFormt.
Ezzel még nem is lenne gond, azonban a UserForm megjelenésekor lefut az említett UserForm Initialize rutinja -és ahelyett, hogy megállna és bevitelre várna- fogja magát és visszatér az eredeti rutinba és megy tovább.

Mi a frászért nem áll ez meg nekem?

A kód (természetesen sallangok nélkül):

Eredeti rutin:

(...)
nagyvaros=true
UserForm3.Show
(...)

UserForm3:
Private Sub UserForm_Initialize()

If nagyvaros = True Then
UserForm3.Caption = "Irányítószám megadása!"
szoveg = "Kérlek, add meg az irányítószámot! Ha Pf.-hoz tartozó irányítószámot" + Chr(13) + Chr(13) + _
"adtál meg, akkor a jelölőnégyzet bepipálásával jelezd azt!"
Else
UserForm3.Caption = "Postafiók irányítószámának megadása"
szoveg = "Kérlek, add meg a postafiók irányítószámát!" + Chr(13) + Chr(13) + _
"(Ha nem postafiókról van szó, nyomd meg a ""Mégsem"" gombot!)" + Chr(13) + Chr(13) + "Postafiók irányítószáma"
End If

Label1.Caption = szoveg
TextBox1.Text = pfirsz
TextBox1.SetFocus

End Sub

Innen meg fogja magát és megállás nélkül visszatér az eredeti kiugrási pontra.
Mért nem áll ez meg nekem????

Biztosan triviális a megoldás, de nem jövök rá...

(#2006) SG3rg0


SG3rg0
őstag

Sziasztok!
Lenne egy problémám, lehet tudtok segíteni.

Van két groupboxom, az elsőben van egy gomb, aminek a hatására textboxok jönnek létre, így megnő a groupbox mérete. Hogy lehetne a második groupboxot lejjebb tenni egyel egy textbox magasságával. A két groupbox és a gomb és minden egyéb forráskódba van létrehozva.

(#2007) vilag válasza SG3rg0 (#2006) üzenetére


vilag
tag

A GroupBox (ha jól gondolom) olyasmi lehet mint a VBA-ban a Frame?

VBA-ban minden vezérlőnek van egy top és egy left tulajsonsága, ez határozza meg a 0,0 ponttól viszonyított helyzetét. Ez kódból könnyedén módosítható.

A Te kívánságodnál maradva pl.:

TextBox1.Top=TextBox1.Top + TextBox1.Height

ahol Height a TextBox1 magassága.

Tehát a TextBox1 fölülről viszonyított új helyzetét egy TextBox1 magasságnyival lejjebb határoztuk meg.

Feltételezem a Groupboxnak is lehet ilyen tulajdonsága és így a fenti példából kiindulva könnyedén eltolhatod azt.

[ Szerkesztve ]

(#2008) SG3rg0 válasza vilag (#2007) üzenetére


SG3rg0
őstag

Köszi! :R Megoldódott!

(#2009) sztanozs válasza vilag (#2005) üzenetére


sztanozs
veterán

Hali - a projektet át tudod nevezni a project explorerben (szerintem a baloldalon megjelenő properties menüben is).
Más: az Initialize mindig végigfut. Nem is értem miért kellene megálljon. A VBA eseményvezérelt környezet, nem "áll meg" csak úgy egy rutin közepén (és nem is jó erre kényszeríteni). Ha azt akarod, hogy bevitelre "várjon" akkor legyen modális a form (ne lehessen "mögé" kattintani) és legyen egy gombod amivel leokézod a formot.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2010) vilag válasza SG3rg0 (#2008) üzenetére


vilag
tag

Örülök, hogy segíthettem!

/Talán az első ember akinek én segítettem és nem ő segített nekem :D /

(#2011) vilag válasza sztanozs (#2009) üzenetére


vilag
tag

Az első probléma meg is oldódott!! :R
Eszembe nem jutott, hogy a projectet át is lehet nevezni :)

A rövidített megoldás ennyi lett:
With Application
.SendKeys "%{F11}", True 'VB megnyitása
.SendKeys "^r", True 'Project Explorer ablak aktiválása
.SendKeys "SZTK" 'SZTK projectre ugrás
.SendKeys "~", True 'Enter leütés imitálása
.SendKeys "JELSZÓ" 'Jelszó megadása
.SendKeys "~", True 'Enter leütés imitálása
End With

Nagyon köszönöm a segítséget!

A másik dologhoz:

Itt valami turpisság van szerintem.
Van ugyan ebben a programban egy másik form is ami hasonló körülmények között kerül meghívásra.
Nevezetesen a UsefForm1-en van egy gomb, aminek ennyi a kódja:

UserForm2.Show

UserForm2 Initialize:

Private Sub UserForm_Initialize()

szoveg1 = "A fejlesztői felületre történő belépéshez jelszó szükséges!" + Chr(13) + Chr(13) + _
"(3 lehetőséged van)" + Chr(13) + Chr(13) + "Kérlek add meg a jelszót:"
szoveg2 = "A megadott jelszó hibás! Kérlek add meg a helyes jelszót!"
szoveg3 = "A megadott jelszó hibás! 1 további lehetőséged maradt!"

fejlec1 = "Kérlek add meg a jelszót! Még 3 további lehetőséged maradt!"
fejlec2 = "Érvénytelen jelszó! Még 2 további lehetősged maradt!"
fejlec3 = "Érvénytelen jelszó! Még 1 további lehetősged maradt!"

UserForm2.Caption = fejlec1
Label1.Caption = szoveg1
TextBox1.SetFocus
n = 1

End Sub

Végeredmény: a UserForm2 előtűnik és a TextBox1-ben villog a kurzor és bevitelre vár.

A különbség a másik esethez képest (szerintem) csupán annyi, hogy itt nem egy gomb megnyomása adja ki a UserForm3.Show parancsot, hanem az ha a ComboBox9:Change()-ben teljesül a következő feltétel (részlet a kódból):
If ComboBox9.Value = "Budapest" Or ComboBox8.Value = "Miskolc" Or ComboBox8.Value = "Debrecen" Or ComboBox8.Value = "Szeged" Or ComboBox8.Value = "Pécs" Or ComboBox8.Value = "Győr" And gkodkereses = False Then
Label24.Caption = ""
'irszam = Application.InputBox("Kérlek add meg a ""levelezési cím""-hez tartozó irányítószámot:", "Irányítószám megadása", irszam)
nagyvaros = True
UserForm3.Show
nagyvaros = False
(...)

(#2012) vilag válasza vilag (#2011) üzenetére


vilag
tag

Nem lehet, hogy az itt a probléma, hogy a UserForm3.Show parancs egy "If" függvényen belül található???

Most kipróbáltam, hogy a függvényen kívülre tettem a Show parancsot és így szépen bejött a UserForm és beavatkozásra vár.

(#2013) vilag válasza sztanozs (#2009) üzenetére


vilag
tag

Őszintén lövésem nem volt mi az a Modalis meg nem Modális.

Némi googlizás után ezt találtam a VBA súgójában:

Constant Value Decription
vbModeless 0 UserForm is modeless.
vbModal 1 UserForm is modal (default)

Bár példa nincs hozzá, így nem tudom hogyan lehet ezt a tulajdonságot állítani, de ha jól értelemezem, akkor a UserFormok alapesetben Modalis tulajdonságúak. Ezt támasztja alá, hogy kipróbálva nem lehet a felugró UserForm mögötti másik UserFormrot fókuszba hozni kattintással.

(#2014) sztanozs válasza vilag (#2013) üzenetére


sztanozs
veterán

Ezt javaslom átnézésre: [link]

MSDN-ről:
Remarks

When a UserForm is modal, the user must supply information or close the UserForm before using any other part of the application. No subsequent code is executed until the UserForm is hidden or unloaded. Although other forms in the application are disabled when a UserForm is displayed, other applications are not.

When the UserForm is modeless, the user can view other forms or windows without closing the UserFor

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2015) vilag válasza sztanozs (#2014) üzenetére


vilag
tag

Valóban ez lehet a megoldás.

Eleddig úgy tűnik, hogy ha "UserForm3.Show vbModal" paranccsal hívom meg a Formot, akkor beavatkozásra vár.
Szóval elvileg, így megoldható lesz, csak most meg már annyira belebonyolódtam a kódba, hogy nem találok ki belőle :)...
...na de majd holnap nekifutok újra tiszta fejjel.

Addig is köszönöm a segítséget...megint.

Üdv, vilag

(#2016) chepavel


chepavel
aktív tag

Sziasztok!

Nézzétek el nekem, de VB-ben nagyon nem vagyok otthon..
A problémám a következő: van egy M-Files server névre hallgató csoda. Ez a dokumentumkezelő rendszer sajnos nem támogatja a powershellt, mindössze a VB-es scripteket. (én bizony rendszeradmin vagyok, nem fejlesztő..)
Tehát, van ennek egy saját API-ja, amit lehet használni számtalan feladatra. Amire nekem szükségem lenne, az az, hogy az egyik meglévő felhasználónak a jelszavát kellene parancssorból felparaméterezve lecserélni. (pl: cscript passwordchange.vbs IttAJelszónakAHelye)

No,és amit írnak erről (mert meg lehet csinálni..) ennyi az API súgójában:
Public Sub UpdateLoginPassword( _
ByVal AccountName As String, _
ByVal NewPassword As String _
)

Hogy tudnám ezt a kódsort felhasználni, hogy működésre bírhassam?

Nagyon fontos lenne ez nekem (egy automatizálási folyamat fontos része ez..)

Elnézést a hozzá értés hiánya miatt, bízom benne, hogy tudtok segíteni..

Köszönöm,
Üdv!

Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras

(#2017) martonx válasza chepavel (#2016) üzenetére


martonx
veterán

Ennyi alapján biztos vagyok benne, hogy nem fogunk tudni neked segíteni.

Én kérek elnézést!

(#2018) chepavel válasza martonx (#2017) üzenetére


chepavel
aktív tag

Kérdés, hogy tudnánk ezt megoldani? milyen infókat szolgáltassak? :B

Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras

(#2019) martonx válasza chepavel (#2018) üzenetére


martonx
veterán

Nem tudom, neked kellene valahogy jobban képbe kerülnöd, illetve tőlük maguktól kérdezni, mivel ez egy kereskedelmi termék, élő szupporttal.
A te képbe kerülésedet arra értem, hogy ami kódrészletet belinkeltél, nem más mint egy függvény deklaráció legelső sora, azaz éppen semmit nem jelent.

Én kérek elnézést!

(#2020) sztanozs válasza chepavel (#2016) üzenetére


sztanozs
veterán

Mivel a dokumentáció nem publikus, és nem találtam hozzá konkrét példát, így csak ex-has:
- meg kell nézned, hogy futtatható-e az alkalmazás belső api-jai külső környezetben (wbscriptből). Általában ez nem elérhető (ilyen pl NetIQ vagy MOM scripting környezete is)
- meg kell nézni, hogy a szkriptnek milyen formában adhatók át a futtatási argumentumok. WScript környezet esetén ez WScript.Arguments(n) függvénnyel, de ha nem fut WScript környezetben, akkor van saját argumentum kezelő az API-ban (ha kezel egyáltalán argumenteket)
- ha mindezzel megvagy, akkor inicializálni kell hozni a megvelelő class-t amiben az általad hivatkozott függvény van és meghívni a megfelelő argumentumokkal.
Mindez egyben kb így néz ki:
1) WScript
Dim sUser = WScript.Arguments(0)
Dim sPasswd = WScript.Arguments(1)
Dim oAPILoginClass
Set oAPILoginClass = CreateObject( "MFilesAPI.MegfelelőLoginManipulálóClass" )
oAPILoginClass.UpdateLoginPassword sUser, sPasswd

2) M-Files
Dim oAPIArgumentsClass
Set oAPIArgumentsClass = CreateObject( "MFilesAPI.MegfelelőArgumentBeolvasóClass" )
Dim sUser = oAPIArgumentsClass.Arguments(0)
Dim sPasswd = oAPIArgumentsClass.Arguments(1)
Dim oAPILoginClass
Set oAPILoginClass = CreateObject( "MFilesAPI.MegfelelőLoginManipulálóClass" )
oAPILoginClass.UpdateLoginPassword sUser, sPasswd

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2021) chepavel


chepavel
aktív tag

Köszönöm a válaszokat!

Ami nekem megvan, az az M-Files API dokumentációja, ami elérhető a skydrive-mon.

Sajnos, a programozás nagyon messze áll tőlem.. A supporthoz a szükséges regisztrációt megcsinlátam már, demég nem igazoltak vissza, így nem tudok beszélni velük..

Futtatni futtatható, valahogy így:
Dim app: Set app = CreateObject("MFilesAPI.MFilesServerApplication")

Itt tartok jelenleg, de nem szuperál:
Dim app: Set app = CreateObject("MFilesAPI.MFilesServerApplication")
Dim vault: Set vault = ServerLoginAccountOperations.updateloginpassword("mfilesadmin", "")

set UpdatePassword = ServerLoginAccountOperations.Updateloginpassword()

Public Sub UpdateLoginPassword(ByVal AccountName,ByVal NewPassword)
end sub

Kérek midnenkit, ne kövezzen meg a szakhozzáértésem hiánya miatt :)

Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras

(#2022) sztanozs válasza chepavel (#2021) üzenetére


sztanozs
veterán

Melóhelyen nem megy a skydrive (de a dropbox, se semmi ilyesmi, úgyhogy ez is kb ex-has:

Dim newpassword
'a következő sor helyére kell beírni, hogy hogyan kapod meg a jelszót, pl:
newpassword = wscript.Argument(0)
'newpassword = "akármi"
Dim app: Set app = CreateObject("MFilesAPI.MFilesServerApplication")
Dim auth_user, auth_pwd, auth_domain, auth_host, auth_port
'Itt kell megadni, hogy milyen technikai felhasználónvvel és jelszóval jelentkezel be az alkalmazásba
app.Connect 3, "sysadmnlogin", "sysadmnpassw", , "ncacn_ip_tcp", "localhost", "2266", "Demo Vault", false
Dim vault: Set vault = app.LoginAccountOperations
vault.UpdateLoginPassword "mfilesadmin", newpassword

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2023) chepavel válasza sztanozs (#2022) üzenetére


chepavel
aktív tag

Hi!

Ez egy dolgot eltekintve műlödik: a paramétere azt mondja, hogy:
Microsoft VBScript runtime error: Object doesn't support this property or method: 'WScript.Argument'

ha fixen adjom meg neki, akkor bizony gond nélkül lecseréli, királyság :)

Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras

(#2024) sztanozs válasza chepavel (#2023) üzenetére


sztanozs
veterán

Sorry wscript.Arguments(0) :B

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2025) chepavel válasza sztanozs (#2024) üzenetére


chepavel
aktív tag

Lemondhatatlanul köszönöm! Tökéletesen működik :))

Ha megyek pestre, vendégem vagy egy sörre! :K

Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras

(#2026) sztanozs válasza chepavel (#2025) üzenetére


sztanozs
veterán

Inkább nem mondj le :DDD
Csapódj a következő PH-s (logoutos) sörözéshez, és ott dumálhatunk - ha tudok rá időt szakiíani, ami azárt mostanában kicsit cinkes lesz :)

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2027) chepavel válasza sztanozs (#2026) üzenetére


chepavel
aktív tag

Nyitott vagyok rá! ;)

Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras

(#2028) vilag


vilag
tag

Sziasztok!

Újabb, eleddig megmagyarázhatatlan jelenséget tapasztaltam.
Van nekem egy UserFormom, ami a korábban javasolt módon modal-ként lett meghívva (bár szerintem jelen esetben irreleváns).

Ezen a Formon vagy egy textbox, melynek a Change-ébe egy hosszúság vizsgálat van leírva:

Private Sub TextBox1_Change() 'Irányítószám mező

If Len(TextBox1.Text) > 4 Then
hiba = MsgBox("Magyarországi irányítószámnak ez kicsit hosszú lesz, nemde???", vbCritical + vbOKOnly, "Hibás irányítószám")
TextBox1.Text = Left(TextBox1.Text, 4)
End If

End Sub

A probléma az, hogy egyik esetben a change lefut a textboxba történő adatbevitelkor, míg a másik esetben pedig nem.

Teljesen tanácstalan vagyok, hogyan lehetséges az, hogy mikor kalapálom a billentyűzeten a gombokat és írok bele az említett TextBox1-be, akkor be sem lép a TextBox1_Change ()-be????

Valakinek valami ötlet?

(#2029) vilag


vilag
tag

Van egy másik problémám is, méghozzá az, hogy néhány esetben nem kerül fókuszba olyan vezérlő aminek a fókuszba hozására kiadtam a parancsot.
Itt nagy valószínűség szerinte közrejátszik az, hogy Userformok között vagyok kénytelen ezt a fókuszba hozást végrehajtani, de hiába írom teljes hivatkozással a vezérlő nevét, akkor sem kerül fókuszba.
Más esetekben pedig tökéletesen működik a dolog.

Konkrétan az eset az, hogy van egy modal-ként meghívott UserFormom, aminek pl. OK és Mégsem gombbal történő bezárása esetén más-más vezérlőt szeretnék fókuszba hozni.
Az egyik esetben működik a dolog, míg a másik esetben nem.

Ötlet?

(#2030) Bobrooney válasza vilag (#2028) üzenetére


Bobrooney
senior tag

Én a helyedben ezt nem a change-l vizsgálnám, hanem egy nyomógombbal.
Change ha minden igaz, minden egyes bill leütést vizsgál, így ha elkezd gyorsan belegépelni felugrálgat neki egy MessageBox ami elég idegesítő lehet.
Tehát a nyomógomb hatására történne meg az input ellenőrzés és akkor adnám a hiba üzeneteket.

(#2031) vilag válasza Bobrooney (#2030) üzenetére


vilag
tag

Az világos, hogy oda is megtudom írni (ha nem marad más megoldás akkor az ott lévő vizsgálatot kiegészítem) , de most az előtt állok értetlenül, hogy a billentyűleütéskor miért nem lép be a change-be...

Erre keresem a magyarázatot.

(#2032) sztanozs válasza vilag (#2031) üzenetére


sztanozs
veterán

Vizsgálj keyup-ot, az meghívodik minden billenytűlenyomáskor (pontosabban elengedéskor) - persze ez viszont nem hívódik meg pl copy/paste esetén. Change (néha?) csak akkor hívódik meg, ha a text mező értéke véglegesítődik (pl. elveszti a mező a fókuszt).

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2033) vilag válasza sztanozs (#2032) üzenetére


vilag
tag

Vajon mi az amitől időnként nem fut le a Change???? Ad-hoc jellegű ismeretlen dolog?

Mikor elveszti a fokuszt vagy véglegesítődik textbox értéke, arra nem pont az Exit () jó???

(#2034) sztanozs válasza vilag (#2033) üzenetére


sztanozs
veterán

Exit akkor is lefut, ha nem volt változás.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2035) vilag válasza sztanozs (#2034) üzenetére


vilag
tag

Igaz...

Egyébként ez a hiba valami anomália?

Más: a #2029-es valami ötlet?

(#2036) sztanozs válasza vilag (#2035) üzenetére


sztanozs
veterán

Amíg modal a formod addig nem tud más más formon semmi fókuszba kerülni. Vsz ez lehet a probléma.
Talán a gomb click eseményekre el kellene tárolnod egy form scope-ú változóban, hogy melyik gombot nyomtad meg és a Close eseménybe kellene berakni, hogy mit csináljon.

Esetleg bezáráskor a fókusz állítás előtt átállíthatod a form modal property-jét False-ra, és akkor tudsz fókuszt váltani :)

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2037) vilag válasza sztanozs (#2036) üzenetére


vilag
tag

Le lehet kérdezni valahogyan, hogy egy adott Form éppen nyitva van e?

A másik javaslattal holnap próbálkozom meg, előbb ezen a problémán szeretnék túljutni.
(Még jó, hogy egy 5 percesre tervezett átalakításon már kb. 10 órát dolgoztam.)

(#2038) sztanozs válasza vilag (#2037) üzenetére


sztanozs
veterán

Form.Visible?

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2039) vilag válasza sztanozs (#2038) üzenetére


vilag
tag

Na, ez kellett pont nekem. Most úgy tűnik, hogy már nem volt hiábavaló a ráfordított 10-11 óra :)

Már látom a fényt az alagút végén...

(#2040) sztanozs válasza vilag (#2039) üzenetére


sztanozs
veterán

Csak ne a vonat jöjjön szembe...

...bocs, nem tudtam kihagyni
:DDD

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2041) vilag válasza sztanozs (#2040) üzenetére


vilag
tag

...megértem, magas labda volt

(#2042) vilag


vilag
tag

MsgBox-ban lehet valahogyan állítani a szöveg elhelyezkedését (mondjuk szeretném ha középre igazított lenne benne a szöveg).

(#2043) Bobrooney válasza vilag (#2042) üzenetére


Bobrooney
senior tag

Tolj elé tabulátorokat.

[ Szerkesztve ]

(#2044) vilag válasza Bobrooney (#2043) üzenetére


vilag
tag

Eddig pont ezt csináltam: tabulátorok plusz szóközök, de gondoltam hátha van olyan módszer amivel nem kell kikísérletezni, hogy melyikből mennyi kell...

(#2045) Bobrooney válasza vilag (#2044) üzenetére


Bobrooney
senior tag

Hát ahogy utána olvastam, csinálsz 1 saját MsgBoxot amit a szád íze szerint formázol be.

(#2046) vilag válasza Bobrooney (#2045) üzenetére


vilag
tag

Volt nekem egy MsgBox-om amit gondoltam egy öt perces munkával lecserélek egy sajátra (persze némi plusz funkciót is rá akartam tenni)....

... azóta eltelt mondjuk egy hét, meg rászántam már kb. 12-13 órát és most tartok ott, hogy lehet, hogy működőképes lesz a dolog....

...de az is lehet, hogy csak én vagyok ennyire béna :D

(#2047) sztanozs válasza vilag (#2046) üzenetére


sztanozs
veterán

Egy saját message box az csak egy form, egy label, meg egy gomb (esetleg kettő)...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#2048) Bobrooney válasza sztanozs (#2047) üzenetére


Bobrooney
senior tag

Lehet azért cifrázni, de a lényegében tényleg ennyi.

(#2049) vilag válasza sztanozs (#2047) üzenetére


vilag
tag

Most jövök rá, hogy néhány hozzászólásomban összekevertem a MsgBox-ot és az InputBoxot, mert egyszerre több dolgon is agyalok.

A középrerendezős kérdésem az InputBox-ra vonatkozott a többi problémás dolog az meg a MsgBox-ra.

[ Szerkesztve ]

(#2050) sztanozs válasza vilag (#2049) üzenetére


sztanozs
veterán

Mit kellene az inputboxon középre igazítani?

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Visual Basic
Copyright © 2000-2024 PROHARDVER Informatikai Kft.