2014. április 20., vasárnap

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Visual Basic

Hozzászólások

(#2401) martonx válasza bepken (#2400) üzenetére


martonx
(őstag)

hú ez az "azonFind" borzasztóan szúrja a szemem. Vagy legyen minden elnevezés angol, vagy legyen magyar, de ez a keverés, ez borzasztó.

HOPPÁ!

(#2402) bepken válasza martonx (#2401) üzenetére


bepken
(őstag)
LOGOUT blog

próbáltam kicsit egyszerűsíteni - saját magamnak - mivel ez az első vb program, amivel próbálkoznék :)
más kezéből egem is irritál az ilyen "felemás" munka, úgyhogy átérzem az ellenszenvedet ;]

valami ötlet esetleg a kérdésemre? :)

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2403) martonx válasza bepken (#2402) üzenetére


martonx
(őstag)

Bocs, winforms, meg access adatbázist hál istennek már nagyon sok éve nem használtam.
De ahogy olyan 2005 környékéről rémlik, eléggé faék egyszerűségű volt az access db-jét használni (kivéve 64 biten, nem tudom, hogy ez időközben változott-e).

HOPPÁ!

(#2404) bepken


bepken
(őstag)
LOGOUT blog

akkor ismét lenne pár kérdésem:

- hogy lehet azt megoldani, hogy a TextBox-ba beírt szövegre az enter billentyűt lenyomva is rá tudjak keresni? gondolom a TextBox-hoz kell hozzárendelni ezt:

Private Sub txtFind_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtFind.Enter

End Sub

valahogy így kell nekikezdeni? ha ide beírom ugyanazt a feltételt, amit a "Keres" gombnál működik, akkor sem akar összejönni valamiért...

- a másik kérdésem pedig az volna, hogyan tudnám megoldani azt, hogy egy a vágólapra felvett számot adott formátumra "átalakítsa"?
tehát mondjuk egy telefonszám esetében törölje a felesleges szóközöket vagy "/ - +" karaktereket

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2405) bepken válasza bepken (#2404) üzenetére


bepken
(őstag)
LOGOUT blog

rendben, az egyik kipiálva:

a Form1 tulajdonságainál >>"KeyPreview = True"

majd:
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

If Asc(e.KeyChar) = 13 Then
Me.dataBindingSource.Filter = "[number] = '" & Me.txtFind.Text & " ' "
End If

a másik kérdésemre viszont egyelőre nem találtam megoldást...

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2406) sztanozs válasza bepken (#2405) üzenetére


sztanozs
(senior tag)
LOGOUT blog

Az Enter esemény az nem az, amikor entert nyomsz.
Azt így tudod megccsinálni, ahogy írtad. Esetleg még Validate-tel - de ott ha be van állítva, hogy validate on focus lost (vagy valami hasonló), akkor akkor is lefut a validate, ha kikantitasz a mezőből (vagy Tab-bal tovább mész).

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a saját véleményemet tükrözik, nem pedig a munkáltatómét...

(#2407) vilag


vilag
(tag)

Office 2003-hoz tarozó VBA-ban használtam az "Application.FileSearch" funkciót, azonban az Office 2007-hez tartozó VBA-ban ilyen már nincs.

Tudja esetleg valaki, hogy mi van helyette, mert eddig én nem találtam meg.

Előre is köszönöm!

(#2408) emitter válasza vilag (#2407) üzenetére


emitter
(őstag)
LOGOUT blog

remélem, itt találsz segítséget:
[link]

(#2409) vilag válasza emitter (#2408) üzenetére


vilag
(tag)

Inkább lehet, hogy ezt óbálom meg akítani:

[link]

Egész használhatónak tűnik.

(#2410) vilag


vilag
(tag)

Csak egy bajom van, az, hogy a Refereciákhoz hozzá kell adni a következőt:
Microsoft Scripting Runtime

Meg lehet valahogy oldani, hogy ez a hozzáadás programkódból történjen?

Sajnos a makrórögzítés semmit nem vett fel.
Fontos lenne, hogy ezt le tudjam vezérelni, mert a programot mások is használják, és hát nem hiszem, hogy mindenki el tudja végezni ezt a műveletet.

(#2411) bepken válasza bepken (#2405) üzenetére


bepken
(őstag)
LOGOUT blog

azt hiszem, a telefonszám "konvertálást" is sikerült megoldani, bár a gyakorlatban még csak pár példával próbálkoztam:

Private Sub btnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFind.Click

txtFind.Paste()
txtFind.Text = Replace(txtFind.Text, " ", "")
txtFind.Text = Replace(txtFind.Text, "/", "")
txtFind.Text = Replace(txtFind.Text, "(", "")
txtFind.Text = Replace(txtFind.Text, ")", "")
txtFind.Text = Replace(txtFind.Text, "-", "")
txtFind.Text = Replace(txtFind.Text, "+", "")

If txtFind.TextLength > 7 Then

If txtFind.Text.StartsWith("06") Then
txtFind.Text = txtFind.Text.Substring(2)
End If
If txtFind.Text.StartsWith("36") Then
txtFind.Text = txtFind.Text.Substring(2)
End If

End If

TelBindingSource.Filter = "[tel] = '" & Me.txtFind.Text & " ' "
End Sub

így elviekben a vágólapra vett (legtöbbször keszekusza formátumú) számokat szépen "letisztítja" és ezután keres az adatbázisban

mennyire elegáns ez így szerintetek?

illetve arra nem jöttem még rá, hogyan lehetne megoldani, hogy a TextBox-ban található értéket minden alkalommal alapból felülírja.
nem hozott megoldást az sem, ha beállítottam, hogy 7 karakter hosszú legyen a TextBox, mert ekkor alapból az első 7 karaktert kezdte vizsgálni, ami meg ugye esetemben nem igazán előnyös...

[ Szerkesztve ]

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2412) martonx válasza bepken (#2411) üzenetére


martonx
(őstag)

Regexp-el szebb és gyorsabb lenne, de így is jó. Csak ha már véleményt kértél.

HOPPÁ!

(#2413) bepken válasza martonx (#2412) üzenetére


bepken
(őstag)
LOGOUT blog

köszi! utánaolvasok majd, hogyan kell használni - mert gyorsan rákeresve nem igazán fogtam fel a lényegét :)

igazából még két dolgot kellene megoldanom a teljes lelki-béke eléréséhez:
1. az fent említett karakter felülírást (ezt szerintem meg fogom találni guglival)
2. ha a keresett érték szerepel a csatolt adatbázisban, azt jelezze. - találtam olyan kódot, amivel elértem, hogy msgbox-ként felugorjon a "hibaüzenet", de nekem label-be lenne ideális (ne kelljen feleslegesen ok gombra kattintgatni)...és valamiért ez nem akar összejönni.

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2414) cigam


cigam
(PH! nagyúr)
LOGOUT blog

Csináltam egy stoppert. Azt szeretném, hogy billentyűzettel is lehessen vezérelni, de nem tudom hogyan. Amit találtam példakódot nem működik:

Public Class Form1
Dim perc As String = "00"
Dim masodperc As String = "00"
Dim idoszoveg As String = "00:00"

Private Sub ido_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ido.KeyDown

If e.KeyCode = Keys.F1 Then Timer1.Start()
End Sub
Private Sub startgomb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles startgomb.Click
Timer1.Start()
End Sub

Private Sub stopgomb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles stopgomb.Click
Timer1.Stop()
End Sub

Private Sub resetgomb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles resetgomb.Click
perc = "00"
masodperc = "00"
idoszoveg = "00:00"
ido.Text = idoszoveg
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
masodperc += 1
If masodperc = "60" Then
masodperc = "0"
perc += 1
If perc < 10 Then perc = "0" & perc
End If
If masodperc < 10 Then masodperc = "0" & masodperc
idoszoveg = perc & ":" & masodperc
If perc = "100" Then
perc = "00"
masodperc = "00"
idoszoveg = "00:00"
End If
ido.Text = idoszoveg
End Sub
End Class

[ Szerkesztve ]

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2415) martonx válasza cigam (#2414) üzenetére


martonx
(őstag)

Mi nem működik benne? A formon beállítottad, hogy figyeljen a billentyű lenyomásokra?

HOPPÁ!

(#2416) cigam válasza martonx (#2415) üzenetére


cigam
(PH! nagyúr)
LOGOUT blog

Hiába ütöm le az F1-et, nem indul el a stopper.
A form billentyűfigyelését hol kell beállítani?

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2417) bepken


bepken
(őstag)
LOGOUT blog

sziasztok!

a következő problémám volna:
teljesen elölről kezdtem a kis művemet, ezúttal külső adatbázisra hivatkozik és ez kellően meg is bonyolította számomra a dolgokat...

így néz ki a kereső gomb click event:

Private Sub btnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFind.Click

'telefonszám szövegének formázása
txtTelNumber.Text = ""
txtTelNumber.Paste()
txtTelNumber.Text = Replace(txtTelNumber.Text, " ", "")
txtTelNumber.Text = Replace(txtTelNumber.Text, "/", "")
txtTelNumber.Text = Replace(txtTelNumber.Text, "(", "")
txtTelNumber.Text = Replace(txtTelNumber.Text, ")", "")
txtTelNumber.Text = Replace(txtTelNumber.Text, "-", "")
txtTelNumber.Text = Replace(txtTelNumber.Text, "+", "")

If txtTelNumber.TextLength > 7 Then

If txtTelNumber.Text.StartsWith("06") Then
txtTelNumber.Text = txtTelNumber.Text.Substring(2)
End If
If txtTelNumber.Text.StartsWith("36") Then
txtTelNumber.Text = txtTelNumber.Text.Substring(2)
End If
End If

con.Open()
sql = "SELECT [tel] from tel"
da.Fill(ds, "tel")
con.Close()

For index = 0 To ds.Tables("tel").Rows.Count - 1
Dim dt As DataTable
dt = ds.Tables("tel")

If txtTelNumber.Text = ds.Tables("tel").Rows(index).Item("tel") Then
lbTelNum.Text = ds.Tables("tel").Rows(index).Item("tel")
Else
lbTelNum.Text = ""
End If

If lbTelNum.Text = "" Then
lbTelNum.Text = ""
lbExist.Text = ""
Else
Me.lbTelNum.Text = Me.lbTelNum.Text
Me.lbExist.Text = "Már létezik!"
End If
Next
End Sub

a cél továbbra is az volna, hogy a textbox-ba beírt számot keresse meg az access táblában, majd ha megtalálja, azt jelezze.

ez ugye most úgy néz ki, hogy ha a "txtTelNumber" mezőbe beírt szám benne van a táblában, annak értéke kerüljön át az "lbTelNum" mezőbe (és mellette az "lbExist" is írjon ki valamit) >> hogyha a "lbTelNum" üres, akkor egyszerűen nullázza ki ezt a két mezőt.

a gyakorlatban ez működik is, de csak az első érték beadásakor....ha jól sejtem, az lehet a gond, hogy a következő kattintáskor már nem fut le a ciklus.
próbáltam Else ágon újra beadni neki ugyanezt a ciklust, de csúnyán megakasztottam vele a gépet, úgyhogy valószínűnek tartom, hogy nem az lesz a megoldás... :D

várom az ötleteket, véleményeket! :)

_____________________________________________________

szerk.:
cigam!

a Form_Load részhez írd be:
KeyPreview = True

[ Szerkesztve ]

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2418) cigam válasza bepken (#2417) üzenetére


cigam
(PH! nagyúr)
LOGOUT blog

a Form_Load részhez? :B
1 hete ismerkedem a VB2010expressel, semmi nem evidencia.

Viszont most megint átnéztem jobboldalt a properties ablakban a "Form1 System.Windows.Forms.Form" listájában a "KeyDown"-hoz tudtam társítani az "ido_KeyDown" szubrutint, és most működik!

- A form load részt hol találom, és a program "melyik része" ez?
- Ez a "Form1 System.Windows.Forms.Form" micsuda?

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2419) cigam válasza cigam (#2418) üzenetére


cigam
(PH! nagyúr)
LOGOUT blog

Közben szintén a properties ablakban megtaláltam a keypreview-et, de már true-ra állítottam :)

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2420) martonx válasza cigam (#2419) üzenetére


martonx
(őstag)

na látod megy ez. ;) Bevallom olyan 2005 környéke óta a windows forms közelébe se mentem, így csak távoli ködös emlékképekből próbálok felidézni pár akkori tipikus hibámat, és azok megoldását.

HOPPÁ!

(#2421) cigam válasza martonx (#2420) üzenetére


cigam
(PH! nagyúr)
LOGOUT blog

Köszi a tippeket! Majd csak kitanulom ...

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2422) martonx válasza cigam (#2421) üzenetére


martonx
(őstag)

A vicc az, hogy mire kitanulod már mozdulhatsz is tovább a frissebb technológiák felé (wpf, asp.net, win8 metro).
Szóval én a helyedben túl sok energiát nem fektetnék egy már 5 -10 évvel ezelőtt is elavult technológiába.

HOPPÁ!

(#2423) bepken válasza cigam (#2418) üzenetére


bepken
(őstag)
LOGOUT blog

ja hát én meg ~2 hete, szóval túl sokat én sem tudok segíteni, csak abban, amilyen problémával én is találkoztam eddig :DDD

nálam a billentyű figyelés így néz ki:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
KeyPreview = True

....

tehát (az én olvasatomban legalábbis), ha az adott form aktív, akkor figyeli a leütött billentyűket

illetve van egy "KeyPress" event is:

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

If Asc(e.KeyChar) = 13 Then

....

ez meg az Enter billentyűt várja (ASCII kód: 13)

egyébként engem kifejezetten zavar, hogy sok dolgot a properties résznél és magában a kódban is meg lehet adni...pontosabban az, hogy a properties résznél már beállított értékek nem derülnek ki a kódból. vagy ezzel csak én vagyok így?

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2424) cigam válasza bepken (#2423) üzenetére


cigam
(PH! nagyúr)
LOGOUT blog

Nem, ez engem is zavar tegnap óta :D

Vissza akarom kapni a régi jó BASIC nyelvet "visual" nélkül. Eszméletlen miket csináltunk anno a a 8bites otthoni gépekkell...

martonx

Nem valószínű, hogy továbblépek. Az otthoni apróságok, és kissebb céges, a munkámat megkönnyítő programocskákat faragok a magam szórakoztatására. Ez a stopper sem több mint 20-30 sor, mégis elvarázsol mire (vagyok) képes.
A továbblépés azért is kétséges, mert pénzt nem adok értük, és nem is keresek velük. Szórakozásnak meg pöttyet drágák, és tényleg nem használnám ki. Jelenleg elég távolinak tűnik, hogy az VBexpress korlátaiba ütközzek. Bár kíváncsi vagyok, hogy egy WindowsPhone program, (pl. ez a stopper) mennyivel bonyolultabb.

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2425) martonx válasza bepken (#2423) üzenetére


martonx
(őstag)

"egyébként engem kifejezetten zavar, hogy sok dolgot a properties résznél és magában a kódban is meg lehet adni...pontosabban az, hogy a properties résznél már beállított értékek nem derülnek ki a kódból. vagy ezzel csak én vagyok így?"

Ez szvsz előny. Jellemzően sokkal jobban szeretek varázslóval kattintgatni (pár linux-os konzol buzin kívül az emberiség 99,99%-a ugyanígy van ezzel). Ugyanakkor csomó olyan eset létezik, amikor muszáj kódból lekezelned a dinamikusan létrehozott formjaidat, ekkor nagy előny, hogy kétféle megközelítéssel is dolgozhatsz.
A kódból pedig minden kiderül, ugyanis lekérdezhető.

HOPPÁ!

(#2426) martonx válasza cigam (#2424) üzenetére


martonx
(őstag)

"Vissza akarom kapni a régi jó BASIC nyelvet "visual" nélkül. Eszméletlen miket csináltunk anno a a 8bites otthoni gépekkell..."

Hál'istennek azért a világ néha fejlődik is, gyakran csak nagy köröket fut a fejlődés, de azért egy vb.net-et összehasonlítva egy C64-es BASIC-el a fejlődés igen szembeötlő.

"A továbblépés azért is kétséges, mert pénzt nem adok értük, és nem is keresek velük. Szórakozásnak meg pöttyet drágák, és tényleg nem használnám ki."

Oké, nekem tök mindegy miben programozol, ízlések és pofonok. Viszont legalább ne írj butaságot, hogy azért nem akarsz továbblépni, mert drágák, és nem adsz értük pénzt. Mi a drága egy ingyenes wpf-en? És egy ingyenes ASP.NET-en?
Szóval használj nyugodtan winforms, simán elég lehet sok mindenre. De legalább ne beszélj butaságot.

HOPPÁ!

(#2427) cigam válasza cigam (#2414) üzenetére


cigam
(PH! nagyúr)
LOGOUT blog

Hogyan tudnám optimalizálni a dolgot, hogy pl. a reset-et ne keljen újra lekódolni?
...
If e.KeyCode = Keys.F3 Then
perc = "00"
masodperc = "00"
idoszoveg = "00:00"
ido.Text = idoszoveg
End if
....
Private Sub resetgomb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles resetgomb.Click
perc = "00"
masodperc = "00"
idoszoveg = "00:00"
ido.Text = idoszoveg
End Sun

Vagyis milyen parancsal tudom meghívni a "resetgomb_Clik" rutint?
If e.KeyCode = Keys.F3 Then resetgomb_Click()?

[ Szerkesztve ]

"Nem értek egyet azzal, amit mondasz, de életem végéig harcolni fogok azért, hogy mondhasd."

(#2428) martonx válasza cigam (#2427) üzenetére


martonx
(őstag)

Erre valóak a metódusok, függvények. A kérdéses kódrészletet kiemeled egy public izé ResetButtons (...) függvénybe, és azt hívod meg a kérdéses helyeken.

HOPPÁ!

(#2429) bepken válasza martonx (#2425) üzenetére


bepken
(őstag)
LOGOUT blog

igazad van :) sőt! igazából, amikor belefogtam ebbe a kis programba, még azt hittem, ennyit se kell majd a kóddal foglalkoznom... :D

egy verziót már sikerült megcsinálnom a varázsló segítségével - tehát csak importáltam a táblát, betettem azt az egy szövegdobozt, majd megadtam neki a forrást. szóval valóban sokkal kényelmesebb volt na.

[ Szerkesztve ]

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2430) óbébai


óbébai
(újonc)

Sziasztok!
Hogyan kell munkafüzetet (excel) váltani makróval. Lehetne-e egy cellában megjelenő munkafüzet nevet használni?
Az a probléma, hogy több munkafüzethez is használni kellene, de mindegyiknek más a neve, csak az a munkafüzet azonos, ahonnan indítanám a makrót.
Arra gondoltam, hogy egy legördülő listából kiválasztom azt a munkafüzetet amelyikre váltani kellene.
Mielőtt valaki szóvá tenné, hogy ennek mi az értelme? Csak annyi, hogy így lehetne egy ciklussal átpakolni adatokat.
Üdv

(#2431) sztanozs válasza óbébai (#2430) üzenetére


sztanozs
(senior tag)
LOGOUT blog

Nem kell megjeleníteni a munkafüzetet amibe vagy amiből át akarod rakni az adatokat.
Az összes munkafüzetet megtalálod az Application.Workbooks collection-ben, és a kiválaszott workbook adott worksheet-jéről tudsz másolni egy másik wokbook másik worksheet-jére.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a saját véleményemet tükrözik, nem pedig a munkáltatómét...

(#2432) bepken


bepken
(őstag)
LOGOUT blog

írtátok korábban, hogy a VB már nem igazán érdemli meg, hogy jobban beleássa magát az ember...
tehát az volna a kérdésem, hogy melyik az az alternatíva, amivel a VB-hez hasonlóan egyszerűbb programokat lehetne tervezni?

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2433) martonx válasza bepken (#2432) üzenetére


martonx
(őstag)

félreértés, nem a VB-vel van gond, hanem a winforms-sal.
Pontosabban gond ezzel sincs, csak már lassan 10 éve legacy állapotban létezik. És persze lész még 10 év múlva is, de minek most elkezdeni bárkinek is beleásni magát egy legacy technológiába?

Amit javaslok helyette a WPF (legújabban windows store), de amit leginkább javaslok az az ASP.NET (MVC). Ezeket mind lehet VB-vel is használni, bár időközben a VB helyett erősen a C# terjedt el, ne lepődje meg, ha a tutorialok 80%-át csak C#-ban fogod találni.

HOPPÁ!

(#2434) bepken válasza martonx (#2433) üzenetére


bepken
(őstag)
LOGOUT blog

köszi! :)

suli kapcsán úgy is muszáj C-vel foglalkozzak...szóval lehet, hogy amúgy sem árt meg, ha inkább a C#-ba merülök el jobban.

persze azzal is tisztában vagyok, hogy ehhez még rengeteg alapozásra van szükség, csak az irányra voltam kíváncsi.

╔═══ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ══╗ ╠═══ Sony Xperia Sola - JB eXperience v2.1 by Divaksh ═══ Brainwavz R1 ═╝ ╚═══ képeim - flickr.com/photos/bepken ═══╝

(#2435) G.I.JOE


G.I.JOE
(senior tag)
LOGOUT blog

Helló!

Csak ismerkedek a VB-el és szeretnék egy egyszerű progit írni, ami excelből egy tabulátoros unicode txt-t csinál. Nos, az unicode-dal is van gondom (OpenTextFileWriter), de a fő bajom az, hogy ha VStudioból indítom a progit, akkor lefut rendesen, de ha a generált exe-t indítom el és eljut az excel műveletekig, akkor az "Nincs elég szabad memória ..." hibaüzenettel leáll.

Valami banális dolgot nem tudok?

Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim munkakonyvtar As String = "c:\" 'itt a forras excel es ide generalja az eredmenyfilet
Dim file = My.Computer.FileSystem.OpenTextFileWriter(munkakonyvtar + "test.txt", False) 'kimeneti file
Dim munkalap As String = "Munka1" 'a használandó munkalap neve az excelben
Dim sor As Integer = 6 'aktualis excel cella sorszama, kezdoertek az elso adat sor száma
Dim oszlop As Integer = 2 'aktualis excel cella oszlop
Dim cella As String = "" 'aktualis excel cella tartalma
Dim MH_sor As String = "" 'aktualis sor a kimeneti fileba


xlApp = New Excel.Application
xlWorkBook = xlApp.Workbooks.Open(munkakonyvtar + "test1.xlsx")
xlWorkSheet = xlWorkBook.Worksheets(munkalap)
cella = xlWorkSheet.Cells(sor, 1).value
Do While Len(Trim(cella)) > 0
MH_sor = xlWorkSheet.Cells(sor, 2).value + Chr(9) + xlWorkSheet.Cells(sor, 3).value + Chr(9) + xlWorkSheet.Cells(sor, 4).value
file.WriteLine(MH_sor)
sor = sor + 1
cella = xlWorkSheet.Cells(sor, 1).value
Loop
MsgBox("Kész!")

xlWorkBook.Save()
xlWorkBook.Close()
xlApp.Quit()
file.Close()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)

(#2436) martonx válasza G.I.JOE (#2435) üzenetére


martonx
(őstag)

Ez így nem tűnik rossznak első ránézésre.
A "Nincs elég szabad memória", nem lehet hogy azt jelenti, hogy tényleg nincs? Ugyanazon a gépen futtatod VS-ből, mint az exe-t?
Ha valami hiba történik a kódban mivel nem using-ot használsz, és nincs semmi hibakezelés benne, simán nyitva tudnak maradni az excelek. Egy idő után akár 20-30 párhuzamosan futó exceled is lehet.

HOPPÁ!

(#2437) G.I.JOE válasza martonx (#2436) üzenetére


G.I.JOE
(senior tag)
LOGOUT blog

Áhh, gép bekapcsolás utáni első indításkor is ezt írja ki. :(

Usinggal hogyan kellene?

[ Szerkesztve ]

(#2438) FranZi


FranZi
(újonc)

Sziasztok,
keresek First Imnpression Chart 32-bites OCX-et, vagy telepítőt, vcfi32.ocx
és
Apex True DBGrid-et, tdbg32.ocx-et, illetve telepítőt. Kő régi holmi, de most módosítanom kellene egy régi programot, ami Visual Basic 5.0-ban íródott.

Millió hála előre is... :R

Hirdetés

Útvonal

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