Visual Basic

Jelentkezz be a hozzászóláshoz.

SaintSavin
#139
pl.: www.kiskapu.hu

gordonmail
#138
hol lehet programíráshoz könyvet kapni, ami jó is? [email protected] kérlek titeket, kûldjetek mailt. Én is meg szeretnék tanúlni erõsebben írni.

(O_o)

#137
jah meg formázni szeretnék programból de erre sem találtam semmit
#136
vki megmondaná hogy hogy lehet automatikus indítással indítani a progimat. tehát ugy h nem én másolom bele az indítópultba. ugy hallottam hogy van erre vmi parancs csak nem találtam.
pls help
rushman
#135
Szerintem egy sorrendet érdemes felépíteni a tanulás menetében (fõleg VB-ben). Elsõként érdemes általánosságban tanuli a programozási technológiáról (Pszeudokód), majd ezután a VB terminológiájáról, folyamatairól stb. De feleslegesen beszélek, vedd meg a könyvet, tudomásom szerint általában kapható (van raktáron), rendkívül egyértelmûen (gyakorlatiasan) magyaráz, és teljesen a kezdõtõl egy erõs középfokig (tehát egy önálló többablakos alkalmazás elkészítéséig) megtanít. Véleményem szerint nincs jobb magyar nyelven megjelent könyv e témában.

kérdésedre válaszolva: csakis érdeklõdés kérdése 2-3 év alatt teljesen elsajátítható ez a szenzációsan egyszerû felépítésû nyelv. Tehát életkorod tudta nélkül a válaszom IGEN!

#134
Kössz a segítséget. Úgy érzem, a könyvvel kell kezdenem. Lehet, hogy kicsit megöregedtem, de megrettentem salyát sötétségemtõl! Érdemes még elkezdenem?
rushman
#133
VB6 Kék könyv, a legjobb magyar nyelvû kezdõtõl a haladóig.

#132
akkor próbálkozz vmi ilyesmivel. azért nem tudtad a focus-t birizgálni mert te a kilépésre programoztad az egészet és miután kilép már nem nagyon fókuszál semmire ezért gondoltam h ha nincs hiba akkor lépsz ki.


Dim hiba As Boolean


Private Sub cikk_Exit(ByVal Cancel As MSForms.ReturnBoolean)
hiba = False
wcikk = cikk.Value
If cikk = 0 Then
ElseIf cikk < 1000000000 Then
hiba = True
ElseIf cikk > 9999999999# And cikk < 1000000000000# Then
hiba = True
ElseIf cikk > 9999999999999# Then
hiba = True
End If
End Sub


Private Sub CommandButton1_Click()
If hiba = True Then
MsgBox ("Ez nem cikkszám")
cikk.SetFocus
cikk = ""
Else
End
End If
End Sub


szerintem
#131
Kossz <#wave>a segítséget még elmélázom az értelmén de ..
EXCEL-ben szerkesztettem egy formot több textbox-szal. Ez az elsõ textbox-sza, de nem tudom a hiba esetén újra bekérni.Próbáltam a fokuszt visszaállítani nem sok sikerrel.Ha a bekért szám 10 jegyû akkor cikkszám és jó, ha 13 jegyü akkor vonalkód és az is jó. Itt az ettõl eltérõ beírást szûrném.
Még nem a tutit megoldást keresem, elég ha valami megközelítõleg azt csinálja amit én akartam tõle.
(Nincs egy jó könyvem ami kezdõket is eligazítana, így csak vaktában próbálkozok. Vagy esetleg egy használható tanfolyam? Ha van javaslatotok ....)
#130
nemtom h jól értettem-e mert a feltételeid 1másnak ellent mondanak van tul-képpen csak a 0-át fogadod el

én inkább 1 inputbox-al és command -gombal csinálnám meg persze ciklussal de nemtom h jól értettelek e

az csak ennyi:

Private Sub CommandButton1_Click()
Do Until cikk = 0
cikk = InputBox("ird be a cikkszámot", "input")
Loop
End
End Sub

csak azért hogy már én is segítsek vkinek
#129
Kezdõként én még csak az EXCEL-t szeretném egy kicsit megpatkolni.Csináltam egy formot, aminek a cikk textbox-ába kértem be adatot, az ellenõrzés után, ha nem megfelelõ az érték szeretném kinullázni a változót és ismételten bekérni de nem tudok visszalépni.

Private Sub Cikk_Exit(ByVal Cancel As MSForms.ReturnBoolean)
wcikk = Cikk.Value
If Cikk = 0 Then
ElseIf Cikk < 1000000000 Then
MsgBox "Ez nem cikkszám"
ElseIf Cikk > 9999999999# And Cikk < 1000000000000# Then
MsgBox "Ez nem cikkszám"
ElseIf Cikk > 9999999999999# Then
MsgBox "Ez nem cikkszám"
End If
#128
hi! nem régóta csinálom ezt a vb-t kb 1.5 éve de csak sulis szinten. azt szeretném kérdezni hogy meg lehet e oldani valahogy hogy ha belépek 1 könyvtárba akkor elindul a progim (vagy már fut az indítópultból és figyel) és akkor kér 1 jeslzót és ha ezt beirtam csak akkor mutatja meg a könyvtár tartalmát.

másik.
lehet-e a windows felhasználónak jelszót létrehozni saját prg-ból a vezérlõpult nélkül/felhasználók nélkül a rendszer win-xp lenne.
SaintSavin
#127
Van valakinek valami ötlete, hogyan lehetne egy progit valami seriallal levédeni? (Olyan módon mint a nagyoknál.)
Arra gondolok, hogy milyen elvek szerint mûködik, ami alapján már lehetne programozni.

rushman
#126
Palinko
#125
ma átküldtem egyik haveromnak,és nem ment nála a prg.,mert valami MSWINSCK.OCX kellett neki. hogy oldahatom meg ezt a problémát?
Palinko
#124
nagyon szépen köszönöm!!!!!!!!!
nûxik 😄
Palinko
#123
köszi,mindjárt kipróbálom 😊
#122
Raksz egy winsock és egy textbox vezérlõt a formra és:

Private Sub Form_Load()
Text1 = Winsock1.LocalIP
End Sub

P3 Celeron 1000 Mhz, 512 MB SDRAM, Ati Radeon 9550 256 MB, Maxtor 160 GB Minek több?

Palinko
#121
a 6.0-ás vb-t. úgy képzeltem,hogy pl. te elindítod ezt a programod,és rámész,hogy ip megtekintése,és akkor kiírja egy texy boxba,hogy a te ip-d 80.12......
#120
a saját ípécíme kell ? akkor már csak azt mondd meg hogy a vb melyik verzióját használod

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

#119
nemértem a lényeget... kinek a minek az ípéje kell ?

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

Palinko
#118
szeretnék egy olyan progit csinálni,hogy mikor rámegy egy gombra,kiírja a progi használójának képernyõjére a csatlakoztatott internetnek az IP címét 😊 hát ez most hosszú,meg furcsa,de mind1,remélem értitek a lényeget 😊 szóval a code kellene 😊
#117
hát inis asztmondom hogy vb rúlz, de vb 2005 (vagy sima vb .net)

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

rushman
#116
hát ezzel azért páran vitatkoznának, de én úgy vagyok vele, hogy százszor inkább nyúlok a vb-hez egy egyszerûbb alkalmazás készítésekor, mint mondjuk java-hoz.

#115
mert régi, és utálom benne az overflovokat meg a tobbi korlátozását...

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

rushman
#114
jah, és miért?

#113
a form_resize ben a windowstate lesz minimized ha minimizálják stb.

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

#112
sztem a vb nem .netes verzióit már elkéne felejtni...

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

#111
form_resizet használd arra is

C2Q Q9550, ASUS P5Q DLX 2x2GB OCZ REAPER 1066 CL5 MSI 8800GTS 512 OC, WD VelociRaptor 150G

SaintSavin
#110
Másik probléma amibe folyton beleütközök, az annak a figyelése mikor van a form a tálcára csukva és maximális méreten. Ugyanis ilyenkor pl. a form magassági méretét nem lehet piszkálni, de azt hiszem semmi magasságit nem enged. (minimumnál) Viszont a resize eseménybe meg állítgatnám ezeket.
Arra gondoltam, hogy, ha tudnám mikor van pl. a tálcán a progi, akkor megirhatnám a resizeba, hogy tedd ezt vagy azt, kivéve, ha nincs ott. Most az On Erroe Resume Next sorral kompenzálom ezt a dolgot, de talán van jobb megoldás.

SaintSavin
#109
Rövidre zártam a kínlódást. 😊 Sajnos nem sikerült az elképzeléseim szerint megvalósítani a dolgot. Így egész egyszerûen kivetten a karakterek figyelését a szövegdobozban, és csak az elött vizsgálom meg, mielött mûveletet véégeznék vele. Így van rendes control+c meg control+v.

rushman
#108
az egér jobb klikk és paste, még mindig enged karaktereket. Lehet, hogy jobban járnék, ha csak egyszerûen a szövegdoboz tartalmát ellenõrizném a mûvelet elött

a text.change esemény alkalmas rá, ott szintén as isNumeric() függvénnyel letilthatod a szöveg beírását. Viszont jobban javaslom a már említett Clipboard objektum ellenõrzését mégpedig a keypress eseményben. Tehát akár egy felh függvényben is jól néz ki a dolog:

function vagolapSzamE() as boolean

dim var
var = clipboard.gettext
if isnumeric(var) then
vagolapSzamE = true
end if

end function

így csak meg kell hívni a keypress eseményben: If vagolapSzamE = True then és már illeszthetõ is be a szövegmezõbe

SaintSavin
#107
Most látom, a két változó (a és b) felesleges, csak a nyomonkövetéshez kellett. 😊)

SaintSavin
#106
Köszi. Így sikerült, kiiktatnom a betük bekopizását, de csak a ctrl+v mûveletre, az egér jobb klikk és paste, még mindig enged karaktereket. Lehet, hogy jobban járnék, ha csak egyszerûen a szövegdoboz tartalmát ellenõrizném a mûvelet elött, vagy van valami mõdszer, hogy a jobbklikkes copyt is felügyelni tudjam?
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
a = Clipboard.GetText
b = IsNumeric(Clipboard.GetText)
If KeyCode = vbKeyControl Then
If Not (IsNumeric(Clipboard.GetText)) Then
Clipboard.Clear
End If
End If
End Sub

rushman
#105
a clipboard objektumból lehet kinyerni (Clipboard.getText), azt viszont hogy hogyan, azt én sem tudom, ilyet még nem csináltam. Talán a bill. kombinációt kellene figyelni ugyanazon keypress eseményben, bár ez így eléggé zavaros kódot eredményezne...
Ha az isNumeric(clipboard.getText) false értéket ad vissza, akkor a vágólap tartalma nem szám (pl. "abc1122" is false értéket ad, mivel tartalmaz legalább egy nem numerikus karaktert), szerintem ez jó megoldás lenne, ebben az esetben figyelmen kívül kell hagyni a beillesztést.

SaintSavin
#104
Kipróbáltam, és nem igazán az, mit amit szeretnék.
A copy-paste mûködik, de csak az egér jobb klikkes menünél. De ez az én verziómnál is mûködött. Én azt szeretném, ha a ctrl+c, x és v mûködne, úgy, hogy csak számokat enged beírni. Tehát még ezeket a billentyûkombinációkat is kéne engedélyezni, de nem ismerem, a kódjukat, amit figyelni kéne.
A másik probléma ezzel, hogy, engedi, hogy betüt kopizzon a szövegdobozba. Ilyenkor miért nem nullázza ki a betüket? Ilyenkor külön kell figyelnem a bennt lévõ karaktereket? Vagy van valami egyszerübb módja ennek?

SaintSavin
#103
köszi

rushman
#102
így mûködik a copypaste:

Private Sub Text10_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then Exit Sub

If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If

End Sub

rushman
#101
van egy halom ingyenes installer program, keress utána. Ha meg csinálni akarsz, akkor tanulmányozd a fáljkezelést és a registry elérést vb-ben.

SaintSavin
#100
Köszönöm a segítséget.
Közben felvetõdött bennem még egy kérdés<#nevetes1> (nyugi van belõle bõven)
Van egy szövegdobozom, amibe azt szeretném, hogy csak számokat írhasson be a felhasználó.
Addig oké, hogy ezt teszem:

Private Sub Text10_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> 8 Then
KeyAscii = 0
End If
End Sub

De szeretném, hogy a copy-paste is mûködhessen, tehát a ctrl+c és a ctrl+v.

Palinko
#99
nekem csak a visual basic 6-os van meg,nem az egéssz studio.meg nem vagyok haladó,mint az mar latszik.es nem is tudom nagyon hol kezdeni.egyszerub dolgok,mint például kalkulator meg ilyenek mennek.a maximum egy kis játékocska.
azért kellene ez az install,mert csinálunk a haverokkal,egy progit v.mi versenyre.... nem terhelnék senkit ezzel,de dobhatnátok egy hasznos linket...<#alien><#merges3><#ravasz1>
rushman
#98
máshogy értelmeztük, számomra pongyola

rushman
#97
elsõ kérdésre:
a screen objektum tartalmazza az aktuális képernyõméretet pixelben. Tehát a Screen.Widht illetve Height által ki lehet számolni a képernyõfelbontást, innen már csak át kell méretezned az aktuális formot futásidõben. (probléma lehet a vezérlõk helyzete a formon, mert azok nem mozdulnak form átméretezéskor!)

második kérdésre:
legegyszerûbben a winsock-al, (Microsoft WinSock Control lásd CTRL+T) annak van egy LocalIP tulajdonsága ami a helyi gép IP címét adja vissza.

SaintSavin
#96
Sziasztok!

A következõ probléma megoldásában kérem a sagítségeteket: Készítettem egy progit, VB5ben, egy egyablakos alkalmazást. Én otthon a monitorom 1280x1024ben használom, de ahova telepítve lett a rendszer, más felbotásokat alkalmaznak. Ennek köszönhetõen, kisebb, nagyobb részek nem látszanak a felhasználói felületbõl.
Milyen megoldásokkal lehetne ezen változtatni?

Egy dolgot, próbáltam, hogy az ablak méretétõl függõen berendezem egymás mellé, vagy alá az objektumokat, de ez sem elegendõ megoldás.
Esetleg létezik valamilyen scale, amit alkalmazni lehetne, vagy egyáltalán mi erre az elegáns megoldás?

Egy másik programommal kapcsolatban, egy másik kérdés.😊 Van e lehetõség beolvasni valamilyen gépazonosítót? Arra lennék kíváncsi, hogy hogyan tudnám a progival megnézni azon gép IP címét, amin éppen fut. Vagy bármilyen másik azonosító jó lenne amivel be lehet lõni, hogy egy belsõ hálón melyik géprõl van szó.

dokar
#95
De hiszen az installerre ott a varázsló a visual studioban!

CPU Tuning Toplista http://cputuning.net

rushman
#94
ez nem ilyen egyszerû, egy uninstaller programot csak egy installer-el együtt érdemes csinálni, az meg nem egy beginner feladat

a progress bar mûködése egyszerû, a min és a max közti értéket mutatja futásidõben.

Palinko
#93
hogy lehet egy uninstallt szerkeszteni VB-ben?gondolm,hogy ramegy a toroll gombra es mondjuk kitorli a program filesbõl ezt meg azt....
vagy ha a telepitesre megy ra,akkor hogy mondom meg,hogy mit hova masoljon.meg az a szazalek csik is erdekelne....

elore is kossz a segitseget!
dokar
#92
szerdán veszek új procit, alaplapot, memet, ha utána is fennáll a probléma akkor télleg gáz van.

a kód csak ennyi:
timerben: form1.print randomcucc, form1.refresh
100ms az idõzítés

CPU Tuning Toplista http://cputuning.net

rushman
#91
akkor a memóriakezeléssel lehet a baj, láthatnám a kódot?

dokar
#90
"ez akkor következik be , amikor lefut a cls?" igen, vagy a refresh

CPU Tuning Toplista http://cputuning.net