-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
ArchElf
addikt
Szia Himre82!
Nem lett még kész a progim, de apránként azért haladok vele.

Nem akartam leírni az egész problémát mert hát nem várom el senkitől, hogy megodja helyettem, és tulajdonképpen csak egy-egy részében akadok el mindig. Ezekre itt-ott mindig találok is megoldást, csak később mindig máshol futok hasonló zsákutcákba. Na de akkor már ezt is közkincs tárgyává teszem:
Sajna nem tudok sql servert használni, mert a progimat munkahelyi környezetben használnám majd, és ott nincs lehetőségem adatszolgáltatót üzemeltetni. :\ Ezért maradtam az access file-nál. Hogy ezt is magyarázzam egy picit, az Excel kezelésével a kollégák nagy része már találkozott, így nem okoz gondot nekik a táblák módosítgatása az eddig használt VBA makrós nyilvántartásban (...ezzel persze hibákat generálva a program futásában...). Tudom, itt is le lehetne védeni a munkalapokat jelszóval, de úgy gondoltam, ha már VB, akkor kicsit fejlesztem a tudásomat és gyakorlásképpen megpróbálom inkább megcsinálni az adatkezelő progit, ami már nem excel táblákat módosítgat, hanem igazi adatbázis motorra épül. (Most jöhetnek a kritikák, hogy akkor meg miért nem tisztán accessben csinálom meg? A kérdés jogos! A válsz: azért, mert tanulom a VB-t! Mivel nem szakmám a programozás, csak hobbi szinten űzöm! Szerintem ez is nagy dolog már, hogy idáig eljutottam önszorgalomból.) Az Exceles táblával amúgy azóta semmi gond nincs. Az első pár hiba után, amit manuálisan javítottam, elmagyaráztam többieknek, hogy mi okozta, és azóta mindenki rendesen használja, csak amikor azt megírtam, akkor még nem volt arra igény, hogy mind az állapotfigyelt, és mind a nem állapotfigyelt szerszámot egy rendszerben kezeljük. (A másik dolog, hogy a VB tudásom is sokat fejlődött azóta, és egy csomó dolgot már nem úgy csinálnék meg mint anno.)
Az SQL áttanulmányozása egyébként jó ötlet! Egyet is értek veled, de egyelőre megmaradnék az SQL alapoknál. Később biztos ráfekeszem majd erre is, ha még érdekel majd a dolog. Tényleg jó dolgokat meg lehet csinálni vele, az eddigi tudásoml már elég ahhoz, hogy ezt belássam.

Ha munkaállomás - és egyszerre egy felhasználós -, akkor szerintem az sqli a legegyszerűbb (ha nem kellenek bonyolult adattípusok és "fejlett" sql szerkezetek).
AE
-
ArchElf
addikt
Igen, ezzel csak az a baj, hogy ez rengeteg plusz melót igényel, tekintve, hogy minden egyes vezérlő Enter() eseményéhez meg kellene írni.
Az ActiveControl-al már próbákoztunk másik programban, hasonló ok miatt de az nem működik megfelelően.
Ha pl. van egy formod amin belül van egy frame, amint belül pedig egy vezérlő és a kurzor a vezérlőben villog, tehát elvileg ugye a vezérlő az aktív, az ActiveControl azt fogja eredményül adni, hogy az aktív kontrol a userform.
Ezúton is köszönjük neki. Így el nem tudom képzelni, hogy ez mire lehet jó.Egyébként találtunk akkor erre megoldást, de az hack volt.
Szóval nekem valami jóval egyszerűbb megoldásra lenne szükségem, mert a framen belül és kívül is van jónéhány vezérlő.
Üdv, vilag
A kevés munkás hack megoldás lesz a jó... [link]
AE
-
ArchElf
addikt
http://www.cpearson.com/excel/VBAArrays.htm
Ugyan továbbra is alapvető koncepcionális hibának tartom a tömbök erőltetését Excel makróban, mikor az egész excel egy nagy két dimenziós tömb, de itt hátha találasz megfelelő példa kódot.Ezzel azért vitatkoznék...

AE
-
ArchElf
addikt
Nem, nincs Access-hez ADO.NET csatoló. Amit tudsz esetleg csinálni, hogy felhúzol egy SQL Server Express-t és becsatolod az Access adatbázist, mint külső adatforrást (JET/OLE). Ha helyi fájl kell, használj inkább SQL adatfájlokat (mdf) vagy SQLite-ot.
AE
-
ArchElf
addikt
Neked lehet, hogy mindegy hogy VB6, vagy VB.NET, de sem technológia, sem környezet, sem terminológia szempontjából nem mindegy.
Azaz, ha neked mindegy, akkor VB.NET...AE
-
ArchElf
addikt
Nem kész kódot, csak valami struktúrát, amire lehet ilyen típusú feladatokat építeni és tudom hogy valami logika is van benne, mert mondjuk itt elég sok szaki van aki eltudná magyarázni hogy mit hogy csináljak meg.
Nem lenne bajom ezzel mert ha leülnék és napokat gondolkodnék rajta biztos kitalálnék valamit rá, de az emelt érettségin lesz kb 45 percem erre a részére a feladatsornak és ezért próbálom típus szerint begyakorolni a feladatokat. Ha a beolvasás megvan utána az ilyen a már beolvasott adatbázisban keresgélő és sorba rakó feladatokkal már nincs bajom.(félig) pszeudokódként:
public struct Adatok
{
public Date datom;
public String nev;
}
// ...
List<Adatok> adatlista = new List<Adatok>();
while( not eof )
{
Adatok adat = new Adatok();
a.datum = Date.Parse(sr.Readline());
a.nev = sr.Readline();
adatlista.Add(adat);
}AE
-
ArchElf
addikt
Úgy rémlik, hogy az automata üzenetküldö férgek letöréséért a nem Office-ból meghívott Outlook objektumok nem tudnak automatikusan levelt küldeni. Van valami registry beállítás (vagy group/local policy elem), amin keresztül ezt lehet engedélyezni. De nagyon rég volt már amikor ezzel szmbekerültem (6-7 éve), szóval egy kis googlizásba belekerül, mire megtalálom...
Esetleg próbáld meg C# (.NET) alkalmazással...
AE
MS oldala csak Office 2003-ig írja a támogatást - lehet, hogy Office-on kívül már nem működik... Passz.
És még ezt találtam.
AE
-
ArchElf
addikt
Szia
Private Sub Command1_Click()
Dim objOutlook, objMail, oAddSig
Set objOutlook = CreateObject("Outlook.Application")
objOutlook.Session.Logon
Set objMail = objOutlook.CreateItem(olMailItem)
Set objOutlook = objMail.GetInspector
With objMail
.SentOnBehalfOfName = "nemazennevem@valami.hu"
.To = "to"
.Cc = "cc"
.Subject = "Subject"
.Body = "body"
.Display
End With
Set objOutlook = Nothing
Set objMail = Nothing
End SubOutlook2007-nél átírja a feladót, Excelből indítva 2010-nél is.
HTML-ből, vagy VB6-tal csinált exe-nél már nem.
2010-nél egy lenyíló listából tudom kiválasztani az eddig használt feladókat. Lehet, hogy itt valami objektumként kezeli már?Úgy rémlik, hogy az automata üzenetküldö férgek letöréséért a nem Office-ból meghívott Outlook objektumok nem tudnak automatikusan levelt küldeni. Van valami registry beállítás (vagy group/local policy elem), amin keresztül ezt lehet engedélyezni. De nagyon rég volt már amikor ezzel szmbekerültem (6-7 éve), szóval egy kis googlizásba belekerül, mire megtalálom...
Esetleg próbáld meg C# (.NET) alkalmazással...
AE
-
ArchElf
addikt
A VBS (VB Script), a VBA (VB for Applications) és a VB6 szintaktikailag (és a használt metódusok, osztályok alapján is) nagyon hasonló - de nem teljes mértékben átjárható. Ha teszel fel példát, talán megtaláljuk, miért nem megy.
AE
-
ArchElf
addikt
Van egy rutin ami egy gomb megnyomására az egyes vezérlők tartalmát elkezdi egyesével kiirkálni az excel tábal megfelel cellájába.
Most azt vettem észre, hogy a két évszámos vezérlő (CB4 és CB7) change minden egyes alkalommal lefut amikor egy-egy érték kiíródik az excel tábla.
Esetleg ez megvilágosít nálad valamit?Bocsi, ezek most cellák, vagy vezérlők?
Amúgy a cellafrissítések automatikus lefutását kódból ki lehet tiltani, amíg az problémákat okozhat.
[link]AE
-
ArchElf
addikt
Sziasztok
Van egy HTML űrlapom, amit VBA (vagyVBS... mittomén
) dolgoz fel.
Nem találom, hogy miként tudnék dolgozni a kijelölt radio button értékével.<label>
<input type="radio" name="szin" value="Fekete">
Fekete </label>
<br>
<label>
<input type="radio" name="szin" value="Fehér">
Fehér </label>Hogyan tudnám változóként kezelni, hogy mit jelölünk ki?
Select esetén működik a document.getElementById("orszagok").value
<label for="orszagok">Válasszon országot:</label>
<select name="orszagok" id="orszagok">
<option value="HU">Magyarország</option>
<option value="AT">Ausztria</option>
<option value="BE">Belgium</option>
<option value="BG">Bulgária</option>
</select>Vannak olyan esetek, amikor a radio Button jobb lenne.
Előre is köszönöm.
document.getElementById("orszagok").value
RadioButton esetén is működik, ha van ID property-je... Nálad nem volt.Amúgy meg RadioButtonra ott a
document.getElementsByName("szin")
Ezen egy foreach-el végignyomulsz, és megnézed melyik value melett igaz a checked property...AE
-
ArchElf
addikt
-
ArchElf
addikt
Üdv.!
Szeretnék a monitoron információt megjeleníteni a futó VB script program állapotáról. Amit eddig találtam ,az a MsgBox strFolder, 64 függvény, aminél sajnos legalább az "OK" gombot nem tudom elhagyni, ezzel viszont a program várakozik amíg nem klikkelek.
Oda-vissza végignéztem az összes funkciót, lehetséges paramétereit, file-ba tudnék írni, de a monitorra nem. (Igaziból a dobozra sem lenne szükségem, csak egy sorra, amit állandóan felülírhatok az aktuálisan feldolgozott alkönyvtár nevével, vagy egy sorszámmal, aktuális idővel...)
A VB Script programot a CHIP magazin 2008 júliusi számából másoltam ki, csekély módosítással a DVD olvasóban lévő DVD file-jait listázza egy csv file-ba. Ezt a kijelzést azért szeretném beletenni, mert igen lassan fut, a DVD olvasó LED-je se jelez vissza és jó lenne, ha információt kapnék arról, hogy rendben dolgozik.
Kell csinálnod egy új formot, amit megjelenítesz a Show paranccsal, és az azon elhelyezett kontrolloknak már tudod az értékét módosítani (textboxnál szöveg, progressbar-nál érték, stb...)
MsgBox kifejezetten egyszeri (hiba-)üzenetek megjelenítésére való.AE
-
ArchElf
addikt
Sziasztok! Kezdő-középhaladó programozó vagyok, és az alábbi témában elkadtam:
Írtam egy progit (most mindegy, hogy mit), amelyet szeretnék serial kóddal védeni. Egy hasonló progiban láttam egy olyan megoldást, hogy a telepítés utáni első indításkor a progi kiír egy kulcsot, majd ezt megküldve a progi készítőjének visszakapunk egy aktiváló kódot. Ezt beírva a megfelelő helyre lesz teljes értékű a progi.
Nekem nagyon tetszik ez a megoldás, én is ezt szeretném megcsinálni, csak érdekelne az elv, tehát nem a konkrét leprogramozás, hanem az elv.
Az első indításkor egy ilyen formárumú kulcs jön létre: QFQQYT-SBKBRI-3-CABBAC. Az érdekessége az, hogy ha az aktiválás után a windowst újra telepítik, illetve a progi is ismételten felkerül az újratelepített win alá, akkor is ugyanezt a kulcsot készíti a progi az első indításkor, tehát az egyszer már aktivált progi ugyanarra a gépre ismételten teljesen működővé tehető, viszont másik gépre történő telepítéskor már természetesen más kulcs készül.
Ez a kulcs minek (esetleg hardvernek?) lehet a sorozatszáma, hiszen ránézésre nem HDD serial, illetve nem is VSN (partíció kötetszám).Köszi a válaszokat.
Ui.: Azért ebbe a topikba írtam, mert az eredeti progi is Visual Basic-ben készült.
Általában az elérhető HW/SW sorozatszámokból készít egy hash-t amit valami olvasható formába alakít (mint amit te is írtál), az lesz a kulcs és abból a kulcsból generálja a cég válaszkulcsot.
Nem közvetlenül használja fel az elérhető hw/sw kulcsokat, hiszen akkor túl könnyű dolga lenne a próbálkozóknak.AE
-
ArchElf
addikt
-
ArchElf
addikt
-
ArchElf
addikt
Igazából már muszáj "makrobizni", mert userformon fog történni minden, ez csak egy apró szeletet volt a dolognak. Mindössze enélkül nem lett volna értelme folytatni, mert később újra kellett volna írnom az egészet.
A megoldás ez lett (bár gondolom az előzőekből nektek ez már nemigen lesz újdonság):
név = Application.WorksheetFunction.Match("Név", ThisWorkbook.Sheets("gtorzs").Range("1:1"), 0)Listboxal kapcsolatban viszont lenne egy érdekes kérdésem, amelyre eddig önerőből nem találtam választ.
A listbox ugye egy kijelölt excel tartományt "mutat meg". Azt viszont, hogyan lehet megoldani, hogy az egyesített cellák is egyesítettként jelenjenek meg benne?Pl. excel táblában van nekem egy fejléc oszlopom ami viselje pl a következő nevet: "Születési dátum", viszont ez három oszlop (év, hónap, nap) fejléce. A listboxban viszont úgy jelenik meg, hogy az év oszlop felett van a "Születési dátum", a másik kettő felett pedig üres cella (elválasztó vonallal mindennel együtt).
Ötlet?
Abból amit korábban leítál nekem egyáltalán nem az jött le, hogy a te címsorban szeretnél keresni és nem a tartalmoban...
AE
-
ArchElf
addikt
Üdv!
Esetleg mit szóltok az excel "hol.van" (match) függvényére. Nekem úgy tűnik használható lenne az adott problémára.
Az ötlet egyébként a kollégámé, őt illeti a dícséret.
Microsoft excel súgó:
"A függvény egy olyan elem tömbben elfoglalt relatív pozícióját adja vissza, amely megadott értékkel megadott módon egyezik. A HOL.VAN abban különbözik a többi kereső függvénytől, hogy a megtalált elem helyét adja meg, és nem magát az elemet.Szintaxis
HOL.VAN(keresési_érték;tábla;egyezés_típus)
Keresési_érték: Az az érték, amelynek segítségével a táblázatban a keresett érték megtalálható."
Igen, és a Match elfogad wildcard-ot is (* és ?)
AE
-
ArchElf
addikt
C és VBA közti alapvető különbségek:
nincs { }
nincs ; a sor végén
nincs == helyette is = kell
nincs != helyette <> kell
nincs return, hanem Exit Funtion és Exit Sub
a visszaadandó értéket Function esetén a funkció nevének megfelelő változóba (nem kell inicializálni) kell tenni.
For-nak Next a párja, a break pedig az Exit For (continue nincs se for-ban, se loop-ban)
nem
if ( ... )
{ ... }
else
{ ... }
hanem
If ... Then
...
Else
...
End Ifnem
while (...)
{ ... } hanem
do while (...)
...
loop
ha egy metódus Sub és nem Function akkor nincs visszaadott érték és nem kell az argumentumokat zárójelbe tenni
Nem kell a változókat inicializálni (kivéve az osztályokat).+ van help, a metódusokat meg lehet találni benne
AE
-
ArchElf
addikt
Sziasztok
Lenne egy pár nagyon alap feladat, amit az öcsémnek meg kellene csinálnia. Én a vba-t nem vágom, ezért fordulok hozzátok, hogy le tudjam ellenőrizni. Nagyon fontos lenne

1.feladat:Írasd ki egy kollekció összes elemnének a nevét!
2.feladat:Az első 100 páratlan számot add össze!
3.feladat:Írj eljárást, ami az összes cellát nagybetűssé teszi!
4.feladat:Írj eljárást, ami paraméterként kap két fájlt, és az első fájl tartalmát belemásolja a másodikba!Köszönöm előre is a segítséget

üdv
DávidLinkeld be a megoldásaid (amit felraksz monjuk a pastebin-re) és ha nem megy, megmondjuk mi bennük a gond.
AE
-
ArchElf
addikt
Hát, ha akkor tartozott és a szerződés szerint az aktuális kamatláb az irányadó, akkor az akkori értékekkel kell kiszámolni (már ha a szerződés pl az írja elő, hogy havonta kell nyilvántartani a tartozás mértékét).
AE
-
ArchElf
addikt
Elméletileg mindig az elszámolás napján (havi elszámolásnál mindig a hónap fix napján, éves elszámolásnál az év fix napján; stb.) érvényes kamatlábbal kell számolni.
AE
-
ArchElf
addikt
Helló,
Kösz az ötleteket, sajnos a megoldás nem ez lett.
Nem értem, hogy miért, de annak ellenére, hogy egy alőző sorban aktiválom (mindegy, hogy .select vagy .activate-el) a cél munkalapot, a rows(n).select sort csak úgy fogadja el, hogy előtte a munkalapot is beírom.
Ez működik:
Worksheets("missing cost centers").Activate
Worksheets("missing cost centers").Rows(n).SelectEz nem működik:
Worksheets("missing cost centers").Activate
Rows(n).Select (Rows(CStr(n) & ":" & CStr(n)).Select -el sem)A makrót ugyan a forrás munkalaphoz hoztam létre, de ha ez a baj, akkor sem értem a hibaüzenetet. Ha a cél munkalap aktiválása a sor kiválasztás sorra már nem hat, akkor miért nem választja ki az n. sort az anya-(forrás)munkalapon???
Úgy látszik itt még bőven van mit megtanulni a hivatkozásokról, mert a hétköznapi logika alapján ez elég katyvasz.
Egyébként kösz a tippeket, a cellánkénti másolás és a képernyőfrissítés kikapcsolása is hasznomra lesz még.

Derűs, dolgos munkanapot
Használd akkor így:
Worksheets("missing cost centers").Activate
ActiveWorksheet.Rows(n).Select(vagy ActiveSheet - fejből nem tudom...)
AE
-
ArchElf
addikt
nos nem tudom mit jelent az pontosan, hogy létezik-e ezen a helyen, de miután deklaráltam, és még értéket is adtam neki ugyanezen subrutinban, gondolom létezik. ha más nem, értékadásnál már nyafogott volna, hogy baja van, de az lefut.

Sub missing_cost_centers()
Dim i, n As Integer
i = 9
n = 2
Do
Sheets......Sheets("missing cost centers").Select 'cél munkalap
helyett lehet, hogy egy
Sheets("missing cost centers").Activate 'cél munkalap
kellene...AE
-
ArchElf
addikt
Egészbe:
Sub Main()
Dim ev As Integer
Dim szokoev As String
ev = 0
szokoev = ""
If Integer.TryParse(Console.ReadLine(), ev) Then
If (ev Mod 400 = 0) Then
szokoev = ""
ElseIf (ev Mod 100 = 0) Then
szokoev = "nem "
ElseIf (ev Mod 4 = 0) Then
szokoev = ""
Else
szokoev = "nem "
End If
Console.WriteLine("A {0}. év {1}szökőév.", ev, szokoev)
Else
Console.WriteLine("A beadott érték nem szám.")
End If
Console.ReadKey()
End SubC#-ban a % a VB-s MOD (egész osztás maradéka).
AE
-
ArchElf
addikt
-
ArchElf
addikt
-
ArchElf
addikt
Hali!
Kérnék egy kis segítséget.
Ezt a programot kellene megírni: Írjunk egy programot, amely az adott évről eldönti, hogy szökőév-e! Egy év szökőév, ha néggyel osztható, azonban a százzal osztható évek közül csak a négyszázzal is osztható évek a szökőévek!!VISUAL BASIC 2010 EXPRESS-ben kellene!!
PLS HELPHasból:
if (ev % 400 == 0) Then
szokoev = True
else if (ev % 100 == 0) Then
szokoev = False
else if (ev % 4 == 0) Then
szokoev = True
else
szokoev = False
end ifAE
-
ArchElf
addikt
Sziasztok! Új vagyok a fórumon. Nem tudom, hogy mennyire nehéz megvalósítani, de ha esetleg van valakinek valami ötlete, esetleg kész megoldása a problémámra azt szívesen fogadnám. A kérdésem excel makro programozása témakörhöz kapcsolódik.
Van két oszlop, az első oszlopban nevek vannak a másodikban meg a névhez tartozó adatok. Valahogy így:
név - adat
a - x
a - y
a - z
b - q
b - w
b - p
b - qEzen táblázatot úgy szeretném transzponálni, hogy a név (egy adott sorban) csak egyszer szerepeljen, és az adatok a sorokból, egymás mellé kerüljenek oszlopokba. Így:
a - x - y - z
b - q - w - p - qTöbb problémát is meg kellene így oldani a kódolásban:
- a kódnak figyelnie kell az azonos neveket, mivel valamelyik névhez lehet másik névhez meg akár 200 adat is tartozhat.
- ennek megfelelően az egymás mellé kerülő oszlopok száma is változik
- át kell rendeznie a táblázatot,a fenti formának megfelelően stb stb.Ha valakinek van erre ötlete, hogy miképpen lássak neki, esetleg kész kódja van ehhez azt megköszönném.
Erik
Excel topicban szerintem hamarabb találsz megoldást

AE
-
ArchElf
addikt
ember te nagyon diplomatikus vagy.

Cpt. Flint pedig nem attól hülye, hogy itt mi a rangja, hanem a kérdése minőségétől.
Értsd ha egy programozás fórumban megkérdezed, hogy miért piros a majom feneke, akkor nem azért fognak kiröhögni mert újoncként kérdezed. Sőt egy újoncnak még esetleg jobban el is néznek egy ilyen kérdést.
Devportálon meg prog.hu-n mostanában renike24 nick tud olyanokat kérdezni ASP.Net vonalon, hogy ajánlom mindenki figyelmébe, aki jót akar röhögni. Próbáltam volna rávezetni a megoldásra (tanulás, olvasás), de még én lettem leszólva, hogy miért nem mondom meg a megoldást.
Biztos én vagyok a bunkó, de egyszerűen valami hihetetlen mélységekből jönnek elő ezek a mai fiatalok.Nagylevegő, tízigszámol, kifúj...
Csuklást megszünteti
AE
-
ArchElf
addikt
nem vagyok fejlesztő. ez probléma? itt csak azok lehetnek tagok? mert akkor szorri, lelépek. autodidakta excel vba projekt író vagyok (mondjuk), félig kényszerből, félig szórakozásból.
Az angolom is hagy kívánnivalót maga után, úgyhogy ha nagy ritkán végképp nem találok valamire megoldást, akkor szoktam jólelkű fórumozókhoz fordulni. nyilván valszleg magában az objektumorientált programozás alapjaiban is vannak hiányosságaim, ezt vagy elnézitek nekem, vagy nem. ha nem, akkor nem válaszoltok, volt már ilyen.
ha egy többszázas google találati oldalt linkelsz, az nemigen ösztönzi az embert olvasásra. ettől függetlenül szemezgettem belőle, de az általad írtakat sajna pont nem találtam meg."- Ha egy függvény definíciójában van definiálva egy változó (vastaggal)
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
azt hiába definiálod előre, az adott függvényben az itt definiált "változat" fog élni."
most már érteni vélem (úgy látszik, mégis el tudod magyarázni ha van kedved, ugye nem is kellett hozzá olyan hatalmas energia). arra valóban nem gondoltam, hogy a KeyDown függvény paramétereiben voltaképp újradefiniálom a változót...
de nekem úgy tűnik, a csakszam-hoz már elég ez is: Sub csakszam(KeyCode, Shift)már látom, hogy mi volt a ByRef hiba oka; többféle változónévvel futottunk itt a példákban, aztán nem egyezett az átadott az átvettel. úgyhogy valóban, köszi, működik.
Az a GetActive nagyon frappáns ki hackelés
, mélységes hálám a visszafejtésért (vannak benne önmagukban is új/hasznos dolgok számomra); de hogy miért (csak) így működik, azt nem tudod véletlenül? Szerintem az ActiveControl így elég használhatatlan/bacsapós önmagában... nincs olyan utasítás, ami ténylegesen, közvetlenül, azonnal azt az egy darab, fókuszban levő vezérlőt adná eredményül?masked editre akkor semmi ötlet?

Azért olvasgass utána, jó?
Google keresést csak akkor szoktam linkelni, ha az első oldalon nagyrészt csak releváns találatok vannak. Ebben az esetben nem szükségszerűen VBA témakörben - mivel ez az alapelv majd minden fejlesztői nyelvre azonos.Amúgy em nagyképű itt általában senki (legalább is itt a programozás fórumon talán nem azok a befordult kockák vannak csak, mint máshol...) Másrész nem kell offenzívnek venni azt, hogy egyből az a reakció, hogy "hülyeségeket kérdezel". Attól még, hogy megsértödsz, hülye a kérdés - legalább is azt mutatja, hogy az alpokkal nagyon nem vagy tisztában. Nem probléma magában ez sem - csak nem kell feltétlen arra várni, hogy valaki megoldjon helyetted mindent - és nem kell érzelmi irányba terelni a dolgot, hiszen gyakorlati kérdésben jöttél.
Egy kis alázat nem árt, még ha nehezen is megy néha. Soha nem találkoztál az itt fórumozó emberekkel, és talán soha nem is fogsz - ha megvan a megoldás, vagy az oda vezető út, ne akadj fent azon, hogy valakinek rossz napja van. Itt mindenki önszántából magyarázná el (illetve - ha rossz napja van - éppen nem magyarázná el) 1001-szer az alapokat.Ha hobbi szinten csinálod, szánj rá - még - egy-két órát, és máris csak annyi hátrányban leszel, hogy nem tudod egyből hogy merre indulj el (nem pedig alapvető problémáid lesznek).
GetActive - ha vannak benne új dolgok (a használt TypeName függvény kivételével) - pl. rekurzió, típusok, akkor tényleg mielőbb keríts egy (alapszintű, bármilyen nyelvet bemutató) programozási könyvet. Nem bántásból mondom: 20-30 oldal után kész megvilágosodásban lesz részed, ha van érzéked a témához.
Sub csakszam(KeyCode, Shift) - ebben az esetben u.n. Varian típusra deklarálod a változókat (típus nélküli változó), ami az értékadáskor pontosítja a változó típusát. Használata mellőzendő, hacsak nem elkerülhetetlen - mivel növeli a kód bizonytalanságát. Ugyanez vonatkozik az Option Explicit-re is: célszerű használni, mert rákényszerít a pontosságra.
MaskedEdit VB6 kontrol, nem VBA (VB 6.5 = Visual Basic for Applications = gyak. Office VB). Azért nem találtad, mert valami egységcsomagban lenne benne (asszem MS Common Controls, vagy valami hasonló) - neten rá kell keresni és lehetőleg MS oldalról letölteni.
Azután ha megvan (feltelepítve), akkor először hozzá kell adni a References... hez, majd már használható lesz a kontroll-ok között.AE
-
ArchElf
addikt
ember te nagyon diplomatikus vagy.

Cpt. Flint pedig nem attól hülye, hogy itt mi a rangja, hanem a kérdése minőségétől.
Értsd ha egy programozás fórumban megkérdezed, hogy miért piros a majom feneke, akkor nem azért fognak kiröhögni mert újoncként kérdezed. Sőt egy újoncnak még esetleg jobban el is néznek egy ilyen kérdést.
Devportálon meg prog.hu-n mostanában renike24 nick tud olyanokat kérdezni ASP.Net vonalon, hogy ajánlom mindenki figyelmébe, aki jót akar röhögni. Próbáltam volna rávezetni a megoldásra (tanulás, olvasás), de még én lettem leszólva, hogy miért nem mondom meg a megoldást.
Biztos én vagyok a bunkó, de egyszerűen valami hihetetlen mélységekből jönnek elő ezek a mai fiatalok.Igyekszik az ember (bár vannak bőven napok, amikor nem jön össze).

Az volt a szerencséje, hogy nem VB6, hanem VBA: így 5 perc alatt összedobtam a gépemen.AE
-
ArchElf
addikt
Általánosságban: jó, majd olvasgatok, ha lesz időm. (de azért, mert _itt_ újonc vagyok, még nem bizti, hogy totál hülye is.)
VB 6.5, Office 2003 SP31-2. Melyik függvény hozza létre újra, ha public?
Én ezt csináltam (volna, ha menne):Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat főszámba csak számot enged írni
Dim vezerlo As Object
set vezerlo = ActiveControl
csakszamEnd Sub
Sub csakszam()
If Shift <> 0 Then
vezerlo.Locked = True
Else
If KeyCode = 8 Or KeyCode = 46 Or _
(KeyCode >= 48 And KeyCode <= 57) _
Or (KeyCode >= 96 And KeyCode <= 105) Then
vezerlo.Locked = False
Else
vezerlo.Locked = True
End If
End IfEnd Sub
Úgy gondoltam, hogy amikor a KeyDown subból meghívom a csakszam subot, akkor a KeyCode és a Shift ott is ugyanazt az értéket fogja még tartalmazni. De nem, ezek kiürülnek. Akkor is, ha külön felveszem őket public változóként. Ezért a KeyDown subban mindkettő értékét kiíratom egy-egy saját változóba (kc=KeyCode, ks=Shift) és a csakszam subban már azokat használom. Ez nem probléma, csak két plusz sor és két plusz változó.
Kipróbáltad, hogy át lehet-e adni (úgy, ahogy írtad) a KeyCode-ot? Mert nálam nem lehet, csakszam TextBox1, KeyCode-re ezt kapom: Compile error: ByRef type mismatch.
És mint írtam, pont azt szeretném elkerülni, hogy a TextBox1-et bárhol is leírjam (értékadásba vagy érték átadásba), mert azt majd akkor minden egyes subban át kell írnom a megfelelőre (ráadásul még ComboBox is lesz). Ezért szeretném az ActiveControlt használni helyette, ami általános, és elvileg mindig azt adná, ami épp kell).
"le kell ellenőrizni, hogy az aktuális ActiveControl TextBox-e"
Leellenőriztem, nem az. De MIÉRT nem az, mikor azon van a fókusz, abban szerkesztek, abból fut le a KeyDown sub??? A VB helpje szerint az ActiveControl az, amelyik épp fókuszban van. De mégsem a TextBox1-et kapom, hanem a MultiPage1-et.
Próbáltam így: set vezerlo=MultiPage1.Pages(0).ActiveControl. Ez eggyel beljebb vitt, mert így Frame1-et kaptam eredménynek, amiben a TextBox1 is van, de még mindig nem a textboxot... És ez már ebben a formában úgysem érne semmit, hiszen már akkor ha a konkrét lapot meg kell adnom, az sem jobb semmivel, mintha éppenséggel a konkrét vezérlőt adom meg.
Én sem igen szeretem a globális változókat szaporítani, de miért kell elfelejteni? Van valami komoly hátrányuk?
3. Miért lenne hack? Ez egy egyszerű, frappáns megoldás, egy darab létező tulajdonságot állítok át, és a felhasználó annyit lát, hogy ha nem megfelelő billentyűt nyom, egész egyszerűen nem történik semmi. Nyista vágólap, mert a Ctrl+akármit ez a rutin a KeyCode-ok közül nem engedélyezi (ugye vizsgálom a Shift-et, és ha nem 0, akkor eleve locked, de ha éppen nem a Ctrl-ra, akkor meg a v-re lenne az).
4. sem a VB helpjében, sem az Object Browserben nem találok MaskedEditet, egyetlen Mask tulajdonságot leltem, ami csak a CommandBarButton-ra alkalmazható.
Osztályom sincs olyan, hogy MaskEdBox, vagy akár MaskedTextBox. Sőt, az ominózus MSMASK32.OCX sem található meg a gépemen.Egyébként természetesen köszönöm a segítséget és az eszmecserét, sokat tanulok belőle.

Pedig jó volna ha megértenéd a változók hatókörét. Nem tudom milyen fejlesztési tapasztalatod lehet, de ez a VB-re nem nagyon terjed ki.
Anélkül elég nehezen tudom elmagyarázni azt, amit látsz (és nem éresz meg). De röviden azért megpróbálom:
- Ha egy függvény definíciójában van definiálva egy változó (vastaggal)
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
azt hiába definiálod előre, az adott függvényben az itt definiált "változat" fog élni.
- Ha definiálsz egy változót egy függvényben, attól még az onnan meghívott függvényekben a változó nem létezik. A változó hatóköre csak a definiálás helyére érvényes (kivétel a kód "gyökerében" globálisan definiált változók, de azok a függvényekben felüldefiniálhatók - pl. mint paraméter)
- Használd az Option Explicit parancsot (kód legelején), hogy lásd, hogy minden változód helyesen van definiálva (és nem írtál el sehol semmit). Ez az utasítás kikényszeríti a változók definiálását.Az ActiveControl az aktuális konténerben aktív kontrolt kéri le. Arra meg kell nézned, hogy Container típusú-e és vannak-e tagjai, ha iden abban is meg kell nézni, hogy van-e aktív komponens -rekurzívan el lehet jutni az utolsó tagig, ami jelen esetben a TextBox1 komponens. De a KeyCode-ot és Shift-et nem lehet nem átadni. (Ha pedig odaírod, hogy ByVal - azaz érték és nem referencia szerinti átadás van -, akkor átkonvertálja neked az MSForms.ReturnInteger-t mezei Integer-ré)
Option Explicit
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
csakszam KeyCode, Shift
End Sub
Sub csakszam(ByVal KeyCode As Integer, ByVal Shift As Integer)
Dim Vezerlo As Control
Set Vezerlo = GetActive(ActiveControl)
'MsgBox TypeName(GetActive(ActiveControl))
If TypeName(Vezerlo) <> "TextBox" Then
Exit Sub
End If
If Shift <> 0 Then
Vezerlo.Locked = True
Else
If KeyCode = 8 Or KeyCode = 46 Or _
(KeyCode >= 48 And KeyCode <= 57) _
Or (KeyCode >= 96 And KeyCode <= 105) Then
Vezerlo.Locked = False
Else
Vezerlo.Locked = True
End If
End If
End Sub
Private Function GetActive(con As Control) As Control
If TypeName(con) = "UserForm" Then
Dim f As UserForm
Set f = con
Set GetActive = GetActive(f.ActiveControl)
ElseIf TypeName(con) = "MultiPage" Then
Dim mp As MultiPage
Set mp = con
Set GetActive = GetActive(mp.SelectedItem)
ElseIf TypeName(con) = "Page" Then
Dim pg As Page
Set pg = con
Set GetActive = GetActive(pg.ActiveControl)
ElseIf TypeName(con) = "Frame" Then
Dim fr As Frame
Set fr = con
Set GetActive = GetActive(fr.ActiveControl)
Else
Set GetActive = con
End If
End FunctionAE
-
ArchElf
addikt
szóval, itt több rendbeli félreértés van.
1. maga a KeyCode úgy tűnik, nem vihető át, mert rendszerváltozó, hiába teszem public-ká, akkor is üres lesz, amint másik sub-ba ugrok. természetesen tudom, hogy egy felhasználói publikus változóba kiíratva átvihető, alkalmaztuk is, csak reménykedtünk, hátha mégis lehet az eredetit használni, merthogy úgyis azt kínálja fel a rendszer, mikor egy új keydown subot létrehozol. megspóroltunk volna egy saját változót, meg minden ilyen subban egy plusz sort.
2. honnan jön a tb változó? mert mi pont azt szeretnénk megspórolni, hogy minden keydown subban konkrétan (az adott vezérlő nevével/indexével) értéket kelljen neki adni. mivel ez esetben ez a rész mindegyik subban eltérő lesz, azaz nem lehet simán másolni, oda kell figyelni.
magyarul én a set tb=TextBox1 helyett a set tb=ActiveControl kifejezést szeretném használni, mert ez univerzális. csakhogy nem működik, mert az ActiveControl a VB szerint nem a TextBox1, amiben épp kavarok, hanem a MultiPage1. ez a problem.
3. A "Locked"-nek az az értelme, hogy így egyszerűen nem íródik be a textboxba a hibás karakter, és passz, megy tovább.
4. "Changed" az mi? Én nem találom. Ha a "Change"- re gondolsz, akkor azért a KeyDown-ból megy az egész, és nem a Change-ből, mert a KeyDown még a karakter megjelenése _előtt_ lefut, a Change meg csak utána (tehát ott már csak törölni tudnék).masked textbox hogy megy? a Format()-ra gondolsz?
Amúgy VB6, vagy VB.NET?
Általánosságban - kicsit olvasgassál még a változók hatóköréről...
1. Hiába teszed publiccá, a függvény újra létrehozza változót és az felülcsapja (érvényességben) a globálisan létrehozott azonos nevű változót. A függvénynek át kell adni a változót. A globális változók használatát meg el kell felejteni.
2. Ha megnézed a függvény paramétereit, ott van deklarálva a változó. A függvényt meg úgy hívod meg, hogy:
csakszam TextBox1, KeyCode
ActiveControl - le kell ellenőrizni, hogy az aktuális ActiveControl TextBox-e és csak akkor kell lefuttatni a függvényt.
3. ez inkább csak hack... de azért nem rossz. De gondolom vágólap meillesztésre nem működik.
4. MaskedTextBox: vb6, vb.net
(bocs,. vb6 alatt MaskedEdit)AE
-
ArchElf
addikt
Üdv!
Újabb fogós kérdés merült fel.
Egy multipage egyik lapján egy különböző frameeken belűl vannak nekem egy vezérlőim.
A vezérlőkbe beírható karaktereket szeretném korlátozni. Mivel egy részüknél ugyan az a korlátozás szükséges (vagyis csak számok írhatóak be), subrutinná tettem egy eddig vezérlőnként alkalmazott eljárást.
Sub csakszam()
'8: backspace, 9: tabulátor, 13: enter, 17: Ctrl, 32: space, 46: delete, 48-57: felső számok, 86: v, 96-105: numpad számok, 109: numpad mínuszjel, 110: numpad pont, 186: é, 187: ó,
'188: vessző, 189: kötőjel, 190: pont, 191: ü, 192: ö, 219: ő, 220: ű, 221: ú, 222: á, 226:í
If KeyCode = 8 Or KeyCode = 46 Or _
(KeyCode >= 48 And KeyCode <= 57) _
Or (KeyCode >= 96 And KeyCode <= 105) Then
TextBox1.Locked = False
Else
TextBox1.Locked = True
End If
End SubA vezlőnél pedig ez van megírva:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat alszámba csak számot enged írni
csakszam
End SubGondolom sejtitek, hogy ez így nem működőképes (vagyis nem általánosságban), különben nem írtam volna.
Gondoltam könnyen általánossá tehető a dolog egy huszárvágással, mert a "Textbox1" helyére egyszerűen bevezetek egy változot, amely mindig az aktuális vezérlő nevét helyettesíti.
Azonban úgy nem működőképes a dolog.
Egyik okát tudom: a KeyCode "rendszerváltozó" tartalma nem vihető át egy másik rutinba csak egy változón keresztül (mondjuk azt nem értem miért nem tehető a KeyCode rendszerváltozó egyszerűen publikussá, erre is várok valami okosat ha lehet). Ezt még meg is oldottam.NADE, azt mondja meg valaki, hogy hogyan lehet kinyerni, hogy melyik az aktív vezérlő????
Mert ugyan is ha beteszem mondjuk, hogy:Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat alszámba csak számot enged írni
x=ActiveControl
csakszam
End Subakkor az x értéke furcsa módon nem az lesz, hogy "Textbox1", hanem az, hogy "Multipage1".
Pedig a súgója azt állítja, hogy az aktív vezérlő nevét adja eredményül, már pedig én erősen a Textbox1-ben buzerálódom.
Várom a megoldási javaslatokat, esetleg konkrét kódrészlettel is.
Az is érdekelne (ahogy fentebb is írtam, hogy ha meg tudja mondani valaki), hogy a KeyCode rendszerváltozó miért nem tehető publikussá.Köszönöm a segítségeteket!!!!!!!
Átvihető, csak át kellene adni neki.
A változók a VB-ben nem globálisak (hacsak nem annak lettek definiálva), a hatókörük csak az adott szerkezetre (szubrutinra, osztályra) vonatkozik.
így add át neki:
Sub csakszam(tb As TextBox, kc As Integer)
'8: backspace, 9: tabulátor, 13: enter, 17: Ctrl, 32: space, 46: delete, 48-57: felső számok, 86: v, 96-105: numpad számok, 109: numpad mínuszjel, 110: numpad pont, 186: é, 187: ó,
'188: vessző, 189: kötőjel, 190: pont, 191: ü, 192: ö, 219: ő, 220: ű, 221: ú, 222: á, 226:í
If kc = 8 Or kc = 46 Or _
(kc >= 48 And kc <= 57) _
Or (kc >= 96 And kc <= 105) Then
tb.Locked = False
Else
tb.Locked = True
End If
End SubAmúgy miért locked, ennek így semmi értelme nincs???
Én inkább a Changed-et használnám és megvizsgálnám, hogy az összes karakter érvényes-e (vagy egyszerűen használnék masked textbox-ot)...
AE
-
ArchElf
addikt
Annuitásos módszerrel ki kell számolnom a hitel törlesztőrészletet egy adott futamidőre. Ez excelben a célérték kereséssel könnyen megoldható. Azonban nekem úgy kell megírnom a programot, hogy excel beágyazás ne legyen benne.
Addig sikerült eljutni, hogy ha a kintlévőség a futamidő végére nem nulla akkor case select állapotokkal meghatározom, mennyit korrigáljon (mennyit adjon hozzá / vegyen el) a törlesztőrészleten. Pl:
Select Case kintlévőség
Case 500 To 1000
törlesztő += 0.1
stb.Ez így baromi hosszú programkódot eredményez. Ezt kellene nekem valami matematikai összefüggés segítségével redukálnom. Bármilyen konstruktív ötletet jöhet, pl. segítenétek megérteni, hogyan is működik a goal seek fv. az is nagy segítség lenne (azt hiszem).
Annuitásos módszernek van leírása, vagy matematikai modellje (kell hogy legyen)...?
AE
-
ArchElf
addikt
Nemrég kezdtem el VB.NET-t tanulni VS 2008 E-n. A feladat egy hiteltörlesztő program elkészítése lenne, ami a megadott paraméterek alapján kiszámítaná a törlesztés összegét havi bontásban és ezt táblázatos formában jelenítené meg.
Egyelőre annyit szeretnék, hogy a megadott adatokat (dátum, futamidő, stb.) kiírassam a táblázat első sorába. Eddig jutottam a dátummal:
Private Sub Szamolas() Handles btnCalculate.Click
Dim Datum As Date
Dim Grid As String
Datum = DateTimePicker1.Text
Grid = Datum
End SubTisztában vagyok vele, hogy a Grid = Datum nem jó de a neten nem tudtam kiszűrni ezt kis részt ami nekem kell.
VS2008 mellé használd az MSDN-t, és rögtön tudod, melyik osztály mit csinál.
Amúgy a leít kódodban nem az a rossz, sor, hanem az aláhúzott:
Private Sub Szamolas() Handles btnCalculate.Click
Dim Datum As Date
Dim Grid As String
Datum = DateTimePicker1.Text
Grid = Datum
End SubA Date (azaz DateTime) szerintem nem eszi meg közvetlenül a string-et, hanem fel kell dolgozni a Parse függvénnyel. Ráadásul a DateTimePicker-nek van közvetlen property-je a Dátum lekérdezásáre, ez a Value. Ha pedig DateTime-ot akarsz String-gé formázni, arra (általában minden más osztálynál is) ott a ToString metódus, ami az bject osztályból öröklődik:
Private Sub Szamolas() Handles btnCalculate.Click
Dim Datum As DateTime
Dim Grid As String
Datum = DateTimePicker1.Value
Grid = Datum.ToString()
End SubJa, és ez még semmit nem ír ki sehová

AE
-
ArchElf
addikt
Ha esetleg Risk/Controlling területre kerülsz, akkor a VBA jól fog jönni (Excel/Access alapú elemző "szoftverek" vannak szinte mindenhol)

AE
-
ArchElf
addikt
Igen, Access Űrlapon egy gomb.
A Bontás Pending a Fájl név.
a probalkozasok, a kiertesites és a kiertesito az űrlapon található textBoxok.
Egyébként ide menti, hogy ki és mikor "próbálkozott".
3 próba után lezárjuk.
Ezeket is deklaráljam? (Eddig működött nélküle)A user() pedig Module1-ben van:
Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long
Function user()
Dim s As String
Dim cnt As Long
Dim dl As Long
Dim CurUser As String
cnt = 199
s = String(200, 0)
dl = GetUserName(s, cnt)
If dl <> 0 Then
CurUser = Left$(s, cnt - 1)
Else
CurUser = ""
End If
user = CurUser
End FunctionEzzel adom meg az aktuális felhasználó NT login nevét. (keresztnev.vezetkenev)
Asszem megvan:
Excelben a celláknak van Value propery-je, de a form elemeknek (pl textbox) nincs, csak Caption vagy Text (text a szerkeszthető elemeknek pl TextBox, caption a nem szerkeszthetőknek pl. Form, Label, Button). Ezt problémázza szerintem a script futtató...AE
-
ArchElf
addikt
Lehet, hogy nem kell a nyomtatáshoz win api (azaz megoldható másképp is), de ez tutira nem működik VBS alatt:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Sub PortOut Lib "io.dll" (ByVal Port As Integer, ByVal Value As Byte)
Public Declare Function PortIn Lib "io.dll" (ByVal Port As Integer) As Byte
Innentől kezdve hiába nevezi át a fájlt, nem fog futni a WSH-ban...AE
-
ArchElf
addikt
Most addig eljutottam, hogy néhány helyen már futnak a scriptek, de még mindig nem mind.
pl ez sem:Private Sub Command34_Click()
Dim proba As Long
'Dim sortores As String
'sortores = ""
hivas = MsgBox("Hívtad a kontaktot?", vbQuestion + vbYesNo, "Megerősítés")
If hivas = vbNo Then
GoTo Vege
End If
If probalkozasok.Value > 0 Then
sortores = vbCrLf
End If
probalkozasok.Value = probalkozasok.Value + 1
nvf = MsgBox("Sikerült elérni az ügyflelet?", vbQuestion + vbYesNo, "Kérdés")
If nvf = vbYes Then
hozzafuz = InputBox("Eredmény", "Kérlek add meg, hogy mire jutottál")
lezarass = MsgBox("Lezáruk a jegyet sikeres kiértesítéssel?", vbQuestion + vbYesNo, "Lezárás")
If lezarass = vbYes Then
Lezarva = 2
MyFile = "BP.txt"
fnum = FreeFile()
Open MyFile For Append As fnum
Write #fnum, Now(), user(), "M", ID, Lezarva
Close #fnum
End If
Else
hozzafuz = "Nem vette fel"
End If
Kiertesites_eredmenye = Kiertesites_eredmenye & sortores & probalkozasok & ". kiértesítés: " & hozzafuz
If probalkozasok.Value = 1 Then
Kiertesito1 = user()
Kiertesites1 = Now()
End If
If probalkozasok.Value = 2 Then
Kiertesito2 = user()
Kiertesites2 = Now()
End If
If probalkozasok.Value = 3 Then
Kiertesito3 = user()
Kiertesites3 = Now()
lezaras = MsgBox("Ez volt a harmadik próbálkozás! Lezáruk a jegyet sikertelen kiértesítéssel?", vbQuestion + vbYesNo, "Lezárás")
If lezaras = vbYes Then
Lezarva = 3
MyFile = "BP.txt"
fnum = FreeFile()
Open MyFile For Append As fnum
Write #fnum, Now(), user(), "M", ID, Lezarva
Close #fnum
End If
End If
Vege:
End SubHol van ez futtatva (access, ha jól rémlik?)
Hirtelen ezeket találtam:
- Mi az a Bontás Pending?
- GOTO értelmetlen, használj Exit Sub-ot
- probalkozasok hol kap értéket, nincs átadva a Sub-nak, ez valami globális objektum?
- user() implementálva van?
- Ezeket mire használod?
Kiertesito1, Kiertesites1, Kiertesito2, Kiertesites2, Kiertesito3, Kiertesites3
- indentálásra figyelj:
If akármi Then
'művelet 1
'művelet 2
Else
'művelet 3
'művelet 4
End If
így legalább olvasható lesz a kód
- használj Option Explicit-et (minden változót kötelező deklarálnod Dim akármi-vel, de legalább véd az elgépelés és a túlzott mértékű változó használat ellen)AE
-
ArchElf
addikt
Most addig eljutottam, hogy néhány helyen már futnak a scriptek, de még mindig nem mind.
pl ez sem:Private Sub Command34_Click()
Dim proba As Long
'Dim sortores As String
'sortores = ""
hivas = MsgBox("Hívtad a kontaktot?", vbQuestion + vbYesNo, "Megerősítés")
If hivas = vbNo Then
GoTo Vege
End If
If probalkozasok.Value > 0 Then
sortores = vbCrLf
End If
probalkozasok.Value = probalkozasok.Value + 1
nvf = MsgBox("Sikerült elérni az ügyflelet?", vbQuestion + vbYesNo, "Kérdés")
If nvf = vbYes Then
hozzafuz = InputBox("Eredmény", "Kérlek add meg, hogy mire jutottál")
lezarass = MsgBox("Lezáruk a jegyet sikeres kiértesítéssel?", vbQuestion + vbYesNo, "Lezárás")
If lezarass = vbYes Then
Lezarva = 2
MyFile = "BP.txt"
fnum = FreeFile()
Open MyFile For Append As fnum
Write #fnum, Now(), user(), "M", ID, Lezarva
Close #fnum
End If
Else
hozzafuz = "Nem vette fel"
End If
Kiertesites_eredmenye = Kiertesites_eredmenye & sortores & probalkozasok & ". kiértesítés: " & hozzafuz
If probalkozasok.Value = 1 Then
Kiertesito1 = user()
Kiertesites1 = Now()
End If
If probalkozasok.Value = 2 Then
Kiertesito2 = user()
Kiertesites2 = Now()
End If
If probalkozasok.Value = 3 Then
Kiertesito3 = user()
Kiertesites3 = Now()
lezaras = MsgBox("Ez volt a harmadik próbálkozás! Lezáruk a jegyet sikertelen kiértesítéssel?", vbQuestion + vbYesNo, "Lezárás")
If lezaras = vbYes Then
Lezarva = 3
MyFile = "BP.txt"
fnum = FreeFile()
Open MyFile For Append As fnum
Write #fnum, Now(), user(), "M", ID, Lezarva
Close #fnum
End If
End If
Vege:
End SubHol hal el?
írj be az elejére egy
On Error Resume Next-etA végére meg ezt:
If Err Then
MsgBox(Err.Number & vbCrLf & Err.Description)
Err.Clear()
End If
On Error Goto 0Ez majd kiírja, mi a hiba, akkor lehet majd egy kicsit pontosabban ráközelíteni a problémára...
AE
-
ArchElf
addikt
de miért kell windows API függvény? Emberünk azt kérte, hogy ne csak office-on belül tudja használni az összehozott programját. Erre javasoltam a vbscriptet.
Persze csinálhat belőle VB.Net-et is (vagy tőlem akár powershell-t, vagy bármit), csak a vbscript készítéshez elég egy file átnevezés, és máris futtathatja bárhonnan.Csak van ott benne egy PortIn, meg egy PortOut (IO.DLL-ből), még ha a Sleep megoldható is máshogy...
AE
-
ArchElf
addikt
Közvetlenül nem, kell írni hozzá egy COM Wrappert (legyen akár natív, akár .NET assembly). Pár dologra még oda kell figyelni a wrappelésnél, pl. struct nem használható. Ha valaminek a visszatérési vagy bemeneti értéke struct, akkor azt vagy szét kell szedni a com hívásban, vagy be kell csomagolni egy osztályba (és a wrapperben kibontani).
Oly: Lehet, hogy segít...
AE
-
ArchElf
addikt
Sziasztok.
Mivel nem tudjuk a területi beállításokat állítani minden gépen, ezért valami más megoldásra lenne szükségem.
Próbálkoztam, hogy az én gépemen is átállítom angolra, de nem történt semmi, majd mikor visszaállítottam magyarra, akkor az én gépemen sem ment már a dolog.
Sőt!
Ami eddig ment (másik adatbázisban), az sem megy most már.Van valami alternatív lehetőség, ami területi beállítástól független?
Sajnos ez az alkalmazás több 100 gépen (PC, Terminal, Laptop) fog futni, és nem tudjuk máshogy megoldani.Ha kell, újra építem az egészet, csak mondjátok el hogy mire figyeljek...
Milyen karaktereket ne használjak, vagy mi miatt akadnak ezek össze?ELőre is köszönöm.
Script elején GetLocale()-al le tudod kérdezni az aktuális terület beállítást, utána
SetLocale(id)-val beállítod a kívántat, majd a script végén visszaállítod az eredetit...AE
-
ArchElf
addikt
Ez így tökéletesen működik:
Class RelStore
'Cache Time 5 min
Private d_Timer
Private b_Member
Private b_Init
Private VALIDITY
Private Sub Class_Initialize
VALIDITY = 300
d_Timer = 0
b_Member = False
b_Init = False
End Sub
Public Function Initialize(Membership)
d_Timer = Timer
b_Member = Membership
b_Init = True
End Function
Public Sub Invalidate()
Class_Initialize
End Sub
Public Function IsMember()
IsMember = b_Member
End Function
Public Function IsValid()
IsValid = (b_Init AND ((Timer > d_Timer + VALIDITY) OR (Timer < d_Timer)))
End Function
End Class
Set rs = new RelStore
DebugWrite rs.isvalidSzerintem ez: htCache(SearchString) nem RelStore classt ad vissza.
Rájöttem közben mi lehet a probléma...
Mivel a class futásidőben generálódik, így lehet, hogy két futáskor nem ugyanazt a signature-t adja neki a fordító. Így hiába tárolom el az osztályt egy ideiglenes tárban (a memóriában) két futtatás között, a következő futtatáskor már "más" RelStore class generálódik meg, amire a fordító nem talál leírást, és nem tud hozzáférni a metódusokhoz sem.
Megnéztem közben, a helytelenül visszaadott osztályoknál a
VarType(rs) 13-at ad vissza:
vbDataObject - 13 - A data-access object
A TypeName meg Unknown-t...
Kénytelen leszek sima stringekkel dolgozniAE
-
ArchElf
addikt
Az a probléma, hogy az adatok megőrzéséhez kell kell valami struktúra, ami könnyen kereshető. Vbs-ben csak dictionary van, amit nem tudom lehet-e keresni.
A hashtable-t beteszem egy ideiglenes tárba (ScriptContext), és onnan olvassa be a következőként futó script.AE
-
ArchElf
addikt
Asszem passzolom ezt a class-os dolgot.
String lesz belőle, aztán majd vagdosom és parse-olom...AE
-
ArchElf
addikt
Gyors VBScript kérdés...
Csináltam egy kicsi osztályt (alant), és egy Hastable-be bepakolom (tudom talán kicsit meredek). A problémám az, hogy az egyik függvényt nem hajlandó meghívni a futtatókörnyezet...
Osztály:
Class RelStore
'Cache Time 5 min
Private d_Timer
Private b_Member
Private b_Init
Private VALIDITY
Private Sub Class_Initialize
VALIDITY = 300
d_Timer = 0
b_Member = False
b_Init = False
End Sub
Public Function Initialize(Membership)
d_Timer = Timer
b_Member = Membership
b_Init = True
End Function
Public Sub Invalidate()
Class_Initialize
End Sub
Public Function IsMember()
IsMember = b_Member
End Function
Public Function IsValid()
IsValid = (b_Init AND ((Timer > d_Timer + VALIDITY) OR (Timer < d_Timer)))
End Function
End ClassAhol kicsomagolnám a Hastable-ből:
If htCache.ContainsKey(SearchString) Then
Set rs = htCache(SearchString)
If rs.IsValid Then
IsMember = rs.IsMember
Else
IsMember = False
htCache.Remove SearchString
End If
Else
DebugWrite "Object NOT found in cache: " & SearchString
End IfHibaüzenet:
An error occurred on line 97 while executing script 'User Group Check'
Source: Microsoft VBScript runtime error
Description: Object doesn't support this property or method: 'rs.IsValid'Ja és próbáltam már így is
Public Property Get IsValid
IsValid = (b_Init AND ((Timer > d_Timer + VALIDITY) OR (Timer < d_Timer)))
End PropertyAE
-
ArchElf
addikt
-
ArchElf
addikt
sajna value-vel sem megy ugyan azt dobja ki, kérdezz meg bármit válaszolok mindenre csak már nem ez az első makró aminél ezt a hibát kapom

For i = fk + 1 To ssz
If (Sheets(2).Cells(i, eo).Value <> "") Then
For j = fk + 1 To ssz
If (Sheets(1).Cells(j, mo1).Value = Sheets(2).Cells(i, mo1).Value) And (Sheets(1).Cells(j, mo2) = Sheets(2).Cells(i, mo2)) And (Sheets(1).Cells(j, mo3) = Sheets(2).Cells(i, mo3)) Then
For k = 1 To osz
Sheets(1).Cells(j, k) = Sheets(2).Cells(i, k)
Next k
End If
Next j
End If
Next iPróbáld meg elötte kiválasztani a sheet-et és a cellát és utána lekérdezni. Esetleg nézz át az Excel topicba, ott sokkal több tapasztalat van az excel makrók tekintetében.
AE
-
ArchElf
addikt
sziasztok!
Elkezdtem egy táblaösszemásoló makrót megírni, még kezdő vagyok nagyon, ezt kérem figyelembe venni, de az a problémám hogy mindig a jó kis runtime error 1004 jön ki a program ciklusainál
For i = fk + 1 To ssz
If (Sheets(2).Cells(i, eo) <> "") Then <----------------itt áll le
For j = fk + 1 To ssz
If (Sheets(1).Cells(j, mo1) = Sheets(2).Cells(i, mo1)) And (Sheets(1).Cells(j, mo2) = Sheets(2).Cells(i, mo2)) And (Sheets(1).Cells(j, mo3) = Sheets(2).Cells(i, mo3)) Then
For k = 1 To osz
Sheets(1).Cells(j, k) = Sheets(2).Cells(i, k)
Next k
End If
Next j
End If
Next ifk: táblafejléc kezdete
eo: ellenőrző oszlop, ha üres akkor meg sem kell vizsgálni
mo1,2,3: adatoszlopok száma, amiket meg kell vizsgálniaha tudtok segíteni akkor előre is köszönöm!

így próbáltad?
(Sheets(2).Cells(i, eo).Value
Ja és használj kódbeillesztést, mert tagolatlan kódot kínszenvedés olvasni...
A változónevek sem mondanak amúgy sokat...AE
-
ArchElf
addikt
Mert c++ meglehet oldani ?
Amit szeretnékAzért mert soros/párhuzamos porti kezelést szeretnél linux alatt.
Mivel linux alá dolgozol célszerű ott támogatott nyelvet használni, ami lehet C vagy C++. De ha nincs kedved hozzá, használhatsz akár python-t is (ott is van soros portos kommunikációt támogató csomag: PySerial - ez tartalmaz parallel porti modult is)AE
-
ArchElf
addikt
Nem értitek. A Basic Stamp a mikrovezérlő programnyelve.
Én mondtam, hogy keveredik a szezon a fazonnal
Azaz a Basic Stamp-ben írt program nem a számítógépen fog futni, hanem a mikrovezérlőn.
Csak annyi kell, hogy fel kell telepíteni a Basic Stamp editort (én csak windows-os verziót találtam, úgyhogy ubuntu bukónak látszik), majd USB-n keresztül összekötöd a cuccot a PC-vel, és feltöltöd rá a megírt programot.
Erre mondtam, hogy ebben kb. bárki fog tudni segíteni, akinek van Parallax mikrovezérlős robotja kéznél
Tele van a világ ilyenekkel, nem? 
A programozás rész sem lesz bonyolult, mert ezek a mikrovezérlők nagyon buták.
Ez az LPT, meg soros port buzerálás is valami alapvető félreértés lesz, mivel ezeken a cuccokon USB port van (már egy pár éve), akkor miért kellene már rég nem létező portokkal hülyéskedni?Van egy mérnök informatikus diplomám is
maszekban néha szoktam robotokhoz is programot írni, legutóbb haletető robothoz írtam menedzsment felületet .Net WPF-ben, igaz az txt fájlokkal kommunikált a PC-s adatbázissal. Basic Stamp-pel még életemben nem találkoztam, csak hallottam róla. A többi robotos munkám is mind USB porton keresztül kommunikál.Ehh

AE
-
ArchElf
addikt
De tudsz benne majd segíteni , és lehet akkor feszültséget módosítani? Egy uln2803 ic-m van .
Feszültséget nem lehet módosítani (a hagyományos értelemben) LPT-n; illetve be-ki állapot van (alacsony-magas jelszint).
Milyen OS-alá készülne a program?AE
-
ArchElf
addikt
Röviden egy olyan program szeretnék ami az ltp portot vagy a soros portott kinyíitja egy időre és a megadott portott . Esetleg lehetne olyat hogy a leadot feszültséget szabályozni?
Serialra ott az mscomm32.dll (vagy .ocx, vagy valami hasonló), formra kipakolható - nem túl okos, de használható. LPT-re google (kapásból nem tudok biztos megoldást mondani).
AE
-
ArchElf
addikt
Szerintem keverjük a szezont a fazonnal.
Amiről te beszélsz az egy bizonyos mikrovezérlő BASIC Stamp programnyelve.
Namármost nem találsz olyan embert, aki ezt ismeri, egy-két éppen ezt használón kívül.
Másrészt maga a szintaktika pofonegyszerű basicnek tűnik, szóval egy ilyen eszközzel a soros portján, és a szükséges fejlesztői kereteszközöket feltelepítve kb. bármelyik programozó tud neked segíteni a beüzemelésben.Pfff... a stamp code rész felett el is siklottam

Azt hittem valami pszeudo-kód
Bár jobban belegondolva még megvalósítható is volna, csak a megfelelő dll-exportok hiányoznak

AE
-
ArchElf
addikt
Üdv lenne egy olyan kérdésem hogy szeretnék építeni egy robotott az elektronika megvan csak a program hiányzik . Adtak egy példált hozzá de nem akar lefutni mi a progbléma? A pdf tartalmát kimásoltam (angol)
A real-world example
Francis Rogers of Sun City West, Arizona wrote me to describe an application he’d like
to build with the Stamp. He has a PC with barcode software that can read membership
cards for his S.C.W. Metals Club. The barcode software generates a code through the PC
serial port when it’s presented with a valid card. Mr. Rogers would like the Stamp to read
this code and energize a relay to unlatch a door.
This fits perfectly with the theme of this month’s column. Figure 6.3 is the schematic.
I’ve made some assumptions about Mr. Rogers’ barcode software: that it can be set to
output at 2400 baud, and that all valid cards output some common code for the Stamp to
recognize.
Thanks to the serial-input (Serin) command’s built-in “qualifier” feature, the entire
program takes just a few lines of Stamp code:loop:
low 7 ' Pin 7 low to latch door (relay open)
serin 0,N2400,("OK") ' Watch serial input until "OK" rec'd.
high 7 ' Pin 7 high to unlatch door (relay closed).
pause 5000 ' Wait 5 seconds. Latch door and resume
goto loop ' Watching serial input.Of course, Mr. Rogers will have to substitute the actual password for “OK” in the
program above.
That’s it for this month. Next time, we’ll look at a nifty IC that lets the Stamp transmit
and receive DTMF tones (telephone touch tones). In addition to obvious telephone
applications, DTMF can be used as a form of low-speed, high-reliability data transfer.
Stay tuned!The Nuts and Volts of BASIC Stamps (Volume 1) • Page 57
Kód nélkül nem túl egyszerű erre bármit is mondani...
AE
-
ArchElf
addikt
Üdv,
segítségeteket kérném Excel VB makróban. A nyelvet nem ismerem, bár sikerült alapszinten megértenem a szintaxisát, viszont a problémám a (matematikai) logikájával van ennek a feladatnak.
A lényeg az, hogy a feladat megoldása HIBÁS. Magával az algoritmussal van baj, gyanítom az, hogy létezik ennél optimálisabb megoldás.
A lényeg az lenne, hogy ki kellene javítani optimálisra.
Fontos lenne, aki tud, kérem nézzen rá.
Adott a következő feladat:
Adott egy híd, amin N ember át szeretne kelni. Azt tudjuk, hogy nem feltétlenül egyenlő sebességgel képesek haladni. Az egyes emberek átjutásához szükséges időket jelölje T(I). Egyszerre csak ketten tudnak átkelni a hídon. Sötét van, ezért szükségük van egy lámpásra. Leghamarabb mennyi idő alatt tudnak mindnyájan a túlsó partra jutni? (NE feledjük, a lámpást az egyik átjutottnak vissza kell hoznia, hogy a többiek is lássanak az átkelés során!)Van hozzá egy megoldás leírása:
Látható, hogy 3 ember esetén a leggyorsabb bárki mással átmehet, ő jön vissza, és aki még maradt azzal újra átmegy a hídon. Az átkeléshez szükséges idő összesen T(1)+T(2)+(T(3) feltéve, hogy az embereket az átkelés sebessége szerint csökkenőbe (ez időben növekvőt jelent) rendeztük. Azaz pl. átmegy az 1. és a 2. (Idő: T(2)), visszajön az 1. (Idő: T(1)), és végül átmegy az 1. és a 3. (Idő: T(3)). Ha 4 ember van, akkor ez helyesen pl. úgy alakul, hogy: átmegy az 1. és a 2., visszajön az 1., átmegy a 3. és a 4., visszajön a 2., és végül átmegy az 1. és a 2. Észrevehető, hogy az 1. és a 2. tulajdonképpen átjuttatja a 3. és 4. párosát, és ehhez pontosan T(1)+2*T(2)+T(4) időre van szükség. majd végül ők is átmennek (Idő: T(2)). Ha az átkelők száma páros, akkor - az előzőekből helyesen következtetve - úgy tudjuk kiszámolni, hogy mennyi időre van szükség, hogy a leglassúbb idejéből elindulva minden másodikat összegzünk egészen T(4)-ig, és ehhez annyiszor T(1)+2*T(2)-t adunk hozzá, amennyi az átjuttatott párok száma. Végül ehhez még hozzáadunk T(2)-t. Páratlan esetben a 3.-at gondolatban kivéve páros esethez jutunk, és az így kapott összidőhöz még T(1)+T(3)-at hozzáadunk.És itt van rá egy kész megoldás (ami feltételezem az előző megoldás leírás alapján készült):
Itt van a hibás megoldás (xls)A makró kód a következő:
Dim N As Integer ' Az átkelni szándékozók száma
Dim Lap As Object
Dim S As Long
Dim Allando As Integer
Dim I As Integer, J As Integer
Dim A1 As Integer, A2 As Integer
Set Lap = Sheets("Alapadatok")
N = Lap.Cells(1, 1).CurrentRegion.Rows.Count - 1
Lap.Copy After:=Sheets(Sheets.Count)
Sheets("Alapadatok (2)").Name = "Átkelés"
Range(Cells(2, 1), Cells(N + 1, 1)).Select
Selection.Sort Key1:=Cells(2, 1), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells(2, 2).Activate
A1 = Cells(2, 1).Value
A2 = Cells(3, 1).Value
Allando = 2 * A2 + A1
S = A2
J = 0
For I = N + 1 To 5 Step -2
J = J + 2
S = S + Allando + Cells(I, 1).Value
Cells(J, 3).Value = A1 & " + " & A2
Cells(J, 4).Value = A1
Cells(J, 5).Value = A1 + A2
Cells(J + 1, 3).Value = Cells(I - 1, 1).Value & " + " & Cells(I, 1).Value
Cells(J + 1, 4).Value = A2
Cells(J + 1, 5).Value = A2 + Cells(I, 1).Value
Next
If N Mod 2 = 1 Then
S = S + Cells(4, 1).Value + Cells(2, 1).Value
J = J + 2
Cells(J, 3).Value = A1 & " + " & A2
Cells(J, 4).Value = A1
Cells(J, 5).Value = A1 + A2
Cells(J + 1, 3).Value = A1 & " + " & Cells(4, 1).Value
Cells(J + 1, 5).Value = Cells(I, 1).Value
Else
J = J + 2
Cells(J, 3).Value = A1 & " + " & A2
Cells(J, 5).Value = A2
End If
Cells(2, 2).Value = S
End SubElőre is köszönöm a segítséget.
nem kell ehhez makró, egy cellában ki lehet számolni az eredményt:
- ha számok mennyiságe = 1, akkor az össz idő = az egy szám lesz
- ha számok mennyiságe = 2, akkor az össz idő = a nagyobb szám lesz
- ha számok mennyiságe > 2, akkor az össz idő = az összes idő összege minusz a legrövidebb idő + (az átkelők száma - 2) szorozva a legrövidebb idővel (magyarul saját magán kívül mindenkit átkísér, és utána viszajön amíg van valaki a túlparton)
Függvényben (kicsit egyszerűsítve):
=IF(COUNT(A:A)<2; SUM(A:A);(COUNT(A:A)-3)*MIN(A:A)+SUM(A:A))AE
-
ArchElf
addikt
Ezek nagyon jó ötletek! A Triggeres verzió lesz szerintem, ha nem sikerül SQL nélkül megoldani. Az SQL mellőzését úgy értettem, hogy nem kell folyamatosan letölteni az adatokat, mert nem történik jelentős változás a táblában.
Például: Egy ListView-ben vannak tárolva hibabejelentések, amiket egy kezelőnek fel kell dolgoznia. De ezt a táblát, amiből a program kiolvasta a listát, több felhasználó is eléri. Ha egy felhasználó elkezd dolgozni az adott hibabejeltéssel (SQL tábla X. sora), akkor a másik gép listájában pl. inaktiválja azt a sort, nem tudja kezelni pl egy duplaklikkel. Az SQL módosítása nem lenne szükséges, csak annak a felhasználónak, aki elkezdett vele dolgozni, ott meg értelem szerűen nem lehet kihagyni a lekérdezéseket.
Eltekintve az SQL háttérről, az érdekel, hogy hálózaton belül van-e valami megoldás másik gépen lévő, ugyanazon szoftverben található Form-ot módosítani.
Szerintem ne legyen 'auto edit' jellegű megoldás, ha módosítani akar valaki egy mezőt, akkor kérdezze le a program, hogy az adott mező szerkeszthető-e, és ha igen, akkor zárolja a sort (Tranzakcióban update-eljen egy mezőt, ami a zárolást jelzi, vagy egy másik táblát, amiben a zárolások nyilván vannak tartva).
Igazából amit keresel, arra nem hiszem, hogy van dobozos megoldás - ráadásul, amit szeretnél az nem is igazán szép.
Igazi LAN-on (ahol nincs az udp multicast tiltva) elméletileg megoldható egy ilyen megoldás SQL nélkül - UDP multicastba téve a gépeket, ahol mindenki bemondja az éterbe, hogy épp mit csinál. Ám egyrészt az UDP nem megbízható (nincs garancia, hogy mindenki megkapja a csomagot és fel is dolgozza), másrészt egy nagyobb céges hálóban általában szűrve vannak a multicast hívások a VLAN-ok között. Ráadásul ebben az esetben nincs kizárás, tehát elméletileg előfordulhat, hogy "egyszerre" jelenti be mind a két gép a szerkesztést, és vagy mindkettő szerkesztő üzemmódban marad, vagy mindkettőnél letiltódik a szerkesztés (megvalósítástól függően).AE
-
ArchElf
addikt
Teljesen igazad van, nem a proxy volt a hiba, valamit nagyon elnéztem... A linkeket köszönöm, későbbiekben még jól fognak jönni!
Olyat meg lehet oldani, hogy van egy program, ami fel van telepítve pl 4 gépre és egy szerverre kommunikál. A szerver egy sima SQL szerver, amiből adatokat nyerek ki, vagy törlök. Mindegyik programban van egy pl. ListView ami az SQL lekérdezés eredményeit tartalmazza. A feladat az lenne, ha az egyik gépről törlök az SQL-ből, akkor a többin is módosítsa a ListView tartalmát új SQL lekérdezés nélkül? Ez első sorban LAN-on lenne érdekes, de előfordulhat már IP címen lévő, egymástól távol lévő gépekkel is.
Valakinek valami ötlete van erre?
SQL lekérdezés nélkül nem nagyon megy... Honnan tudja a kliens, hogy más is nézi azt a view-t? Ha sok adat van a view-ban és nem akarsz folyton mindent lekérdezni, akkor egy ID mezőre le lehet mondjuk kérdezni egy SELECT Max(ID) FROM View -val, hogy van-e újabb rekord, vagy ha frissülhetnek a mezők, akkor legyen a táblában egy TimeStamp mező (DateTime) ami frissítéskor frissül és akkor a SELECT Max(TimeStamp) FROM View-val megnézni, hogy van-e újabb adat. Esetleg csinálni egy Triggert, ami UPDATE/INSERT/DELETE-re frissít egy DateTime mezőt egy külön státusz táblában...
Szóval lekérdezés nélkül nekem semmi nem jut az eszembe, lekérdezésekkel, meg a fentiek.AE
-
ArchElf
addikt
Helló!
Tudtok ajánlani valami jó, ingyenes smtp komponenst, amit használhatnék vb.net alatt? A system.net.mail-t nem tudom rávenni, hogy proxy mögül elküldje az üzeneteket.
Köszönöm!
Ez talán egy kicsit kisegít:
http:
//stackoverflow.com/questions/844835/sending-mail-throught-http-proxy
Amúgy röviden csak annyit, hogy a HTTP proxy-nak semmi köze nincs az SMTP-hez. Ha céges hálózatban vagy és nem megy ki az SMTP, akkor az nem a proxy/kliens hibája, hanem a tűzfalon van letiltva a kimenő SMTP. Amennyiben mégis szeretnél valamiért HTTP-n keresztül "kimenni" úgy pl. azt a megoldást tudom ajánlani, amint a mi a fent linkelt eszélgetés végén található - persze céges hálózaton ez nagy valószínűség szerint a helyi szabályokba ütközik..És még ezt találtam neked: http://www.lesnikowski.com/blog/index.php/tag/mail-dll/
AE
-
ArchElf
addikt
Sziasztok,
A következő problémám lenne.
Adott egy type változó
Public Type PkData
PlayerName As String
PlayerID As Integer
Seat As String
...
end typemajd ezt használom tömbként
Dim Px(1 To 10) As PkDatailyen esetben hogyan tudom a px tömböt kiüríteni???

mert ugye Px.playername... stb változóim vannak. És kb 30 változó van a típusban definiálva.
Egyessével nagyon macerás lenneCsinálsz szerintem egy szimpla PKData definíciót, és az összes PX-tömbelemnek add azt értékül:
'Px Kiürítése
Dim EmptyPkData as PkData
For ix = 1 to UBound(Px)
Px(ix) = EmptyPkData
Next ixmod: Mivel a VB6 automatikusan inicializál, így az EmptyPkData biztos, hogy üres lesz, az értékadásnál pedig egyszerűen felülírja a régi értéket (és mivel value type, nem pedig class, így nem ugyanarra az objektumra fog hivatkozni az összes tömbelem - az egyetlen gondot az jelentheti, ha a type definíció osztályokat is tartalmaz).
AE
-
ArchElf
addikt
Szerintem van valami vbs fájlja, amit html-el akar etetni... Ennyi erővel használhatna mondjuk a vbs-en belül inputbox-ot is...
AE
-
ArchElf
addikt
van egy html file, abban a textarea, meg egy gomb, meg van egy .vbs file, ami nyilván a script. A gomb feladata: meghívni a .vbs file-t úgy, hogy argumentumként a textarea.value-t adja át.
A scriptben pedig wscript.arguments-et használva akarom megoldani, hogy megkapja a változó ezt az értéket.VBS-t nem gazán lehet úgy meghívni, mint fuattatható fájlt htmlből (legalábbis értelme sok nincs). A Wscript.Arguments-be amúgy a futtatott fájl argumentumai kerülnek át - pl.:
a popupmessage.vbs "user" "üzenet" esetén az első argumentum a "user", a második az "üzenet".
Egyrészt ez azért problémás, mert a commandline hossza korlátos (255 körül, így az átadható adatmennyiség is korlátos), másrész egy HTML kódnál van meghívható függvény opció, így felesleges trükközni és hackelni, hogy a href mezőbe az ember valahogy belepaszírozza a textarea tartalmát is (ami nem mellesleg lehet, hogy bele sem fér).AE
-
ArchElf
addikt
szóval a fájlkezelést tanultuk és a feladat a következő lenne:
egy ksi adatbázist kellene létrehozni egy rekord típusú fájlban. a fáljlban egy személyről 3 adatot kellene tárolni. ezen adatok eltárolásához létrehoztunk egy elrendezést. 3 textboxban a kívánt adatok vannak, a 4.ben kellene megjelennie annak, hogy hányadik rekordról van szó. a textboxok egyben szolgálnak az adatok bevitelére és egjelenítésére is.
van 4 command button. egy előre és egy hátra funkciójú, ami a rekordok közötti navigációra szolgál. egy mentés nevű, ami a 3 textbox tartalmát beírja egy rekordba a fájlban, és egy töröl, ami az épp kiválasztott rekordot törli ki.
remélem érthető...
a kódból jelenleg ennyi van meg:Option Explicit
Option Base 1
Private Type hallgato
nev As String * 30
neptun As String * 6
kp As Single
End Type
Dim h As hallgato
Dim f As Integer
Dim r As Integer
Dim fnev As String
Dim tmpfile As StringPrivate Function darab() As Integer
f = FreeFile
Open fnev For Random Access Read As #f Len = Len(h)
darab = LOF(f) / Len(h)
Close #fEnd Function
Public Sub kiirat(rekordsz As Integer)
Dim db As Integer
db = darab
If db = 0 Then
Label4.Caption = "No data"
Call tiszta
Else
Label4.Caption = Str(rekordsz) + "/" + Str(db)
f = FreeFile
Open fnev For Random Access Read As #f Len = Len(h)
Get #f, rekordsz, h
textbox1.Text = h.nev
textbox2.Text = h.neptun
textbox3.Text = Str(h.kp)
End IfEnd Sub
Public Sub tiszta()
Text1.Text = "Maximum 30 karakter"
Text2.Text = "NEPTUN"
Text3.Text = "Kp"End Sub
remélem tud valaki segíteni

Ez működőképesnek tűnik.
Load-ban be kell állítani a fájlnevet (ha nem textboxból kell beolvasni), Megnyitni a fált írás/olvasásra, le kell kérdni a rekordok számát, be kell állítani az első rekordot (nem kell beszárni a fájl).
Bottonokban:
- navigálás: gondolom neked is egyszerű (index változót kell növelni csökkenteni a 0 és a darabszám-1 között - vagy 1 és darabszám között??? már nem emlékszem)
- editre: ugyanaz van, mint a GET (csak PUT-tal): beállítani a rekordszámot, a textboxokból legenerálni a típust, felülírni vele a rekordot az adott helyen.
- mentésre: bezárni a fájlt és újranyitni
- törlésre:
legegyszerűbb az utolsó elemet a fájl végéről bemásolni a törölt helyére és a rekordhosszal csökkenteni a fájl hosszát.
bonyolultabban minden rekordot a törölt rekod után eggyel előrébb írni, majd csökkenteni a fájl hosszát egy rekordhosszal.Nincs sajna VB6-om, csak magyarázni tudok...
AE
-
ArchElf
addikt
MSIL nagyságrendekkel könnyebben visszafejthető... .NET 2.0 pedig már win98-hoz is van. Annál régebbi gondolom azért nem kell.
AE
-
ArchElf
addikt
Köszi a segítséget !
Esetleg még arra van egy tipped,hogy ha hamarabb kapcsolják ki a gépet mint 60 perc,(mondjuk 25 perc múlva) ,akkor a következő bekapcsoláskor még "tudja",hogy maradt 35 perc hátra ?
Egyébként a standby-be kapcsolódó gép jó ötlet,be tudom állítani,hogy visszatéréskor jelszót kérjen.Csak az a bökkenő,ha kikapcsolják a gépet,akkor meg nem fog kérni jelszót,mivel az meg úgy van beállítva
Ha meg teszek azonnali "hideg" induláshoz is jelszót,akkor semmit nem csináltam. A lényeg az lenne,hogy ha a mama vigyáz a lurkókra délután,amíg hazaérek melóból,ne tudjanak több órát játszani csak ,mondjuk 1 órát.De hogy azt mikor kezdik az RND.Azért nem tudom pl. beállítani,hogy 17:00-18:00-ig,mert ha 17:55-re érnek haza,akkor csak 5 perc maradna játszani.
Azt meg lehetne e csinálni,hogy egy file-ba írok egy 0-át.Ha megtörtént a bekapcsolás akkor a file-ban lévő érték lenne mondjuk 1 és ezt el is mentené a vinyóra.Namost minden bekapcsolásnál ezzel indulna a gép,hogy megnézi a file-ban lévő értéket és ha ez nagyobb mint 0 akkor kiad egy shutdown parancsot.Én meg ,amikor este hazajövök,egyszerűen csökkentett módban indítanám a gépet és kitörölném a file-ból az 1-et és visszaírnám 0-ra.Ők még nem tudják,hogyan kell csökkentett módban indítani a gépet
Még egy kérdés : reggel standby-be hagyom a gépet,jelszó alapon (vagyis nem kér ha standby-ből tér vissza).Letelik majd délután az 1 óra ,a gép kap egy shutdown parancsot és amikor újra beakarják kapcsolni a lurkók,akkor már a "hideg" indítás miatt jelszót kérne.Ilyet lehet ?
AttilaEzt találtam: forum
AE
-
ArchElf
addikt
-
ArchElf
addikt
Aha. Sosem tagadtam, hogy a winforms-os idők (beleértve VB6-ot és elődeit) kimaradtak az életemből.
Bár most pont lesz egy szakdolgozós ismerősöm, így egy picit megint bele kell majd mélyed nem. Főleg a Chart kontroltól félek

AE neked van tapasztalatod Chartok rajzolásáról Win Formsban? Ahogy nézem elég triviális, de félek lesz egy-két egyéni igény...
Saját OrgChart kontrollt csináltam

Nem tudom megvan-e még a kódja... Bár majd 10 éve készült, úgyhogy lehet, hogy elég gány kód volt.
BTW, VB6-ban fog szakdolgozni?AE
-
ArchElf
addikt
-
ArchElf
addikt
nem, nem láncolt proxyt szeretnék hanem azt hogy egy adott oldalt egyszer az egyik proxyval majd utánna egy másikal nyisson meg utánna meg egy harmadikal és így tovább.
Am egy olyan kérdésem lenne hogy melyik modszerral nyissan meg a proxy IP-ket tartalmazó text filet ha annak minden sorában egy IP van. Tehát soronként szeretném oket beolvasni... objreader-el próbálkoztam de azzal csak readline illetve readtoend van. Legalábbis én nem találtam benn olyant hogy egy x-edik sort olvasson ki!
Előre is köszi!
X.-ik sor semmivel nem tudsz olvasni.
Olvasd be először egy string tömbbe és hivatkozz rá tömbelem-hivatkozással.AE
-
ArchElf
addikt
nah jó ezt jól benéztem én nem a proxy beálításaira gondolok a gépnek, szóvel nem a registry kell nekem mert ott azt lehet. Hanem egy olyan progit szeretnék írni ami egy bizonyos proxy serveren keresztűl meghív egy oldalt majd ezek után egy másik proxyn keresztűl a következőt és így tovább....
Gondolom ilyesmit keresel

AE
-
ArchElf
addikt
Sziasztok!
VB6-tal programozgatok. A gondom a következő:
A kész progit a hordozhatóság érdekében exe fájlra fordítottam és készítettem egy telepítőt a Package and Deployment Wizard beépülő modullal. A szolgáltatás elvileg összeszed minden szükséges állományt az exe futtatásához.
Ha telepíteni próbálom, akkor hibaüzenetet dob fel, mégpedig:Invalid line in setup information file!
Section: Setup1 Files
@MDAC_TYP.EXE,$(AppPath),,,6.26.98 12:00:00 AM,8124720,4.71.1015.0Használta már valaki a Package and Deployment Wizard-ot? Mi lehet a gond?
Köszönöm előre is a segítséget.MDAC-ot nem szedi össze a telepítő varázsló, azt külön hozzá kell csomagolnod az installerhez.
A WITH-es kérdésre, valószínűleg nem lett inicializálva a változó használat előtt. A WITH csak inicializát változót (instance - példányt?) tud kezelni.AE
-
ArchElf
addikt
-
ArchElf
addikt
Pl: http://www.codeproject.com/KB/graphics/zedgraph.aspx
AE
-
ArchElf
addikt
Sorry, bug volt, strFolder helyett sFolder kellett volna a figyelésbe...
While not oFSO.FolderExists(strFolder)
helyett
While not oFSO.FolderExists(sFolder)mod: ja meg az elején a kommentbe is...
AE
-
ArchElf
addikt
Sziasztok szeretnék segitséget kérni vb script ügyben.
Van egy letöltögépem és egy Nas-om amire menti a dolgokat.Azt szeretném elérni hogy a pc-n a utorrent csak akkor induljon el hogyha a nas-on az állományok elérhetőek!(vagyis be van kapcsolva és elérhető a hálózaton)
Elkerülendő hogy a utorrent netalálja az állományokat majd legközelebb ujra kelljen ellenőriznie mindet.
Próbáltam magamtól utánna nézni de nekem kinai,pedig annó basic-ban bepötyögtünk dolgokat c64-en,profiknag gondolom 2-perc.
Egy szkriptet valaki belinkelt a másik topikban ami egy program inditást késleltet,gondolom ez sem lehet túl bonyolult.Előre is köszi.

Option Explicit
'strFolder -> kívánt könyvtárnevet beleírni
'fShell -> utorrent.exe teljes elérési útvonala (dupla quote kell, ha az elérési útvonal tartalmaz space-t)
Dim sFolder, oFSO
Dim oShell, fShell
sFolder = "S:\Share"
fShell = """c:\ProgramFiles\uTorrent\uTorrent.exe"""
Set oFSO = CreateObject("Scripting.FileSystemObject")
While not oFSO.FolderExists(strFolder)
WScript.Sleep 30000
Wend
Set oFSO = Nothing
WScript.Sleep 5000
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run fShell
Set oShell = Nothing
A két változó értékét beállítod:
- share könyvtár helye (célszerű map-elve meghajtóra)
- torrent program elérési útvonalaA script fél percenként megnézi, hogy elérhető-e a share, amikor igen, elindítja a programot.
AE
-
ArchElf
addikt
-
ArchElf
addikt
Pendrive - csak írni kell egy dummy drivert, ami USB drive-nak hazudja magát
Általában a webes ellenőrzzéses - webservice-es? -, no meg a jól bevált kulcsgenerálós megoldások mennek mostanában szerintem.Esetleg lehet használni hardveres megoldást is (smartcard, titkosított pendrive) ha tényleg erősen fizetős megoldást lesz, de itt már rendesen bele kell gányolni a kódba is, hogy nehezen törhető legyen.
AE
Amúgy lassan feltöri az IPhone-os srác a PS3-at...
http://geohotps3.blogspot.com/AE
-
ArchElf
addikt
Hát csak nem mindegy, hogy milyen könnyen lehet visszafejteni.
Pl.: egy UPX-el titkositod akkor azt még az upx vissza is tudja fejteni. De mondjuk egy Armadillo-val már keményen trükközni kell és ismerni az gépikódot...A kérdés mindig az, hogy kitől kell védeni a sw-t.
@dobozossör - esetleg még egy pendrive sn-t kiolvasni és kötni a kódhoz.
Igy nem indulna el másik pendrive-val.Pendrive - csak írni kell egy dummy drivert, ami USB drive-nak hazudja magát
Általában a webes ellenőrzzéses - webservice-es? -, no meg a jól bevált kulcsgenerálós megoldások mennek mostanában szerintem.Esetleg lehet használni hardveres megoldást is (smartcard, titkosított pendrive) ha tényleg erősen fizetős megoldást lesz, de itt már rendesen bele kell gányolni a kódba is, hogy nehezen törhető legyen.
AE
-
ArchElf
addikt
Hello mindenki!
Kezdő vagyok és abban szeretnék segítséget kérni, hogy MS Access-ben el lehet érni azt valahogy, hogy a beviteli mezőbe írt adatokat ne tegye be rögtön a táblába.
Én arra jutotttam, hogy egy checkbox-ot tennék be amit egy gomb lenyomás leellenőriz, és akkor engedi menteni a recordot.
Private Sub mentes_Click()
If jelolonegyzet.CheckState = CheckState.Checked Then
RunCommand acCmdSaveRecord
Else
MsgBox ("Nem jelölte be az elfogadást !")
End Sub
Mi lehet a hiba?
Segítséget előre is köszi!Pl., a beviteli mezők ne legyen összekötve a táblával, hanem egy megírt insert-tel tedd be az adatokat az adatbázisba.
Persze ez hackelés
Azt is csinálhatod, hogy beteszel a táblába egy kötelező mezőt érték ellenérzéssel (Yes/No típus, "validation rule" = True) , és úgy csak akkor tud adatot feltölteni, ha a checkbox be van kapcsolva...AE
-
ArchElf
addikt
-
ArchElf
addikt
Helló!
Tudtok ajánlani valami ingyenes kiegészítőt Visual Studio 2008 (jelenleg Express) alá, amivel tudok Ribbon Bart készíteni Basicben?
Köszönöm!
Asszem láttam 1-2 éve a codeproject-en ribbon bar komponenst. Lehet, hogy nem vb, hanem c# alatt volt megírva, de ez a .NET motort nem nagyon izgatja.
AE
-
ArchElf
addikt
És ha shell() nem jó: Win32 API megvalósítás
AE
-
ArchElf
addikt
InStr-el és egy pofás ciklussal tudsz ilyet csinálni.
AE
-
ArchElf
addikt
Helló!
Remélem tud valaki segíteni.
Szeretnék egy txt fájlból adatot beolvasni úgy hogy mindet külön vegye mert egy bejelentkezést csinálnék a regisztrációs része kész a proginak és ez elmenti egy txt fájlba de így nem birok bejelentkezni csak ha egy felhasználó van regisztrálva mert mindíg csak az első sorba írt információt észleli.
Várom a választ.Nem igazán értem problémád. Hogy olvasod be sort? Ha bemásolsz kódot, talán megmondjuk mit keféltél el.
Amúgy felhasználónév jelszó txt fájlban... A hátamon is feláll a szőr.
AE
-
ArchElf
addikt
-
ArchElf
addikt
Nem is ott kellene lennie annak, hanem a windows/system32 könyvtárban.
Ha nem megy a program, elötte telepíteni kell az adott dll-t vagy a vb6 redist csomagot (ha még egyáltalán van ilyen...)AE
-
ArchElf
addikt
-
ArchElf
addikt
Elmondom, hogy is van ez nálam.
Van ugye a formon egy ListView vezérlő, ami eléggé el nem ítélhető módon a ListView1 nevet viseli.
Az inicializáló részben a következők történnek:
ListView1.ColumnHeaders.Add 1, , "Címke", 900
ListView1.ColumnHeaders.Add 2, , "Leírás", 8000
ListView1.ColumnHeaders.Add 3, , "Típus", 5000
ListView1.ColumnHeaders.Add 4, , "Dátum", 1500Vagyis kap négy oszlopot. (Az első név félrevezető: a címke valójában a sorszámot jelenti.)
Ezeket a következőképpen töltöm fel.
'A listview vezérlő feltöltése
If Tombmeret > 0 Then
For i = 1 To Tombmeret
If AdatBazis(i).hasznalt = True Then
a$ = "A" & Str(i) 'Sajnos számot még füzér alakban sem fogad el a hülye listview vezérlő, ezért egy betű kell elé. De ez komoly, még str(i)-t sem enged magába tölteni.
FoAblak.ListView1.ListItems.Add , a$, Str(i)
FoAblak.ListView1.ListItems(a$).SubItems(1) = Trim(AdatBazis(i).leiras)
FoAblak.ListView1.ListItems(a$).SubItems(2) = Tipus_szoveggel(AdatBazis(i).tipus)
FoAblak.ListView1.ListItems(a$).SubItems(3) = AdatBazis(i).datum
End If
Next i
End IfA rendező rész a következő:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
Dim a As Integer
a = ColumnHeader.Index - 1
ListView1.SortKey = ColumnHeader.Index - 1
If ListView1.SortKey = a Then
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
ElseIf ListView1.SortOrder = lvwDescending Then
ListView1.SortOrder = lvwAscending
End If
End IfListView1.Sorted = True
End SubEzzel vidáman rendez pl. dátum szerint is oda-vissza, de az első oszlop (ami a sorszám lenne) a szokásos hibát produkálja: a 10 nem a 9 után jön, hanem az 1 után (ABC szerinti rendezés).
Mit lehet tenni?
Kis angoltudás kék hozzá: link
AE
Comment 1: 5 perc google volt
Comment 2: VB.NET-ben kb ugyanennyi idő megcsinálni is (lásd IComparer intefész) -
ArchElf
addikt
Köszi a tippeket!
Egyébként most miben programozol? Fejlettebb VB-ben, vagy úgy általában abbahagytad a VB-t? Csak azért kérdeztem, mert én most ezen gondolkodom. Megpróbáltam egy projektet átvinni VB2005 alá, de nem sikerült. Annyival eltérnek az újabb verziók? Annyira, hogy gyakorlatilag újra kell tanulni a programozásukat? Megéri?
Az utasítások eléggé különböznek, de azt szoktam mondani, hogy ha az ember nem "szemellenzősen" tanul programozni, az egyik nyelvről egy másikra való váltás csak napok/hetek kérdése. A váltásnál a legnagyobb nehézség a megszokások lerázása (alap változótípusok megtanulása, alap műveleti típusok formázása, programfelépítés), a többi csak arról szól, hogy nem a-nak hívják a függvényt, hanem b-nek, és nem három argumentuma van, hanem négy

Amúgy ezekben aktívan programozok, azt azért nem merem mondani, hogy fejlesztek
C#
PHP
VBS
Ezekben meg nem aktívan, csak ha úgy hozza az igény:
VB.NET
ASP.NET
Java
VB6
C/C++AE
-
ArchElf
addikt
De
(vagy CurDir???)
Amúgy ha jól rémlik ezt azt adja meg, ami:
1)
Ha magát az exe-t indítottad el, az a könyvtár, ahol az exe van
2)
Ha shortcut-ot indítottál, az a könyvtár, ami a shortcut "start in" mezőjében szerepel. Ha a start in könyvtár nem érvényes, akkor asszem a %windir% környezeti változó lesz az értéke (ami leggyakrabban c:\windows, de ez is telepítésfüggő)Úgy rémlik, hogy a VisualBasic IDE-t úgy lehet "átvágni", hogy ne a c:\program files\... legyen a start in könyvtár a projektnél, hanem a projektkönyvtár, hogy nem az IDE-ből indítod el a projektedet, hanem közvetlenül a projekt fájl megnyitásával. Elég régen használtam már VB6-ot nem vagyok benne biztos.
AE
-
ArchElf
addikt
Épp azt írtam, hogy ez program és installer függő. Vagy célszerű tudnia programodnak, hogyan működik az installer (hova milyen adatokat ír), vagy pedig csak egyszerűen le kell kérdeznie a futó folyamat indítási könyvtárát.
Amúgy az alkalmazásodba ne statikus, hanem relatív útvonalat használj. Tudom, hogy ez problémás a fejlesztéskor, mert alapból VB könyvtárában keresi a fájlokat, ha egy projektet indítasz, nem a projekt könyvtárában, de ezt is meg lehet kerülni.AE
-
ArchElf
addikt
Hát, igen, az első megoldás az lenne, hogy összecsomagolom, és használati utasításként mellé írom, hogy a c:\xyz könyvtárba KELL kitömöríteni, és csak oda, mert máshol nem működik. (Bár ez nem igazi megoldás.)
Valami szabvány telepítőre gondoltam; gondoltam, azzal nem lesz sok gond. Tartalmaznak az ilyenek valami módszert a registry írásra vagy más effélére?
A Visual Studionak van saját installere (persze nem az Express változatnak), de lehet válogatni a piacon is bőséggel (de ha van egy 1 órád, vagy fél napod, te is összedobhatsz egy alap telepítőt a programodhoz)... Anno használtam VB6-hoz is a beépített installer plugint (bár azért az kicsit már a szenvedés határát súrolta).
AE
-
ArchElf
addikt
Kérdés, hogy hogyan telepítették föl... Mondjuk a legegyszerűbb megoldás a registry (telepítéskor beíródik oda minden adat, ami neked kell), de lehet egy text file is a programod mellett. Mindenesetre ez nagyban függ attól, hogy te írod a telepítőt is, vagy valami szabvány telepítőbe teszed bele a programod.
Amúgy az alkalmazás le tudja kérdezni a környezeti változóit. Pl mi a futtatott fájl elérési útvonala, mi van megadva "start in" könyvtárnak a linkjében, ha azzal indították, ésatöbbi...AE
Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Gaming notebook topik
- Házimozi belépő szinten
- Xbox tulajok OFF topicja
- Építő/felújító topik
- Allegro vélemények - tapasztalatok
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Archttila: SMART tesztelés automatizálva: smartctl poller script Zsh-ban, RPi-re
- Yettel topik
- Mibe tegyem a megtakarításaimat?
- Asztalos klub
- További aktív témák...
- 4000GB Gen4x4 NVMe SSD, 1 év gar 4TB!!!
- SZÉP! HP ZBOOK FURY 15 G7 Tervező Vágó Laptop -70% 15,6" i7-10850H 32/512 Quadro RTX 3000 6GB FHD
- GARANCIÁLIS LEMEZES PLAYSTATION 5 SLIM CFI-2116
- NAGYKER ÁR!Sosemhasznált! HP OmniBook 5 Flip i5-1334U 8GB 512GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- Macbook Pro 14" A2442 2021 M1 Pro 32/1TB Silver
- Samsung Odyssey G7 S28AG700NU IPS Monitor! 3840x2160 / 1ms / 144Hz / FreeSync / G-Sync
- iPhone Xs 64GB 100% (3hónap Garancia)
- Gamer PC-Számítógép! Felsőkategória! R7 9800X3D / RX 9070XT / 32GB DDR5 / 2TB SSD / Noctua !
- Apple MacBook Pro 14 M3 Pro (2023) 18GB/512GB SSD karcmentes állapotban 98% akku 94 ciklus
- Telefon felvásárlás!! Samsung Galaxy A16, Samsung Galaxy A26, Samsung Galaxy A36, Samsung Galaxy A56
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



) dolgoz fel.


Nem értem, hogy miért, de annak ellenére, hogy egy alőző sorban aktiválom (mindegy, hogy .select vagy .activate-el) a cél munkalapot, a rows(n).select sort csak úgy fogadja el, hogy előtte a munkalapot is beírom.



Az angolom is hagy kívánnivalót maga után, úgyhogy ha nagy ritkán végképp nem találok valamire megoldást, akkor szoktam jólelkű fórumozókhoz fordulni. nyilván valszleg magában az objektumorientált programozás alapjaiban is vannak hiányosságaim, ezt vagy elnézitek nekem, vagy nem. ha nem, akkor nem válaszoltok, volt már ilyen.


Amit szeretnék
Tele van a világ ilyenekkel, nem? 


