-
Fototrend
Új hozzászólás Aktív témák
-
Szenty
tag
válasz VladimirR #286 üzenetére
(Hali, idézek Neked 1 könyvből...)
XML - Kiterjeszthető Leíró Nyelv (Extensible MArkup Language).
Az XML az SGML (Standart Generalized Markup LAnguage) utódja, és a HTML testvére, amely mellesleg szintén egy SGML alapú leíró nyelv.
Az XML előtt sokat vitatkoztak azon, hogyan kellene az adatokat megosztani. Az olyan egyszerű formátumok, mint a vessdzővel eválasztott változók (Comma Seperated Variable, CSV) eygszerű és ahtékony módját jelentették az adatátvitelnek, de fileonként csupán kb. egy adatbázis-táblázatnak megfelelő mennyiségű adatot tudtak átvinni. Struktúrált adatok továbbításához, mint amilyen mondjuk gy egész adatbázis, vagy egyy teljes dokumentum, rengeteg CSV-féjl bonyolult rendszerére volt szükség. S hogy a dolog még tovább bonyolódjon, négányan nem értették meg a vessző használatát a CSV-ben, és ehlyette inkább tabulátorokat használtak. [...]
Az XML enyhít a problémákon azzal, hogy egyetlen közös fájlstruktúrát teremt meg. Ez a szerkezet lefedi azt, amit a CSV-fájlnak kellett volna, nem enged meg olyan önkényes változtatásokat, mint például a vesszők tabulátorokra cserélése, és elfogadja a hagyományos táblázat tipusú és a kevésbé szabványos, dokument tipusú struktúrát is.
Mit csinál az XML?
--------------------------
Az XML úgy struktúrálja az adatokat, hogy az egyes adatelemeket tag-ekkel választja el egymástól. a tag-ek segítségégvel lehetőségünk van arra, hogy hosszú , értelmes nevekkel lássunk el minden adatelemet, de rövid kódolt tag-eket is használhatunk a jobb helykihasználás érdekében. A tag-eknek lehetnek jellemző paraméterei, és a fájlnak lehet egy átfogó szerkezet-definíciója, az úgynevetett Dokument Tipusú Definíció (DTD) vagy egy külső DTD-re való bivatkozása a Dokument Típusú Deklaráció. A deklaráció egy definíciót tertalmazó külső fájlt nevez meg, s az a definíció határozza meg a fájlstruktúrát.
Remélem, ez segített -
Cathfaern
nagyúr
válasz VladimirR #334 üzenetére
Kösz.
Másik probléma:
Van egy adott szám és egy adott intervallum. Azt kéne meghatározni, hogy legoptimálisabb esetben hány próbálkozásból lehet ezt a számot biztosan kitalálni. Az elvet tudom: vesszük az intervallumot, elfelezzük. Utána megnézzük, hogy melyik fél intervallumban van a szám. Aztán azt továbbfelezem, majd megint megnézem hol van...stb. De akárhogy próbálkozok, ezt nem tudom lekódolni Már ott elakadok, hogy a mit adjak meg feltételnek, hogy meddig menjen a ciklus
(tudom, ez nagyon alap dolog, de még csak most kezdtem programozni) -
Cathfaern
nagyúr
válasz VladimirR #346 üzenetére
Na most elvileg nekem elég maga a szám, hogy hány lépésből lehet kitalálni.
De úgy döntöttem elszórakozok az egész megírásával, gyakorlásnak nem rossz.
lenne is egy kis gond (csodálkoztam volna is, ha működne rendesen): ezzel mi a gondja?
if (also_korlat+felso_korlat)/2) < szam
also_korlat = (also_korlat+felso_korlat)/2);
else felso_korlat = (also_korlat+felso_korlat)/2;
(ezt írja ki:
error C2143: syntax error : missing ';' before '/'
error C2059: syntax error : ')'
error C2059: syntax error : ')'
error C2181: illegal else without matching if
)
Egyébként MS Visual C++-ban programozok, hogy őszinte legyek a linuxos (szövegszerkesztő + fordító) messze jobban tetszik, de mivel MSVC-ben oktatják, úgy gondoltam kitanulom a f@szságait, hogy ne legyen ebből gond. -
Miracle
senior tag
válasz VladimirR #368 üzenetére
úgy az int(double), mint a static_cast<int>(double) alsó egész-részt vesz. a kód működik.
én g++-t és borland compilert szoktam használni, mind a kettő így csinálja, és bár nem néztem, de a VS is biztosan.
az előbbi (ha másért nem is) azért kerekít felelé, mert egyszerűen eldobja a mantisszát. utóbbi implementációfüggő, de csak az van garantálva, hogy nem csinál hülyeséget, de az kerekíthet bármely irányba.
Ha negatív számokra is számítanánk, akkor lehet, hogy nem működne a kód, de itt nem ez a helyzet. a makrókkal meg vigyázni kell, mert egy ilyen egyszerű kifejezés, mint a round(++b) is megfingatja.értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Miracle
senior tag
válasz VladimirR #370 üzenetére
de egy ?: operátor van mögötte. ez egy feltétel. a bool visszatérési értékét használom. amúgy igen, lehetne így is:
int leptetes = int(opt) + (double(int(opt)) < opt);
ez is tökéletesen működne, de kevéssé magátó értetődő, és ez inkávv egy ,,c''-s megoldás, nem szép dolog c++ban ilyet hagyni. nem szeretik a c++ programozók. és én sem, mert nem szép.
''es a ++b a makromnak valoban nem tesz jot neki, most neztem ()
de a te megoldasod nalam folyamatosan felfele kerekit''
óh, jháh, doktor zwack, das ist eine Uniqum, az volt a feladat, hogy felfelé kerekítsem, mert nyilván nem kell magyaráznom, hogy a log_2(n) nem mindíg egész, és amikor tört, akkor a keresett érték a felső-egészrész.
[Szerkesztve]értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Miracle
senior tag
válasz VladimirR #374 üzenetére
''igen, tudom, hogy mi van mogotte, ezert is irtam, hogy mindig 1-et ad vissza ----> mindig az int(opt)+1 lesz a fuggveny eredmeny, amennyiben az opt nem egesz szam ---- tehat 2.1 eseten is 3-at ad vissza es 2.9 eseten is (legalabbis nalam)''
IIIIGEN, EZT JELENTI A FELSŐ EGÉSZRÉSZ, ERRE VAN MOST SZÜKSÉGÜNK.
[Szerkesztve]értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Drizzt
nagyúr
válasz VladimirR #546 üzenetére
Azt hiszem, hogy nem erről van szó. A példaprogramban is van egy dolog, de ott a komplex osztályhoz van túltöltve az operátor, de szintén két argumentummal. Igaz ott a ''!='' operátorról van szó. A fordítóprogram meg a programblokk belsejében sípol, nem a függvény fejénél, s külön-külön panaszkodik a leftoperand, illetve rightoperand-ra.
I am having fun staying poor.
-
KPepe
senior tag
válasz VladimirR #578 üzenetére
köszi
ha jól értelmezem, akkor kívülről nem férek hozzá a private függvényekhez?
Még valami: akkor hogy lehet pl. a főprogramból érték átadással private osztályban lévő fügvényekkel dolgozni? Tehát a főprogramban megadott értékekkel hogy lehet számolni az alábbi osztályban?
class szamol
{
int s1,s2,x;
void szoroz(int a, int b)
{
s1=a; s2=b; x=a*b;
}
void listaz()
{
cout<<s1<<'', ''<<s2<<'', szorzat:''<<x<<endl;
}
};A tüzérség előtt minden és mindenki egyenlő. A föld színével.
-
Spyx
tag
válasz VladimirR #637 üzenetére
Mennyire sűrgős??
Mert tudok dobni jbuildert annak full jó a helpje
biztos ki tudnád nézni belőle
mindjárt dobok egy példafile-t a mailedre. nem ragozza túl de kezdetnek nem rossz.
mit mondassz a jbuilderre. mail megy
<szerk> a jbuilder holnap esetleg szeged??
[Szerkesztve]Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Spyx
tag
válasz VladimirR #640 üzenetére
Bővebben: link
Ezen a linken az API-t éred el. a jobb alsó listában megkeresed a map -et és ott van a documentációja. szerintem elég érthető. ha már megtaláltad ezt akkor sryGyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
ar
tag
válasz VladimirR #640 üzenetére
Hello!
java.util.Map
Ugye ez egy interface, szoval az init-re tett kerdesedre adando valasz az, hogy olyan osztaly peldanyat kell letrehozni, ami implementalja ezt az interfacet. A java.util.HashMap az a megvalositas amit altalanosan hasznalunk. Tehat: Map m = new HashMap(); import-okat nem irok ki ha nem baj . Ha mar php-nel tartunk (aminek a doksija sajnos egy nagy tragyahalom a javadoc-hoz kepest, mar megbocsass , akkor a Map-et ugy fogd fel, mint egy associacios tomb. Ha bele akarsz valamit rakni, akkor Map.put(Object key, Object value), ha ki akarsz belole szedni valamit akkor Map.get(Object key) : Object ahol a visszateresi ertek null, ha az adott kulcsoz, nincs bejegyzes. A tenyleges bejegyzesekhez a Map.Entry interface hasznalataval tudsz hozzaferni az adott Map.entrySet() : Set meghivasaval. Az Map.Entry.getValue() : Object, setValue(Object) metodusokkal tudok az aktualis bejegyzest modositani. Talan emlitest erdemel meg a Map.containsKey(Object key): boolean, metodusa, de tobb olyan metodus van ami a java.util.Collection-ben is megtalalhato. De figyelj oda, hogy a Map != Collection! Ja, a Map kulcs nelkuli ertekhalmazat (Collection view) a Map.values() : Set (?) metodussal tudod elkerni.
A java.util.Map-nek van egy leszarmazott (kiterjeszett) interface-e, a java.util.SortedMap, amiben a KULCSOK szerint rendezve vannak a Map.Entry-elemek. A HashMap csak java.util.Map megvalositas, tehat ott nem garantalt a kulcs sorrend, de a SortedMap megvalositasa a java.util.TreeMap mar ugye ertelem szeruen garantalja a kulcs sorrendet (natural order illetve Comparator, ha jol tevedek). Hasznos a subMap(Object fromKey, Object toKey) : SortedMap vagy hasonlo metodusa (ha van egyaltalan neki, a SortedSet tudja ezt , amivel a kulcsok sorrendje alapjan, reszhalmazat kerheted le a kulcs-ertek parjainak.
Tehat:
Map m = new HashMap();
m.put(new Integer(0), ''A'');
m.put(new Integer(1), ''B'');
m.containsKey(new Integer(0)) // true
m.containsKey(''A''); // false
for (Iterator i = m.keySet().iterator(); i.hasNext; ) {
Object key = i.next();
System.out.println(m.get(key));
}
vagy
for (Iterator i = m.entrySet().iterator(); i.hasNext(); ) {
Map.Entry entry = (Map.Entry) i.next();
System.out.println(entry.getKey() + '' -> '' + entry.getValue());
}
Eleg ertheto voltam? -
VladimirR
nagyúr
-
ar
tag
válasz VladimirR #651 üzenetére
Elso korben annyit latok, hogy te kiirod az EOF (-1) erteket is, amit nem hiszem, hogy akarsz. Masodsorban nem lenne artalmas a Writer.flush() metodusat hivogatni, vagy egyszeruen lezarni a kimeneti folyamot, ha elkeszultel. Harmadsorban nem artana kivetelt is kezelni .
Valahogy igy csinalnam, a kimenetet helyettesitsd be:
<code>
Reader fin = null;
try {
fin = new FileReader(''filename.txt'');
int c = 0;
while ((c = fin.read()) != -1) {
System.out.println((char) c);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fin != null)
fin.close();
} catch (IOException e) {
e.printStackTracer();
}
}
</code> -
Nedudgi
aktív tag
válasz VladimirR #684 üzenetére
Miben akarod csinálni? Linux alatt szvsz AWK-al meglehet ha másnem egy szövegfile-ba kiírod közben.
It took the computational power of three Commodore 64s to fly to the moon. It takes a 486 to run Windows 95. Something is wrong here. -- SC sig file UBUNTU - KDE - Rock'n'Roll
-
c4-eXp
aktív tag
válasz VladimirR #710 üzenetére
Egyébként nem értesz véletlenül opengl és windows programozáshoz?
Mert még azt szeretném megtudni, hogyha dev c++ban csinálok egy new opengl projectet, akkor azon belül hol kell átírni a cuccot, hogy ne rendes fejléces window legyen, hanem popup window? Erre azért lenne szükség, mert normális ablaknál, ahol van fejléc, a hülye winfos beleszámolja a fejlécet is a koordinátákba. Ezért kéne átváltani popup windowra, mert ott nincs fejléc.while (state(Korso) != _BROKEN) go(Korso, &Kut);
-
vamzi
őstag
válasz VladimirR #2536 üzenetére
Köszönöm ezt a remek választ.Sikerült is megcsinálnom.Én addig jutottam el,h meghívtam a MATHCVT unitot.csak nem tudtam h hogy is lássam el paraméterekkel.De A válaszod alapján már sikerült a megoldás.Köszönöm szépen.
Már csak annyi a dolgom, h az unitbol a fv-t átültetem a saját forráskódomba, h ne jőjjön rá a tanár, h netröl van
Még 1X köszi.hello. -
ArchElf
addikt
válasz VladimirR #3759 üzenetére
Szerintem a DirectX-el veszhet össze (AERO be van kapcsolva?) Esetleg a videokártya vezérlőjével - de mindkettő csak tipp. Próbáltad, hogy az új DC-re másolt területet megjeleníted?
Lehet, hogy valamiért a desktop egyes részeit overlay-el teszi ki...AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
sghc_toma
senior tag
válasz VladimirR #3759 üzenetére
a kerdesedre nem tudok valaszolni, szerintem meg sose hasznaltam a CreateDC-t.. ha egy ablak kepet kell blittelni egy memo-ban levo DC-be, azt igy szokas csinalni, esetleg probald ki, hatha jo lesz:
HDC hdcWnd = GetWindowDC(hWnd); // or GetDC to get a DC for just the client area
HDC hdcMem = CreateCompatibleDC(hdcWnd);
HBITMAP hBmp = CreateCompatibleBitmap(hdcWnd, w, h);
HBTIMAP hOldBmp = (HBITMAP)SelectObject(hdcMem, hBmp);
BitBlt(hdcMem, 0, 0, w, h, hdcWnd, 0, 0, SRCCOPY);
// ...
SelectObject(hdcMem, hOldBmp);
DeleteObject(hBmp);
DeleteDC(hdcMem);
ReleaseDC(hWnd, hdcWnd);in asm we trust
-
sghc_toma
senior tag
válasz VladimirR #3762 üzenetére
ok, azt hittem, valahogy CreateDC-vel csinaltad CreateCompatibleDC helyett.. mukodnie kene, nem vagom, miert hasal el a GetPixel..
esetleg megprobalhatod a GetDIBBits fv-t..// off: ez az RFC 1149 nagyon allat
in asm we trust
-
sghc_toma
senior tag
válasz VladimirR #3764 üzenetére
ehh, en meg nem vettem figyelembe, hogy GG vedi a cuccot.. rakerestem gyorsan, valoban hook-olja a GetPixel-t.. az, hogy XP-n mukodik, bug-nak nez ki; sajnos kedden numanal zh, nincs tul sok idom, pedig szivesen beleneznek a lelkebe a draganak..
GetBitmapBits ha jol emlekszem deprecated, bar az teny, hogy joval baratsagosabbnak nez ki (2 - vagy 3?, nem emlekszem - argumentum vs sok), mint a GetDIBBits..
RFC 1149 implementacio: no comment
in asm we trust
-
sghc_toma
senior tag
válasz VladimirR #3766 üzenetére
nincs mit, orulok, hogy sikerult megoldani..
par eve egy havernak monyakoltam ossze X3-hoz valami kis cheat-et, ahhoz a keybd_event, es a mouse_event API-kat hasznaltam.. azota ezeket felvaltotta a SendInput.. ezeket meg lehetne probalni, bar vegso soron ok is csak uzeneteket pakolnak a message queue-ba..
az altalad probaltakon kivul mas egeresemeny, ami mozgast vagy klikket jelez, nincsen.. (illetve vannak a nonclient valtozatok, de az most nem jatszik)
a gaz az, hogy siman elkezelheto, hogy az alkalmazas mondjuk DirectInput-on keresztul kezeli le a bill/eger esemenyeket*, es akkor nem sokra mesz a SendMessage/PostMessage fv.-ekkel..
a sajat user32.dll trukk tetszik nem ismerem a GameGuard-ot, de ennel egyszerubb anti-hook megoldast nem tudok elkepzelni..
esetleg meg megoldas lehet a megfelelo DirectX API fv-ek hook-olasa (szerintem Detours-szal megoldhato), de annak kideritese, hogy miket kene hook-olni, eleg korulmenyes..
ha meg eszembe jut valami esetleg, irok...
* illetve bill-t ebben az esetben nem, hiszen mukodik a SendMessage...
in asm we trust
-
sghc_toma
senior tag
válasz VladimirR #3769 üzenetére
hmm, azt hiszem, az elozo hsz-edben felreertettem valamit: most akkor ha masolod a user32.dll-t, akkor az egermozgatas is megy? ha igy van, akkor a hsz-em DirectInput-os resze nyilvan tokfoloslegesen van ott
nem hagyott nyugodni a dolog, keresgeltem.. talaltam neten egy listat a GG altal hook-olt API-krol.. ezek kozt ott van ugye a SendMessage es a PostMessage, de nincs koztuk a PostThreadMessage es a SendNotifyMessage.. elkepzelheto, hogy ez a ket API hasznalja a masik kettot, es akkor ugyanugy nem mukodnek, de egy probat meger szerintem..
PostThreadMessage kicsit problemas, mert nem tudod, melyik szalnak kell kuldeni az uzenetet.. erre csunya, de valoszinuleg mukodo megoldas, ha felsoroltatod az osszes szalat, es mindnek kikuldod:DWORD pid;
GetWindowThreadProcessId(hWnd, &pid);
HANDLE hThreadSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, pid);
if (hThreadSnapShot != INVALID_HANDLE_VALUE)
{
THREADENTRY32 te;
te.dwSize = sizeof(THREADENTRY32);
if (Thread32First(hThreadSnapShot, &te))
{
do
{
if (te.th32OwnerProcessID == pid)
{
PostThreadMessage(te.th32ThreadID, WM_KEYDOWN, VK_RIGHT, 0);
}
} while(Thread32Next(hThreadSnapShot, &te));
}
CloseHandle(hThreadSnapShot);
}btw, milyen jatek? a kedd vizsga utani resze pihi, lehet ranezek..
in asm we trust
-
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Futás, futópályák
- Késik a következő S24 Ultra kamerafrissítés?
- A fociról könnyedén, egy baráti társaságban
- A Watch7-tel debütálhat a Samsung vércukormérője
- Politika
- Trollok komolyan
- EAFC 24
- Samsung Galaxy A54 - türelemjáték
- További aktív témák...