- Mindenki Z Fold7-et akar
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy A54 - türelemjáték
- Honor 200 Pro - mobilportré
- Samsung Galaxy S24 FE - később
- Szívós, szép és kitartó az új OnePlus óra
- Realme GT 5G - versenyképes
- Yettel topik
Hirdetés
Új hozzászólás Aktív témák
-
REDeath
őstag
válasz
ArchElf #1435 üzenetére
bár csak vasárnap leszek én gépemnél, de úgy emlékszem igen, totál szürke mindig..
pedig 64 bites vs2008 van, lehet service pack hiányzik neki? az azért durva lenne ha ezt a kvázi fő debugger funkciót 64 bitesben elrontották volna, ezé nem hinném hogy sp hiánya miatt lenne -
sunsaw
tag
válasz
ArchElf #1424 üzenetére
Ez egy elég jó tervezési taktika, még nem használtam a gyakorlatban többszálú alkalmazásvezérlést, de köszi az ötletet! Ez tényleg jó... van már valami neve a pattern-nek?
FehérHolló: arra van a szerkesztés gomb, 5 percen belül még lehet javítani, mint ahogy most én is ezt teszem
-
sunsaw
tag
válasz
ArchElf #1389 üzenetére
Ha a solution-od része a DLL projektje, akkor persze, hogy újrafordul az egész, mert a VS figyeli a dependencia listát, és a DLL magával húzza a fő projektet is a fordítás során. Ezt csak úgy tudod kikerülni, ha teljesen ketté választod őket, ésa DLL-t külön solution-ba, külön projektbe teszed. Persze, emiatt két külön Visual Studio példányod lesz megnyitva egy időben, ha párhuzamosan akarod fejleszteni őket, de arra figyelj, hogy mindig a DLL-t kompájlold előbb! A DLL projekt post-build-jébe meg beteszed a másolgatós parancsokat, amik simán a másik solution megfelelő helyén felülírják a DLL-t, amire a hivatkozás mutat. Ha így csinálod, 100%, hogy nem kell újraforditanod a fő solutiont, elég futtatnod a kész .exe-t! Remélem jól értem, hogy mire gondolsz, bár nem vagyok benne teljesen biztos!
-
sunsaw
tag
válasz
ArchElf #1387 üzenetére
Igen lehetséges, amennyiben az új DLL ugyanazt a célt hivatott szolgálni, tehát az interfészeknek, becsatlakozási pontoknak, publikus metódusoknak, paraméterkészleteknek és attribútumoknak minimum 100%-osan ugyanazt a szolgáltatáskészletet kell kifele mutatni a hivatkozó projektnek, és akkor nincs gond. Belül természetesen lehet szépíteni/fejleszteni a rutinokat, meg lehet új funkciókat hozzáadni (bár ennek sok értelmét nem látom, amennyiben publikusakká tesszük őket, mert úgyse lesznek hívva, inkább extra belsőknek látom még értelmét). Csináltunk is ilyet Microsoft partner programozói tanfolyamon, szóval én úgy tudom, hogy lehetséges, meg szoktam is ilyet csinálni én magam is, ha jól van megírva a DLL kódja meg a hivatkozó projekté, akkor nincs gond. Egyébként ilyen másolgatós cserélgetős dolgot, amennyiben nem setup projektet gyártasz, mindenféle konzolos batch fájl-lal is automatizálhatsz, ha ez még nem jutott volna eszedbe itt: jobb-klikk Projekt / Tulajdonságok / Build events fülön tudsz fordítás utáni parancsokat kiadatni vele (copy, xcopy, akarmi.bat, stb), és láttam olyat, aki ezt komolyan használja mindennapi életben (egy MVP).
-
sunsaw
tag
válasz
ArchElf #1379 üzenetére
Jahogyoké!
De ez nem oldja meg akkor sem azt a kitételt, hogy wrapper-t ne. Valóban nem olvastam végig, lehet kövezni
Azt hittem fájl formátum miatt mondod. Gyorsan áttúrtam codeplex-et, de úgy látszik nem sok alternativ megoldás van. Egyelőre a DonNetZip tetszik, a másik kettő meg amit mondtatok: SevenZipSharp és SharpZipLib. Mindegy, háromból azért már lehet válogatni
Köszi mindenkinek.
-
sunsaw
tag
válasz
ArchElf #1377 üzenetére
7-zip nem rossz, de maradjunk ZIP-nél, mert szörnyű lenne, ha nem tudná a beépitett Windowsos kicsomagolni a cuccost. A másik ami nem tetszik ebben, hogy ez csak egy wrapper... hasonló lib teljesen nativ kódban viszont érdekelne a későbbiekben, ha tudsz mondani! Addig is ezt viszont köszönöm szépen!
-
bpx
őstag
válasz
ArchElf #1299 üzenetére
nem is kellettek ide napok
bme msdnaa -
Asesino
csendes tag
válasz
ArchElf #1290 üzenetére
Köszönöm a segítséget, igazából nem az sp6 kellene hanem együtt a visual studio 6 sp6. Illetve az msdn library is kellene ehhez a verzióhoz. A 2010 rc verziót kihozza full iso-ba de a régebbi verzókat nem találom. Lehet én vagyok a lámer de ha esetleg meg lenne ez a link azt megköszönném.
-
sunsaw
tag
válasz
ArchElf #1261 üzenetére
Igen, mert az emberek tobbsegenek az a baja, hogy a ShowDialog metodus valoban megnyitja dialogus modban az uj ablakot (letre kell hozni egyet feltetlenul, nem letezik Modal Windows vagy hasonlo WPF alatt, nem letezik iylen, mint Control), csak aztan furcsa modon banik a fokusszal (es most finoman fejeztem ki magam, mert eleg idegesito!). De az a vicces, hogy a Microsot SDK Sample-je meg ugy fut, mint ahogy azt el lehet varni, es az is ugyanugy .net 4 alatt. En nem tudom, mi a francot tehetnek ok bele, amitol nekik mukodik, nekem meg nem... direkt teszteltem, az o kodjuk tokeletes, egyetlen fokuszra utalos sort talaltam a kodjukban, ami az enyembol hianyzott szemmel lathatoan, azt atmasoltam, de ugy sem ment (sot MSDN-bol kiderult, az amugyis vmi tok masra van, amit beirtak, de varom a megoldasodat). Amugy igen, VS2010 RC kell hozza, meg esetleg egy JetBrains ReSharper Beta (5-os nightly build beta-t tettem hozza, mert az jo). Ja, IntelliSense PAtch-et rakd fel, kulonben idegbajt kapsz a 10 inditas utan: VS2010RC IntelliSense Patch
-
-
sunsaw
tag
válasz
ArchElf #1254 üzenetére
2010 RC. Eppen ez az, amit mondtam, hogy az SDK peldaban ez a bug nem jon elo, de az alkalmazasomban meg igen. Ugyanigy .net4 alatt is, SDK pelda OKés, szoval nincs ez a hulyeseg, az en alkalmazasomnal viszont mvan, szoval van itt valami megoldas, csak nem tudok rajonni (meg ezek szerint te sem!), hogy mi az.
-
sunsaw
tag
válasz
ArchElf #1247 üzenetére
Kiprobaltam. Alkalmazas indit, majd ShowDesktop menu. Ha rakattintok az ikonra a talcan, akkor a foablak jelenik meg (hibasan, mert a megnyitott dialogusablaknak kellene), es ha ezutan koztvetlenul AL+TAB-olok, akkor ott meg a dialogusablak van kirakva kiskepnek es az is jon be. Nem ertem en ezt
NEm hiszem, hogy desktop bug, mert az MS-nek mukodik, de egyszeruen nem latom, mi az, ami nalam hianyzik, lehet vmi titkos hidden focus event?
-
sunsaw
tag
válasz
ArchElf #1245 üzenetére
Koszi. Megneztem, belekotortam forrásba is, és teljesen úgy csinálják, ahogy én. Rendes uj ablak, ShowInTaskbar false, ShowDialoggal megnyitni. De viszont nekik nem jelenik meg dupla az ALT-TAB-ra... nem tudom, miert van ez igy, amugy konvertalni kellett a projektet, mert en VS2010-et hasznalok, ez szamithat valamit? Megnézné nekem valaki, hogy melyik az a kulcspont, ami miatt nekem dupla ablak van a taszkváltásnál, nekik meg csak egy? Nincs otletem sem, olyan tul egyszeru a kod, hogy nem talalom a lenyeget meg sajnos, lehet, hogy nem jo pontra koncentralok es elkeruli valami a figyelmem
Sot, meg jobbat mondok, ezt csinalom: elinditom a programot, megnyitom a dialogus ablakot, ALT-TAB-nal csak a dialogusablak latszik. Ha elvaltok rola, majd vissza ALT-TAB-bal, akkor csak a dialogusablak jelenik meg, a foablak nem. Ha azt csinalom, hogy elinditom, megnyitom a dialogusablakot, es elvaltok, majd talcan kattintok a feladatra, akkor a foablak jon be, es nem a dialogusablak (szimulalt lefagyas, ami nem jo!). Mit kene tenni?
-
Immy
őstag
válasz
ArchElf #1188 üzenetére
Üdv
A hookolásról csak olvastam, saját magam még nem próbáltam ki, mert normális leírást, tutorialt nem találtam hozzá.
Controlokat hogyan tudom lekérni? (bocsi, de ez nekem még magas)(Nem hackelni akarok hanem csak adatokat kinyerni, ami akár lehet kép, akár szöveg, de szerintem a szöveg nehezebb)
Figyeltem a hálózati forgalmat wireshark-al:
https kapcsolaton megy a forgalom + azt hiszem rsa2-es védelem van még a küldött/fogadott szövegeken --> ez számomra feltörhetetlen. -
Bumbi0
csendes tag
válasz
ArchElf #1161 üzenetére
Úgy néz ki elakadtam!
Ennek http://www.codeproject.com/KB/threads/winspy.aspx és a fentebb beszúrt linkeknek a segitségével próbálom megoldani, hogy más program memóriájában tudjak keresni.
A most linkelt linken a 3. módszer próbálom megvcalósitani, a kód injektálást a program memóriájába. Ott egy ilyen összegzés látható:
Now, we can summarize this technique in the following steps:
1, Retrieve a HANDLE to the remote process (OpenProces).
2, Allocate memory in the remote process's address space for injected data (VirtualAllocEx).3, Write a copy of the initialised INJDATA structure to the allocated memory (WriteProcessMemory).
4, Allocate memory in the remote process's address space for injected code.
5, Write a copy of ThreadFunc to the allocated memory.
6, Start the remote copy of ThreadFunc via CreateRemoteThread.
7, Wait until the remote thread terminates (WaitForSingleObject).
8, Retrieve the result from the remote process (ReadProcessMemory or GetExitCodeThread).
9, Free the memory allocated in Steps #2 and #4 (VirtualFreeEx).
10, Close the handles retrieved in Steps #6 and #1 (CloseHandle).Elvileg az első kettőt megcsináltam, de nem értem hogy milyen kódot kéne bejuttatnom a process memóriájába!
Az előző hozzászólásban emlitett linkenhez (http://www.codeproject.com/KB/threads/MDumpAll.aspx) hasonló dolog kellene, hogy csak simán a Process memóriában stringet keresni, az egész C-ben van megirva és nem sokat értek belőlle!
Sajnos nem tudom, hogy folytathatnám tovább. Azt nem értem, hogy a ProcDumpos linken nem is emlitenek DLL/kód injektálást és tud a memóriában olvasni, a másik módszernél akkor miért kell?
Előre is köszönöm szépen a segitségeteket!
Eddig igy néz ki a kód:
[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);[DllImport("kernel32.dll")]
static extern IntPtr OpenProcess(ProcessAccessFlags dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, UInt32 dwProcessId);[Flags]
enum ProcessAccessFlags : uint
{
All = 0x001F0FFF,
Terminate = 0x00000001,
CreateThread = 0x00000002,
VMOperation = 0x00000008,
VMRead = 0x00000010,
VMWrite = 0x00000020,
DupHandle = 0x00000040,
SetInformation = 0x00000200,
QueryInformation = 0x00000400,
Synchronize = 0x00100000
}[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, UInt32 dwSize, AllocationType flAllocationType, MemoryProtection flProtect);[Flags]
public enum AllocationType : uint
{
Commit = 0x1000,
Reserve = 0x2000,
Decommit = 0x4000,
Release = 0x8000,
Reset = 0x80000,
Physical = 0x400000,
TopDown = 0x100000,
WriteWatch = 0x200000,
LargePages = 0x20000000
}[Flags]
public enum MemoryProtection : uint
{
Execute = 0x10,
ExecuteRead = 0x20,
ExecuteReadWrite = 0x40,
ExecuteWriteCopy = 0x80,
NoAccess = 0x01,
ReadOnly = 0x02,
ReadWrite = 0x04,
WriteCopy = 0x08,
GuardModifierflag = 0x100,
NoCacheModifierflag = 0x200,
WriteCombineModifierflag = 0x400
}void str_Hotkey()
{
IntPtr hwnd, processHandle, remoteBuffer;
uint threadID, procID = 0;
const uint bufferSize = 1024;hwnd = GetWindowUnderCursor(); // Window handle-jének az átadása
GetWindowThreadProcessId(hwnd, out procID); // Window handle-ből ProcessID-nek a visszakapása
processHandle = OpenProcess(ProcessAccessFlags.All, true, procID); // Elvileg a process megynitása
remoteBuffer = VirtualAllocEx(processHandle, IntPtr.Zero, bufferSize, AllocationType.Commit, MemoryProtection.ExecuteWriteCopy); // Elvileg a process memóriájában foglal le memóriát a kódnak.}
-
-
Bumbi0
csendes tag
válasz
ArchElf #1153 üzenetére
Meg viszont, újabb gondom van, amit sehogy nem tudok megoldani és a Google sem segített és más fórumok sem.
Egy textboxhoz szeretnék adatot küldeni, de a WM_SETTEXT nem felüírja azt, hanem hozzáfűzi és a WM_CLEAR nem hajlandó kitörölni a tartalmát.A másik, hogy SendMessage-el és Post Message-el is próbáltam egér kattintást küldeni egy window-n lévő gombra, viszont nem kattint rá. Paintbe megnéztem és ott viszont minden gond nélkül kattint. Sajnos a gombnak nem elérhető a handle-je Spy++-al így arra nem tudok hivatkozni csak a formon lévő koordinátára. A SetCursor és Mouse_event párosítás nem jó, mert gyakran elő fordul. hogy a gomb takarásban van más program által, ezért a formra hivatkozok jelenleg.
Előre is köszi a segítséget!
Egyébként valóban többet kellett volna a Google-ben keresnem
-
Bumbi0
csendes tag
válasz
ArchElf #1097 üzenetére
Nem értem, hogy mi szükség van konstruktorra.
Ilyesmire gondoltál? Mert így ilyen hibaüzenete kapok:
Error 1 A local variable named 'ghk' is already defined in this scopeprivate void textBB_KeyDown(object sender, KeyEventArgs e)
{
char chrHotkey;
string strHotkey;strHotkey = e.KeyData.ToString();
chrHotkey = strHotkey[0];switch (chrHotkey)
{
case 'A':
GlobalHotKey ghk = new GlobalHotKey(Win32.KeyCodes.VK_A, false, false, false, false);
ghk.Hotkey += new VoidEventHandler(Hotkey);
break;case 'B':
GlobalHotKey ghk = new GlobalHotKey(Win32.KeyCodes.VK_B, false, false, false, false);
ghk.Hotkey += new VoidEventHandler(Hotkey);
break;default:
break;
}}
-
bpx
őstag
válasz
ArchElf #1060 üzenetére
a működés logikája az helyes, template nélkül működik rendesen
ez inkább szintaktikai kérdés
amit nem értek, hogy a ChannelListenernél a TChannel-re meg van adva hogy az egy class, IChannel, akkor ha paraméterként átadom a példányt, akkor miért kapok olyan hibaüzenetet, hogy a TChannelt nem tudja IChannelre konvertálni -
Immy
őstag
válasz
ArchElf #1041 üzenetére
<a class="build" href="dorf1.php?a=4&c=70c">
Ebből akarom kiszedni a linket. (href utáni részt).
A Te általad berakott programkódod üres stringet szed ki semmit. Próbálgattam módosítani, de max annyit tudtam elérni, hogy "gyűjtemény" szöveget irattam ki.Más:
Hogyan lehet késleltetést berakni 2 webbrowser navigate közé?
thread.sleep-el akartam, de az nem működött jól (szerintem a webbrowser más szálon fut). -
acélkemény
csendes tag
-
acélkemény
csendes tag
Éppen konzolos programmal próbálkozom, csak gondoltam, elobb tesztelem az alapokat és megcsinálom Management Studio alól (az nem VS hanem az SQL Server alapcsomagban van benne). A kérdésem nem az volt, hogy hogyan olvasom be a fájlt, bár ez késobb még jól johet. A kérdésem az, hogy "mibe" toltsem. Magyarul a DataType-t nem tudom, minek érdemes választani ilyen esetben.
- egy paraméterezett SQL-el a byte[] tömb feltöltése az adatbázisba
ezt kifejtenéd? van otletem, hogy mire gondolsz, de nem vagyok benne biztos, hogy arra gondolok, amire te szeretnéd!
-
Üdv!
Ez tetszik. Erőlködtem a Show()-al rendesen, mert sejtettem, hogy azzal lesz jó. Csak makacsul erőltettem hozzá a Close()-t. Az ugye meg fabatka...zár mindent.Valami nincs rendben nálam. A LoginScreen Form-nak nincs Visible tulajdonsága. Vagy valamit nagyon félreértettem?!
Azért oldottam meg így, mert a LoginScreen indulásakor ellenőrzi, hogy a szükséges fájlok megvannak e. Ha nincsenek akkor már be sem tölti a ComboBox-ba a névlistát. (Név szerinti azonosítás szükséges, de nincs jelszókérés mert arra viszont már nincs szükség.)
Szóval ha minden oké és "Belép" akkor egyrészt megnyílik a MainScreen másrészt egy delegate-el "átdobom" neki, hogy ki lépett be mert az indulással együtt személyhez kötött info-t kell számolnia fájlból a MainScreen-nek.Ettől függetlenül átgondolom az általad javasolt működést.
Üdv:
sutszi -
Rodrighez
csendes tag
A .bmp-t azt Paint-tel a .cur fájlt azt vagy 5 különböző programmal, de vagy "Sérült fájl" hibát írt, vagy, mint írtam fekete színű volt minden szín.
Így jelenítem meg a .cur-t:
{
Cursor sajat = new Cursor(@"C:\...\kurzorom.cur");
this.Cursor = sajat;
}A .bmp-t nem írom le, mert bár az sikerült, de abban nem lehet átlátszó színt csinálni, négyszög alakú kurzor meg nem kell.
A monitorom 32 bites
Vagy mi érdekel?
-
Rodrighez
csendes tag
Üdv!
Bocs, hogy témát váltok, de van egy kis gondom a V C#-pal.
C# programom fölött szeretnék saját kurzort megjeleníteni. Addig eljutottam, hogy megjelenik a kurzor amit csináltam, de minden színt feketének jelenít meg (fehéret még nem próbáltam). Az átlátszóság működik.
Másik lehetőség, hogy nem .cur fájlt, hanem .bmp-t teszek bele. Ekkor működnek a színek, de ugye abban meg átlátszó nincs.
Mi lehet a gond és hogyan küszöbölhetném ki?
-
SimS
senior tag
Üdv, gyorsan jött a válasz, kár h nem voltam gépnél.
Igen, van ilyenem fenn, alapból rakja a VS2008, viszont a használata nem tiszta, hogyan rakom ezt össze egy WindowsFormApplication-el?
Ha értesz hozzá, jöhet privátban is akár egy kis példaprogi pl. Miket kell tennem, hogy megnyitáskor egy adott komponensbe (akár egy form) történjen a dokumentum megnyitása (mint pl richtextbox.LoadFile()) illetve hogy a megnyitottat tudjam kóddal szerkeszteni?
Lassan már azt kérem írd meg helyettem
neem, csak elindulni nehézkes, megvannak a feldolgozó algoritmusaim, csak a mozgás és a dokumentumkezelés nem tiszta
SimS
-
ArchElf
addikt
Szövegbevitel TextBox-ból. Szöveg konvertálása számmá pl int.Parse(), Convert.ToInt32() függvényekkel.
Doboz keret+kitöltés:Rectangle r = new Rectangle(10, 10, 100, 100);
Color c1 = Color.Red;
Color c2 = Color.Orange;
g.DrawRectangle(new Pen(new SolidBrush(c1)), r);
g.FillRectangle(new SolidBrush(c2), r);AE
-
sghc_toma
senior tag
mármint úgy érted, hogy CPU-ra nem érdemes párhuzamosítani..
holnap vizsgázom analból, úgyhogy csak gyorsan átgányoltam a DirectX10-es MD5 törőmet, hogy 32 bites int-ről döntse el, hogy prím-e.. bármilyen 32 bites egészre enter nyomása után rögtön megkapom az eredményt.. persze ez itt most off, mert gondolom a versenyben CPU-ra kell optimalizálni a feladatot -
ArchElf
addikt
Találtam egy példát, ahol gyorsabb az előre leszámolt
Primszamvizsgalat. Kerem a vizsgalando szamot: 998877665544332111
Primszamitas (új) folyamatban...
Osztoi:
nincsenek
Primszam.
Számítás időtartama: 27917 ms
Primszamitas (math) folyamatban...
Osztoi:
nincsenek
Primszam.
Számítás időtartama: 71188 ms
A kilepeshez nyomjon le egy billentyut!AE
-
ArchElf
addikt
Ehh
Megoldottam az egészet, gyorsabban 512 MB memória nélkül is...
Egyszerű matek. Úgy tűnik a sok memória és a sok számítás meg feltétel lasabbá teszi az egészet, mint az egyszerű számítgatás.private static bool isPrimeWithCountNewSingular(Int64 szam)
{
Console.WriteLine("Osztoi:");
// Lista az osztók tárolására
List<long> osztok = new List<long>();
long bc = szam;
Int64 ix = 2;
bool search = true;
while (search)
{
long lr;
long sq = (long)Math.Floor(Math.Sqrt(bc));
if ((lr = GetPrimes(szam, ref bc, ref ix, ref search, sq)) != 0)
osztok.Add(lr);
}
if (osztok.Count == 0)
{
Console.WriteLine("nincsenek");
return true;
}
else
{
Console.WriteLine("{0} prímtényezőre osztható, melyek a következők:", osztok.Count);
foreach (long l in osztok)
Console.Write("{0} ", l);
Console.WriteLine();
return false;
}
}
private static long GetPrimes(long szam, ref long bc, ref Int64 ix, ref bool search, long sq)
{
long oszto = 0;
bool mul = false;
while (ix <= sq)
{
if (bc % ix == 0)
{
bc /= ix;
mul = true;
oszto = ix;
break;
}
ix++;
}
if (!mul)
{
if (bc != szam)
oszto = bc;
search = false;
}
return oszto;
}FCK... mást nem akarok mondani.
AE
-
ArchElf
addikt
folyt.
prímszámítás kommentezve:private static bool isPrimeWithCountNew(Int64 szam)
{
Console.WriteLine("Osztoi:");
// Lista az osztók tárolására
List<long> osztok = new List<long>();
int result_x;
// Ha nem nyilvántartott prímszám akkor elkezdjük keresni
if ((result_x=GetPBit(szam)) != 1)
{
// keresési érték = kezdőérték
// elsőször egyenlő a számmal
long bc = szam;
// prím keresés első lépésének inicializálása
Int64 ix = 2;
// Addig iterálunk, míg minden gyököt meg nem találunk,
// vagy a sor végére nem érünk
while (true)
{
// amennyiben a keresési érték prímszám eltároljuk és kilépünk a ciklusból
// ez nem lehet az eredetileg keresett szám,
// mert akkor az előző feltételnél nem jutottunk volna be ide
if (GetPBit(bc) == 1)
{
osztok.Add(bc);
break;
}
// a négyzetgyökének veszzük a keresési kezdőértéknek
// kezdeti eseben az első iteráció a kezdeti szám négyzetéig keres
// ha eddig nincs találat a szám prímszám és > UInt32
long sq = (long)Math.Floor(Math.Sqrt(bc));
// ha a keresési kezdőérték prím és a négyzete kiadja a
// a keresett keresési kezdőértéket
// kétszer berakjuk a listába és kilépünk a ciklusból
if ((sq * sq == bc) && (GetPBit(sq) == 1))
{
osztok.Add(sq);
osztok.Add(sq);
break;
}
// osztási sort elkezdjük, addig megyünk,
// amíg a négyzetgyököt el nem érjük
bool mul = false;
while (ix <= sq)
{
int result;
// amennyiben az ix (keresési lépés) prímszám,
// megpróbálunk osztani vele
if ((result = GetPBit(ix)) == 1)
{
// ha sikerül az osztás maradék nélkül,
// a keresési kezdőértéket elosztjuk a
// keresési lépéssel és újrakezdjük külső ciklust
// a találta osztót a listához adjuk
// megjelöljük, hogy volt sikeres osztás
if (bc % ix == 0)
{
bc /= ix;
mul = true;
osztok.Add(ix);
break;
}
}
// amennyiben az keresőszámhoz tartozó tartományban (8 szám - 1 byte)
// nincs prím, úgy előre lépünk 8-at
if (result == -1)
ix = (((ix >> 3) + 1) << 3);
// minden más esetben növeljük a keresőszámot 1-el
else
ix++;
}
// ha nem találtunk osztót
if (!mul)
{
// ha a keresőszám != a keresett számmal,
// akkor a keresőszám > UInt32 és prím
// hozzáadjuk a listához
if (bc != szam)
osztok.Add(bc);
// kilépünk a külső ciklusból
break;
}
}
}
if (osztok.Count == 0)
{
Console.WriteLine("nincsenek");
return true;
}
else
{
Console.WriteLine("{0} prímtényezőre osztható, melyek a következők:", osztok.Count);
foreach (long l in osztok)
Console.Write("{0} ", l);
Console.WriteLine();
return false;
}
}
} -
yash
senior tag
RAR 30%-osra becsli (most alltam csak neki) a bin fajl tomoriteset. Nem tudom, lehet jol jarnal egy tomoritesi algoritmus beiktatasaval, akkor az 512 MB-s fajjlt gyorsabban huzza be a lemezrol, es ha on-the-fly elegy gyorsan ki lehet bontani, hamarabb indulhatna talan a program. Persze ez reszletkerdes, csak erdekessegkeppen megemlitem! Neha ez is tud gyorsitani jelentosen a dolgokon! (PDA szinkronizacional teszteltem egyszer, hogy egy 100 megas compact SQL adatbazis 12 oras rekordonkenti attoltese helyett a teljes adatbazis egy fajlkent valo, tomoritett atvitele 5 perc
szoval azert van kulonbseg sok esetben! van egy ingyenes nagyon egyszeru kis (home hasznalatra ingyenes) ZIP framework, purely written in C#: ComponentAce ZipForge.NET. Par sor az extra kod, esetleg probald felhasznalni!
-
yash
senior tag
Koszonjuk szepen a megfejtest, eddig te vagy az elso
Igazabol, egy kommentekkel mespekelt verzionak is tudnank orulni, ha van szabadidod! Ha van vmi publikus ftp szervered vagy http, ahonnan le tudnank tolteni a magyarazatokkal ellatott forraskodot, annak nagyon tudnek orulni! Eleg nehez megerteni ezt a hash logikas kodot. Esetleg a felhasznalt forrastanulmanyokat is csatolhatnad!
mod: az 1 perc az lehet kicsit lassu lesz statisztikai alapon. Egy 9 szamjegyu szamrol az en verziom ha jol emlekszem 5-6 masodperc alatt mondja meg, hogy prim-e. INT64_MAX-szal meg nem probaltam, lehet mindjart adok neki egy kort...
mod2: most keszul a prime.bin-em
nemsokara meglatom mit tud a te verziod. azert az a 530 MB RAM megeves nem semmi forditaskor
Ebbol is latszik, milyen piti feladahtoz milyen sok otlet lehetseges, es korantsem biztos, hogy meg van hozza minden gepen a szukseges eroforras!
-
ArchElf
addikt
Kicsit karcsúsítottam, így belefért egy hozzászólásba. Sajnos így kimaradt egy csomó státusz jelentés - Console.WriteLine("Éppen ezt, vagy csinálom"); - a legenerálás alatt, így csak az üres képernyőt látja az ember egy jó ideig.
Az első futásnál legenerálja az 512MB-os fájlt - ez kb 10 perc egy 2GHz-es gépen -, utána már gyorsan - kb 8-10 mp alatt - indul.
Kicsit dagályos néhol még a kód, nem nagyon törődtem a rövidséggel.AE
-
remek program nem fogsz benne csalódni!
a gyengébb közepes gépeket úgy megeszi hogy öröm nézniaz egyetemen kockázatos vállalkozás pl egy helpet lehívni mert könnyen vége szakadhat a fejlesztések
de azért karaj cucc.Bár van másik topic is erre de azért megkérdem itt mert ide is tartozik félig:
Van egy vkinek ilyen MS-es MCP vizsgája?
70-536,70-526 vagy talán 70-505 érdekelne. -
Gregorius
őstag
A dolog ennél sajnos súlyosabb. WPF-ben nincs olyan, hogy DataGridView, de még a szimpla DataGrid is csak készül (Silverlightban már van). Az adatkötés is teljesen máshogy működik.
Yash:
Én a helyedben inkább a LINQ-kel barátkoznék, mert habár a mögöttes tartalom sokkal bonyolultabb, az alapozás és az egyszerű feladatok jóval könnyebbek, mint a DataSeteknél. -
yash
senior tag
Nah, ez már jobban tetszik
Ebből meg fogom érteni asszem.. egy kérdés: miért kellenek a DLL-ek??? Úgy értem, ez a feladat tökre hasonlit a virtual-override tipusu metódusokra... alig látok különbséget az, és az interfész tipusú használatok között... mi a különbség amit nem veszek észre?? Ez miért jobb?
-
yash
senior tag
Sajnos nem értem még mindig, akkora homály, hogy szinte már fekete lyuk
REfelction-nál még nem is járok, ez szintén fekete lyuk. Ez a példa meg túl bonyolult számomra, mivel nem értek belőle semmit...
nem lehetne egy olyan kérésem, hogy irsz vmi egyszerü kis magyar nyelvű kódrészletet ALMA, KORTE, GYUMOLCSFA tipusu nevekkel? hatha ugy megertem. esetleg, ha ugy gondolod, hogy metakód-dal jobban elmagyarázható, azt is megköszönném!
-
ArchElf
addikt
Egy példa a lentire(kicsit meg lett vágva). Az példa egy dinamikusan betölthető adatszolgáltató interfésze + betöltő osztálya. Természetesen az adatszolgáltatókat külön meg kell(ett) írni hozzá
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
namespace MonitorUser.Connector
{
public static class ConnectorLoader
{
/// <summary>
/// Collection of all loaded IConnector objects
/// </summary>
public static List<IConnector> Connectors = new List<IConnector>();
/// <summary>
/// Initialize a new IConnector instance and start it
/// </summary>
/// <param name="location">IConnector dll location</param>
/// <param name="name">IConnector full class name</param>
/// <param name="connectionString">Connection string for starting the connector</param>
/// <param name="initData">Additional initialization data</param>
/// <returns>Initialized and started IConnector instance</returns>
public static IConnector Load(string location, string name, string connectionString, ConnectorInitData initData)
{
try
{
IConnector ic = null;
Assembly asm = Assembly.LoadFrom(location);
Type tp = asm.GetType(name);
object p = Activator.CreateInstance(tp);
ic = (IConnector)p;
ic.Connect(connectionString, initData);
Connectors.Add(ic);
return ic;
}
catch
{
throw;
}
}
}
public interface IConnector
{
event EventHandler NewItem;
bool Connect(string connectionString, ConnectorInitData initData);
bool Disconnect();
bool Check();
bool Check(params string[] indexer);
ConnectorData GetNextItem();
bool SetItem(ConnectorData item);
bool SetItem(string referrer);
}
public struct ConnectorInitData
{
public long Position;
public DateTime StartTime;
public string QueryString;
public ConnectorInitData(long Position, DateTime StartTime, string QueryString)
{
this.Position = Position;
this.StartTime = StartTime;
this.QueryString = QueryString;
}
}
public struct ConnectorData
{
public long Identifier;
public List<string> Headers;
public List<Type> Types;
public List<object> Values;
public ConnectorData(long id, List<string> headers, List<Type> types, List<object> values)
{
this.Identifier = id;
this.Headers = headers;
this.Types = types;
this.Values = values;
}
}
} -
r0by
addikt
Igazság szerint egy ilyet szeretnék létrehozni (egy példán keresztül):
Van felül a menüsorom, Fájl, Szerkesztés... Beállítás.
A Beállításon belül mondjuk legyen Input és Output.
Az Inputnál csak 1-2 combobox lenne, így azt csak egy panelra tenném.
Az Outputnál már lényegesen több beviteli adat lenne, ráadásul több csoportra tagolhatóan, itt jól jön a tab.
És ami a kérdésem lett volna itt jön be. Ha a beállítás menüpontban az Inputot választom, akkor megjelenítem a panelom. Ha az Outputra, akkor pedig a tabot (de ugye a többi konténert nem akarjuk látni).
Na de ezt hogyan kell? Erre irányult a kérdésem, hogy most statikusan tároljam el az összes előforduló tab, panel, stb objektumok neveit és ha csak mondjuk az adott panelt akarom látni, akkor az összes többi Visible tulajdonsgát állítsam false-ra és csak az adottat true-ra? És ezt minden egyes klikkelésnél a menüsoron el kell játszanom? (Tehát írjak erre egy saját metódust?)
Vagy létezik már esetleg alapban erre orvosság? -
Lortech
addikt
Tényleg nem a kötözködés, hanem a diskura miatt még megjegyzések:
A sort egy elég böszme nagy metódus, a háttérben olyan mennyiségű többletkóddal, hogy 3 elemnél meg ezért totál értelmetlen használni, főleg ha nem is rendezésre van szükség. Mire eljut a tömb rendezéséig, addigra elemi eszközökkel, kb. 5 sornyi kóddal már ki is irattam a megoldást.
A foreach meg rendkívül jó dolog, de a konkrét esetben kétségeim vannak, hogy egyáltalán tudja-e, mi az a tömb, gyűjtemény stb. Valamiért 3 elemről szólt a feladat.
Valamint úgy gondolom, hogy foreach használatának nincs sok értelme anélkül, hogy pontosan ismeri a működését, és egy sima int tömb bejárásánál a konkrét esetben nem is lényeges az előnye a forhoz képest (kódmennyiség, hatékonyság, átláthatóság).
DE: eredetileg nem ezért mondtam, hogy túlzás a for, hanem mert kényelmes ugyan a használata, de nem egyszerűbb, több tudást feltételez, nem véletlenül tanítják később, és erős a gyanúm, hogy fogalma sincs róla. -
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LG 65C3 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- LG 65BX - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready!
- Samsung LH46EDDPLGC 46" FullHD LED Monitor
- Xiaomi Redmi Note 13 Pro+ 512GB, Kártyafüggetlen, 1 Év Garanciával
- DELL WD19 / WD19S dokkoló + 130W töltő
Állásajánlatok
Cég: FOTC
Város: Budapest