Jump to content
Facebook Twitter Youtube

Dragos < 3 PGL

Members
  • Posts

    29
  • Joined

  • Last visited

  • Days Won

    1
  • Country

    Romania

Dragos < 3 PGL last won the day on August 4 2012

Dragos < 3 PGL had the most liked content!

About Dragos < 3 PGL

  • Birthday 06/25/1989

Title

  • Members

Informations

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Dragos < 3 PGL's Achievements

Newbie

Newbie (1/14)

4

Reputation

  1. Acest topic a fost închis diferite motive! Motiv: Evitare Off topic + Post Hunting . Dacă nu sunteţi de acord cu această acţiune, vă rugăm să raportaţi acest post şi un moderator sau administrator va reconsidera.
  2. Acest topic a fost închis diferite motive! Motiv: Evitare Off Topic ! Dacă nu sunteţi de acord cu această acţiune, vă rugăm să raportaţi acest post şi un moderator sau administrator va reconsidera.
  3. Pentru inceput folositi configul initial . (Se poate gasi in folderul CS/cstrike/config.cfg) Bind'urile - Folosirea unei comenzi din cs pe o anumita tasta. Alias'urile - Executarea mai multor comenzi doar prin apasarea unei taste. Script'urile - Mai multe alias'uri si bind'uri la un loc va forma un script . Bind'urile bind "DELETE" "+attack" In bindul de mai sus, am pun ca atunci cand apas tasta DELETE sa trag cu arma. Exemplu #2: bind "F1" "colt;vesthelm;buyammo1" In bindul de mai sus, am pus ca pe tasta F1 sa cumpar colt, vesta, si munitie pentru arma . Observatie: Daca vreti sa cumparati mai multe itemuri, puneti intre ele semnul ; . Exemplu #3: bind "g" "flash;flash;hegren;sgren" Am cumpatarat 2 flash'uri, o grenada si un smoke . Exemplu #4: bind "d2" "admin/amx_map dust2" Cand vom tasta in consola d2, va schimba harta automat . In loc de admin/amx_map, putem pune orice comanda ! Alias'urile Exemplu #1: alias jump "+jump;+duck" bind "SPACE" "jump" Acum, atunci cand apasam tasta SPACE, sarim si mergem in genunchi . Script'urile Exemplu script #1: Bunny Hop: alias +_bhop "alias _special bhop_;bhop_" alias -_bhop "alias _special" alias bhop_ "-+;wait;special" alias -+ "bhop+" alias bhop+ "+jump;alias -+ bhop-" alias bhop- "-jump;alias -+ bhop+" bind "space" "+_bhop" Echo Exemplu #1: echo Nume Config ! Sunt utile atunci cand vrem sa vedem daca config'ul a fost activat. Atunci cand tastam exec config.cfg, ne va apare in consola mesajul respectiv . Toate Aliasuri/Scripturi/Binduri se pun in config.cfg
  4. Conficker revine cu o varianta mai daunatoare aceasta varianta este Worm:Win32/Conficker.D: Este posibil ca versiuni mai vechi de Conficker sa fie updatate cu ultima versiune a acestui virus prin contactarea domenilor din lista cu ajutorul canalelor “per-to-per” Pentru a te proteja de acest virus ai cateva pasi pe care Microsoft ii recomanda. Detalii despre versiunile Conficker gasesti pe pagina Malwer Protection Centerde la Microsoft. Aici sunt prezentate variantele, modalitatile de raspandire, incarcarea pe care o realizeaza si cateva infmratii aditionale. Acesta este unul dintre cei mai periculosi virusi de pana acum de aceea e recomandat ca oricine are un sistem sa incerce sa il protejeze.
  5. 1. Selectati toate randurile in Microsoft Office Excel 2. In tabul Home, in sectia Editing, click pe Find & Select, click Go To, click Special, click Blanks, si apoi click ok. 3. Apasati semnul egal ( = ) din toolbar, selectati celulele de mai sus si apoi tineti apasat CTRL in timp ce apasati ENTER. Spatiile goale din spreadsheet vor fi umplute automat. 4. Copiati datele, click Past Special, apoi click Values. Aceasta va suprascrie formula si va umple fiecare celula goala cu aceasi informatie.
  6. Structurile dinamice de date sunt date structurate ale caror componente (noduri) se aloca pe masura ce se creaza, adica in mod dinamic. Avantajele alocarii dinamice fata de alocarea acelorasi structuri de date in mod static (in segmentul de date) sau volatil (in segmentul de stiva) este posibilitatea de a utiliza aceasta memorie dupa dorinta programatorului si, evident, economia de memorie. Pentru a crea o structura dinamica de date se impune folosirea unui camp care sa retina adresa de memorie la care se afla urmatorul element din structura, deci un camp care este un pointer. Astfel se realizeaza o inlantuire dupa adrese. In HEAP, structura respectiva va avea zone alocate componentelor sale in locurile gasite disponibile, care nu se succed intotdeauna in ordinea in care este realizata inlantuirea logica. In functie de tipul inlantuirii realizate intre componente, exista urmatoarele tipuri de organizari: - structuri liniare: liste simplu inlantuite si liste dublu inlantuite, cu cazuri particulare: lista circulara, stiva, coada. - structuri arborescente ierarhice - structuri retea In aceasta lucrare vom trata structurile dinamice liniare de date. Asupra unei liste liniare putem efectua urmatoarele operatii: - creare lista; - parcurgere lista, pentru prelucrarea informatiei utile (afisare, calcule, sortare, cautare, etc - operatii care se pot efectua in general si asupra vectorior) - inserarea unui nod in lista - stergerea unui nod din lista
  7. Un subprogram este un ansamblu alcatuit din tipuri de date, variabile si instructiuni care rezolva o anumita sarcina si care poate fi utilizat doar daca este apelat de un program sau de un alt subprogram. In limbajul C, subprogramele sunt de tip functie. Exista trei elemente implicate in utlizarea unui subprogram: - Prototipul subprogramului - Definitia subprogramului - Apelul subprogramului Subprogramul nu este o entitate independenta. El trebuie "asamblat" in interiorul programului, trebuie stabilite legaturi intre modulul apelat si cel apelant. In procesul de prelucrare dintr-un subprogram, sunt necesare date care trebuie prelucrate (date de intrare) pentru obtinerea rezultatului dorit sau date care trebuie prelucrate in vederea modificarii valorilor acestora (date de iesire). In concluzie, functiile comunica prin intermediul argumentelor (a parametrlor); ele primesc ca parametri (argumente) datele de intrare, efectueaza prelucrarile descrise in corpul functiei asupra acestora si pot returna o valoare (rezultatul, datele de iesire). Executia programului incepe cu functia principala, numita main. Functiile pot fi descrise in cadrul aceluiasi fisier, sau in fisiere diferite, care sunt testate si compilate separat, asamblarea lor ralizandu-se cu ajutorul linkeditorului de lagaturi. O functie este for[CENSORED] din antet si corp: antet_functie { corp_functie } Sau: tip_valoare_returnata nume_functie(lista_daclaratii_parametri_formali) { declaratii_variabile_locale instructiuni return expresie } Prima linie reprezinta antetul functiei, in care se indica: tipul functiei, numele functiei si lista declaratiilor rparametrilor formali. Antetul specifica inceputul subprogramului. La fel ca un operand sau o expresie, o functie are un tip, care precizeaza tipul valorii returnate de functie in functia apelanta. Daca functia nu intoarce nici o valoare, in locul tip_valoare_returnata se specifica void. Daca tip_valoare_returnata lipseste, se considera, implicit, ca acesta este int.Nume_functie este un identificator. Lista_declaratii_parametri_formali consta intr-o enumerare care contine tipul si identificatorul fiecarui parametru de intrare, despartite prin virgula. Tipul unui parametru poate fi oricare, chiar si tipul pointer. Daca lista parametrilor formali este vida, in antet, dupa numele functiei, apar doar parantezele (), sau (void). Corpul functiei este un bloc, care implementeaza algoritmul de calcul folosit de catre functie. La fel ca orice bloc C, el este incapsulat intr-o instructiune compusa, delimitat de caracterele {......}, si este alcatuit din doua parti: partea declarativa si partea executabila, care contine instructiunile prin care sunt descrise actiunile realizate de functie. In corpul functiei apar (in orice ordine) declaratii pentru variabilele locale si instructiuni. Daca functia intoarce o valoare, se foloseste instructiunea return valoare. In limbajul C, se utilizeaza declaratii si definitii de functii. Orice functie trebuie declarata si definita Declaratia contine antetul functiei si informeaza compilatorul asupra tipului, numelui functiei si a listei parametrilor formali (in care se poate indica doar tipul parametrilor formali, nu si numele acestora). Declaratiile de functii se numesc prototipuri, si sunt constituite din antetul functiei, din care pot lipsi numele parametrilor formali. Definitia contine antetul functiei si corpul acesteia. Nu este admisa definirea unei functii in corpul altei functii.
  8. Porniti calculatorul si introduceti CD-ul cu Windows XP: - Cand apare mesajul “Press any key to boot from CD” apasati tasta SPACE - Asteptati pana cand apare mesajul “Welcome to setup” si apoi apasati tasta ENTER - Asteptati ca Windows sa isi faca treaba, apoi, cand va cere, apasati tasta F8 - Apasati D ca sa stergi partitia selectata - Apoi ENTER pentru a continua si tasta L - Apoi apasati C urmat de ENTER - Selectati NTFS QUICK si apasati ENTER - Asteptati pana se restarteaza - Cand booteaza NU mai apasati nici o tasta chiar daca o sa apara iar mesajul “Press any key to boot from CD” - Cand apare prima fereastra dati NEXT - Introduceti Numele si Organizatia - Dati NEXT si introduceti SERIALUL - Dati NEXT si introduceti o PAROLA - Dati NEXT, setati ora - Dati NEXT si asteptati - Cand apare fereastra cu “NETWORK” dati NEXT - Lasati “WORKGROUP” cand apare si apoi dati NEXT - O sa se restarteze ! e ceva normal - Dupa ce intra in Windows, la WELCOME dati NEXT - Dati pe verde (HELP) si apasati NEXT - Apasati SKIP - Dati “No,.not at this time” apoi NEXT - Introduceti porecla in prima caseta apoi NEXT - Dati FINISH Obiectivul a fost indeplinit: Windows-ul este instalat!
  9. C++ ca limbaj de programare, suporta 3 baze de numaratie: normalul decimal, folositorul hexadecimal si total inutilul si eventual creatorul de probleme octal. Ma refer aici la conventia de scriere a unui numar in octal: orice numar incepand cu cifra 0. De aici confuzii de genul 0033 fiind de fapt 27 si nu 33 prefixat cu 0-uri pt. frumusete sau stil:) Ca o paranteza curioasa, numerele de genul 08, 09 sunt total ilegale in C/C++, deoarece evident octul are cifre numai de la 0 la 7. Incercati de exemplu int i = 08; in orice compilator si urmariti efectul! C/C++ fiind limbaje de nivel mediu, operand cu concepte per masina: pointeri, sizeof(), etc, ar fi trebuit sa contina si posibilitatea de a scrie numere direct in baza 2 (in binar) care de mult ori ar fi fost de dorit decat blamatul octal. Cei care lucreaza des cu operatii pe biti, cred ca ar fi apreciat cel mai mult o atare functionalitate. Exista compilatoare care suporta numere introduse direct in baza binar, de exemplu GCC, dar mult de preferat ar fi fost o standardizare. Bineinteles ca se pot scrie functii specializate pentru asa ceva (conversie din/in binar) cand este nevoie, dar cum orice programator de C/C++ stie, o functie inseamna extra timp la rulare, chiar daca in ziua de azi e de ordinul mili/nanosecundelor. Deci inca odata, o solutie din compilator ar fi perfecta! Desi C++ nu ofera asa ceva, ofera in schimb suportul pentru a construi asa ceva... Ma refer aici la template-uri si mecanismul de specializare a acestora. Prin utilizarea unei clase template specializata pe int, se pot realiza in C++ constructii in baza 2, care vor fi evaluate de compilator automat drept simple numere in baza 10! De examplu putem avea ceva de genul: binar<11>::valoare care va fi automat evaluat si inlocuit de compilator (deci fara nici o implicatie asupra rularii programului) cu valoarea in baza 10:3 Codul care face posibil asa ceva: /* * determinam la inceput cel mai mare integer care poate fi * descris (atomic) pe o masina, pt a beneficia de cele mai * multe lungi secvente de cifre pe o masina de 32 biti: * ''long''(dword din asm) de maxim 10 cifre pe masini x86 * ''long long'' de maxim 19 cifre pe masini x64 * (long long exista si pe masina de 32 biti, dar va * fi simulat sau truncat) */ typedef long long longest_t; /* * clasa template, specializata numai pentru longest_t * tot secretul aici este valoarea elementului ''value'' din * enum, care nu e precizat direct ci lasat sa fie evaluat * prin recursivarea in alte instante ale clase template, * adica numarul nostru ''deghizat'' in binar (el fiind tot * scris in decimal), va fi impartit pana la epuizare la * 10, retinand resturile impartirii (adica izoland cifra * cu cifra) apoi reinmultind cu 2 pt a schimba baza. */ template class bin { public: enum { value = (N % 10) + (bin::value << 1) }; }; /* * ne vom opri la ultima cifra, pt a ingadui incheierea * lantului recursivitatii si ''reimpachetarea'' stivei * acest lucru este posibil datorita specializarii (adica * tratarii separate a) template-ului pt. cazul cand * numarul devine 2 (acest lucru e ''fortat'' de noi mai * jos...) */ class bin<2> { public: enum { value = 0 }; }; Desi template-urile au realizat toata treaba pentru noi si sunt instrumente perfecte aici, operand numai in timpul compilarii, vom apela totusi la fratii lor ''vitregi'': macrocomenzile, din doua motive: 1. e destul de ciudat a scrie bin<10>::value de fiecare cand vrem numarul 2 scris in binar 2. dupa cum am spus in introducere octalul ne poate juca feste, asa ca vom prefixa invizibil un 2 in fata oricui numar in noua baza, pt a inlatura orice confuzii si pt a avea si un mecanism simplu de stop. Macro-ul este: #define binary(n) bin<2##n>::value De notat aici operatorul ## al preprocesorului, care lipeste direct doi operanzi sau paramatri (din a##b va rezulta ab). Cu toate acestea puse la punct, nimeni nu ne mai opreste sa scriem de acum incolo: binary(11) = binary(011) = binary(000000000000000011) pentru 3 binary(11111111) pentru 255 binary(100000000000000000) pentru 131072 binary(111111111111111111) pentru 262143 (maximumul in binar pe un sistem pe 32biti) Sper sa va placa micul truc si folositi-l pe oriunde aveti ocazia sau nevoia! Ca o nota in plus, pe acest mecanism al utilizarii templaturilor si faptul ca ele sunt evaluate de catre compilator printr-o ''pseudoexecutie'', numeroase alte programe interesante se pot realiza: numarare de biti, mini calculatoare pt. constante, etc. O nota de inspiratie personala a fost vizualizarea unui mini compilator de LISP realizat numai in template metaprogramming (exact ce am utilizat mai sus)!
  10. Hartile de mesaje sunt parti ale modelului MFC de programare Windows. In loc de a scrie functia WinMain() care trimite mesaje la procedura fereastra (functia) WindProc() si apoi sa controlam ce mesaj a fost trimis pentru a activa functia corespunzatoare, vom scrie doar functia care trateaza mesajul si vom adauga mesajul la harta de mesaje a clasei. Cadrul de lucru va face operatiunile necesare pentru a ruta acest mesaj in mod corect. Construirea hartii de mesaje Hartile de mesaje se construiesc in doua etape. Declaratia hartii de mesaje (macro DECLARE_MESSAGE_MAP()) se face in fisierul .h al clasei, iar implementarea se face in fisierul .cpp al clasei (BEGIN_MESSAGE_MAP() ... END_MESSAGE_MAP()

WHO WE ARE?

CsBlackDevil Community [www.csblackdevil.com], a virtual world from May 1, 2012, which continues to grow in the gaming world. CSBD has over 70k members in continuous expansion, coming from different parts of the world.

 

 

Important Links