Jump to content

noVaLue

Active Members
  • Posts

    162
  • Joined

  • Last visited

Everything posted by noVaLue

  1. Nu am explicat, dar am precizat de ce CE: N-2x>0 => N>2x => x<N/2 x > 0 Lungimea unei laturi nu poate fi negativa sau = 0(ar rezulta in alta forma geometrica, patrat ori punct), de aceea conditiile de existenta N-2x>0 si x>0 trebuiesc respectate 0 < x < N/2 De ce Derivata I egalata cu 0 ne va indica maximul functiei? Nu neaparat maximul, dar acela este cel ce ne intereseaza in cazul de fata. Derivata arata evolutia curbei, in cazul de fata evolutia volumului. x | 0 N/6 N/2 -6x+N|+++++++++++0----------------- -2x+N|+++++++++++++++++++++0------- -------------------------------------- V | CRESTE 0 SCADE 0 CRESTE |///| MAX |/////// Ultima linie reprezinta intervalul care ne intereseaza sa-l analizam
  2. Tot nu prea aveam ce face, asa ca am facut si o rezolvare in N. V = x*(N-2x)^2 = x*(4(x^2) - 4N(x) + N^2) = 4(x^3) - 4N(x^2) + N^2(x) CE: N-2x>0 => N>2x => x<N/2 x > 0 V'= 12(x^2) - 8N(x) + N^2 = 0 dt = 64(N^2) - 48(N^2) dt = 16(N^2) x1 = ( 8N + sqrt(16(N^2)) ) / 24 = ( 8N + 4N) / 24 = 12N / 24 x1 = N/2 => Imposibil x2 = ( 8N - sqrt(16(N^2)) ) / 24 = ( 8N - 4N) / 24 = 4N / 24 x2 = N / 6 N' = N-2x = N - 2(N/6) = N - N/3 N' = 2N/3 h = N/6 V = 2N^3/27
  3. Daca tot suntem la capitolul `hide and seek`. Deschidem browserul in 2 ferestre diferite, una pe paypal cealalta pe tastatura virtuala Free virtual keyboard online - virtual english keyboard online, english virtual keyboard - English virtual keyboard.su (google e plin). Scriem user si pass. Selectam cu mousul userul, aplicam drag and drop. Repetam operatia cu parola. Iar pentru evitarea uricarei monitorizari de pachete (ar lua mult mai mult timp decat 1 min)
  4. Da e amuzanta incriptarea, dar e unidirectionala. Cum preciza em, sunt o droaie de coliziuni pt sensul invers. Ele apar de la semnele care sunt transformate in litere. Ati putea merge pe aceeasi idee ca si cifrele, si anume utilizarea majusculelor. Iar 'hvwuyqrttxuzqsuwjtxbubqdqptdjdxt' nu mai are cum sa fie decriptat pt ca lungimea sa nu mai are nici un raport cu chunk urile care au fost incriptate. Ar trebui sa scrieti pe o foaie o schema mai detaliata a problemei De altfel nici nu am inteles cum de 'https' ajunge 'hvwuy' si nu 'ivwuy'
  5. 'O chestie din aia care se ascunde cand dai click' se numeste animatie. Un panel este animat sa 'dispara', sau sa reduca in dimensiune etc. Butonul este pe post de trigger, iar faptul ca img background se schimba(pt buton), face parte tot din 'animatie'. Din ce am reusit sa deslusesc, acel buton ar avea o animatie, in care imaginea oscileaza intre expand-contract, in functie de 2 lucruri: 1. nici unu din butoane nu a fost folosit, 2 un alt buton e folosit (deci schimbare imagine la butonul folosit) + schimbare imagine la butonul curent. Proprietatile sale ar fi identice cu cele ale unui tabpanel, ajutandu-i o animatie la panel gen slow-dropdown.
  6. Cum zicea si M2G, ai dat prea putine informatii. Cand lucrezi cu threaduri si functii care se bazeaza pe threaduri ( gen block on wait) totul e bine si frumos, caci threadul principal va fi blocat in asteptare la sfarsirea threadului curent, child (cel care are ca thread parent pe cel blocat, principal). Daca ai fi observat pe langa `synchronize` se poate utiliza `wait()`, cu ajutorul careia se poate implementa acest comportament. La baza un thread nu are nimic de a face cu un alt thread, daca ele sunt scrise in asa fel incat sa nu se opreasca (gen bucla while/for/recursive). Ele vor 'functiona in paralel', pana cand o eroare se va produce in threadul respectiv si se va opri, ori a fost fortat sa se opreasca. Chiar daca un thread se blocheaza celalalt poate continua sa ruleze, atat timp cat programul in sine nu blocheaza toate threadurile pe motiv de eroare mai grava. Noi nu stim cum functioneaza pipe urile tale, si ce comportament vrei ca programul sa abordeze.
  7. char numeFisierSursa; => inseamna un singur caracter Tu nu faci verificari pt f si ff, verificand daca fisierul a fost deschis (f != NULL) ori (ff != NULL) bac
  8. FILE *file; char *vIn, *vOut, *vEnd; int i = 0, dim; //read array dim from console printf("Introduceti dimensiunea:"); scanf("%d",&dim); //memory alocation for integer array vIn = (char*)malloc(dim*sizeof(char)); vEnd = vIn + dim; //read data from console while(vIn < vEnd) { printf("v[%d]=",i++); fflush(stdin); scanf("%c", vIn++); } //noVaLue// Operatiile matematice pt pointeri = deplasare a locatiei in memorie, // inspre adresa elementului urmator(sau cel ce reiese din operatie) // cu o magnitudine de vIn = (Pointer Memory Start) SEMN Amount // SEMN => +/-/\/*/^/% // unde Amount = (vIn sizeof(type))*dim, si semn - (in cazul de fata) // vIn-=dim; vIn=vIn-dim; //open binary file for write data if(( file = fopen("fisier.bin","wb")) == NULL) { printf("File open error!"); exit(1); } // write data in binary file fwrite(vIn, sizeof(char), dim, file); /* //noVaLue// Trebuie inchis fisierul inainte de a incerca sa-l redeschidem sub alt MOD. */ fclose(file); //open file for read data if ((file = fopen("fisier.bin", "rb")) == NULL) { printf("File open error2!"); exit(1); } vOut = (char*) malloc(sizeof(char)*dim); vEnd = vOut + dim; fread(vOut, sizeof(char), dim, file); // noVaLue // Atentie la faptul ca variabila ta este de tip char, ++ ne va muta in memorie la pozitia unui element // iar ceea ce ramane de facut este sa printam valoarea la care acea celula puncteaza // de aceea si printf("%c ", *vOut++); functioneaza while(vOut < vEnd) printf("%c ", (char)*vOut++); //close the file fclose(file);
  9. Da bravo, eu am incercat dar dupa 5 min s-a trezit un dobitoc sa dea cu un tool de scan in site... mi-am facut nervi si am renuntat.
  10. Adevarul e, ca nu a tinut mult testelor... Inafara de bugul cu UI la task manager care mananca resurse pentru 2 core, cand il misti, mai avem si bug cand stergi un proces sub numele utilizatorului. Imageshack - sanstitrexxn.png Ah si sa nu uitam eventuala eroare atunci cand isi da restart singur http://imageshack.us/f/72/sanstitre2af.png/
  11. Ca sa poti folosi texturi, trebuie sa le 'mapezi'. In ce sens? Pentru fiecare vertex vei mai avea 2 coordonate u si v spre exemplu, care sunt coordonatele texturei. In ce sens? 1 reprezinta intregul, 0.5 inseamna jumate dindistanta intre acele coordonate pentru vertex 1 si coordonatele penru vertex 2 (u, v). De asemenea scalar, poti alege 2, ceea ce va intinde textura de 2 ori. Acum ce intelegi prin mapping. Cand te apuci sa desenezi fetele la palyndromuri, trebuie sa-ti alegi o directie specifica (sensul acelor de ceas, ori opusul). Din moment ce ai acea directie atunci poti incepe sa desenezi textura pe fata care te intereseaza. Sa vad daca mai am vre-un exemplu de asa ceva. Revin cu un edit. Le:// (Am gasit proiectul, cum nu am mai avut timp sa-l termin de acum 2 ani, a ramas undeva la 10% din micul joculet care am incercat sa-l fac, si inca ma amuzam pe atunci sa fac ceva din ceea ce intelegeam). Le:2// Uitandu-ma la exemplul furnizat, folosesti desenatul antiorar, cred ca folosesti si gl_cull_face c++ - Using glDrawElements does not draw my .obj file - Stack Overflow c++ - How to call glDrawElements with static TexCoords and Dynamic Vertices - Stack Overflow Si cateva exemple, din proiect ( Nu zic ca e cel mai bun, e doar o idee ). TextureBMPLoader int num_texture = -1; int LoadBMP(char *p_filename, size_t deepthSz=4) { int i, j=0; FILE *l_file; unsigned char *l_texture; num_texture++; BITMAPFILEHEADER fileheader; BITMAPINFOHEADER infoheader; RGBTRIPLE rgb; if (p_filename[0] == '\0') return(-1); if((l_file = fopen(p_filename, "rb")) == NULL) return (-1); // Citeste din header bloc fread(&fileheader, sizeof(fileheader), 1, l_file); // Sarim in fisier acolo unde header tag ul se termina fseek(l_file, sizeof(fileheader), SEEK_SET); // Citeste informatiile din header fread(&infoheader, sizeof(infoheader), 1, l_file); // Alocam memorie pentru imagine (width * height * color deep) l_texture = (byte*) malloc(infoheader.biWidth * infoheader.biHeight * deepthSz); // Umplem cu \0 memset(l_texture, 0, infoheader.biWidth * infoheader.biHeight * deepthSz); for (i=0; i < infoheader.biWidth*infoheader.biHeight; i++) { // Citim valorile RGB al fiecarui pixel din fisier fread(&rgb, sizeof(rgb), 1, l_file); l_texture[j+0] = rgb.rgbtRed; // Red l_texture[j+1] = rgb.rgbtGreen; // Green l_texture[j+2] = rgb.rgbtBlue; // Blue // Alpha ( e calculata in modul cel mai simplu al intensitatii luminii. Pentru ceva mai complex ai putea utiliza. L = 0.2126·R + 0.7152·G + 0.0722·B ) // l_texture[j+3] = rgb.rgbtRed*0.2126 + rgb.rgbtGreen*0.7152 + rgb.rgbtBlue*0.0722; // De asemenea se poate implementa pentru fiecare textura, un cod alpha diferit (Be creative) l_texture[j+3] = (rgb.rgbtRed + rgb.rgbtGreen + rgb.rgbtBlue)/3; // Next Pixel j += 4; } // Dupa ce am terminat cu cititul fisierului, inchidem stream fclose(l_file); // Corelam textura si numarul ei glBindTexture(GL_TEXTURE_2D, num_texture); // Setam parametrii la texturi. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // If the u,v coordinates overflow the range 0,1 the image is repeated( that means scalar measures ) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // The magnification function ("linear" produce rezultate mai ingaduitoare) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); // Definim textura (pentru a fi recunoscuta glTexImage2D(GL_TEXTURE_2D, 0, 4, infoheader.biWidth, infoheader.biHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, l_texture); // Cream mipmaps pentru glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); gluBuild2DMipmaps(GL_TEXTURE_2D, 4, infoheader.biWidth, infoheader.biHeight, GL_RGBA, GL_UNSIGNED_BYTE, l_texture); // Eliberam memoria folosita pentru citirea texturii(si va ramane in memorie doar cache texture) free(l_texture); return num_texture; } void setTexture(int texId) { glBindTexture(GL_TEXTURE_2D, texId); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); } [COLOR="#DAA520"]static const GLfloat squareTexCoord[] = { 0, 1, 1, 1, 0, 0, 1, 0, };[/COLOR] void tObject::DrawWorld() { for(int i=0; i < Build.noWObjs; i++) { if(Build.World[i].Param.Visible) { glPushMatrix(); for(int j=0; j< Build.World[i].noPolygons; j++) { // Set Texture and Colour glEnable(GL_TEXTURE_2D); setTexture(Build.World[i].Polygon[j].TextureId); glColor3f(Build.World[i].Polygon[j].Colour.x, Build.World[i].Polygon[j].Colour.y, Build.World[i].Polygon[j].Colour.z); [COLOR="#FFD700"]Aici vei introduce texturarea[/COLOR] [COLOR="#00FF00"]glVertexPointer(3,GL_FLOAT,0,a2);[/COLOR] [COLOR="#DAA520"]glEnableClientState(GL_VERTEX_ARRAY); glTexCoordPointer(2, GL_FLOAT, 0, squareTexCoord); glEnableClientState(GL_TEXTURE_COORD_ARRAY);[/COLOR] // Draw Polygon [COLOR="#FF0000"]glBegin(GL_POLYGON);[/COLOR] for(int k=0; k<Build.World[i].Polygon[j].noPoints; k++) { [COLOR="#FF0000"]glTexCoord2f(Build.World[i].Polygon[j].Point[k].u, Build.World[i].Polygon[j].Point[k].v); glVertex3f(Build.World[i].Location.x + Build.World[i].Polygon[j].Point[k].x, Build.World[i].Location.y + Build.World[i].Polygon[j].Point[k].y, Build.World[i].Location.z + Build.World[i].Polygon[j].Point[k].z);[/COLOR] [COLOR="#00FF00"]glDrawElements(GL_POLYGON,4,GL_UNSIGNED_BYTE,&indi ces9[4*k]);[/COLOR] } [COLOR="#FF0000"]glEnd();[/COLOR] [COLOR="#FFD700"]Aici vei opri texturarea[/COLOR] // Reset colour to default glColor3f(1.0, 1.0, 1.0); glDisable(GL_TEXTURE_2D); } glPopMatrix(); } } } La sfarsitul documentului vei gasi un exemplu exact, de cum poti face asa ceva. Source code samples: glTexCoordPointer example c/c++ PS:// Nu am incercat niciodata aces mod de a textura.
  12. Cum mi-e lene sa explic, ai aici tot ce-ti trebuie, doar ca trebuia sa cauti mai mult NeHe Productions: Lessons 06 - 10
  13. Vezi poate iti iei ban, scriptul nu are nimic, doar ca tu nu stii la ce ajuta exact.
  14. Stai sa vezi belea, ma uit in ele 5 min si le donez, daca nu gasesc nimic interesant... Eu am vrut sa scot mai mult din challenge, dar nu s-a putut
  15. http://webcamnow.com/wlogin?un=noVaLue&pw=crackm3&t=1337876303779 _admin_ hooper Incercase-m si asta http://webcamnow.com/api/acctstatus?un=, numai ca nu stiu sa-l parsez, doar daca as avea cont de admin, as putea sa-l prind in TamperData Le: iar daca te loghezi cu acel user e normal sa vezi sdb2343@freecamdates.com
  16. nu prea cred :/ mie imi trimite corect
  17. dar nu-mi place cum se comporta , de altfel nu as fi incercat o refacere a ei.
  18. Desi mi-as fi dorit sa o termin, nu cred ca va fi cu putinta, caci multe planuri mai am in cap, si nu le mai dau de sfarsit. Inceputul e acolo, daca cineva vrea sa continue nu are decat. File String.h #define _CRT_SECURE_NO_WARNINGS #ifndef _STR_IMP #define _STR_IMP #include <malloc.h> #include <list> class String { private: static char *bad_alloc(char*); protected: char *str; public: String(); String(const char *op2); String(String &op2); ~String(); String operator=(char *op2); String operator+=(char *op2); friend String operator+(String &op1, String &op2); friend String operator+(String &op1, char *op2); friend String operator+(char *op1, String &op2); void* operator new(size_t sz); void* operator new[](size_t sz); void operator delete(void *p) { free(p); } void operator delete[](void *p) { free(p); } operator char*() { return str; } int len(); int pLen(); String* listToStrArray(std::list<char*> dataAwait); String* Split(char *delimiters, bool isWord); bool Equals(String op2); bool Equals(char *op2); bool StartsWith(String seqStr); int BruteDataLen(); }; #endif File String.cpp #include "String.h" String::String() { str = new char[sizeof(char*) + 1]; memset(str, 0, sizeof(char*) + 1); } String::String(const char* op2) { str = new char[sizeof(char*) + 1]; memset(str, 0, sizeof(char*) + 1); if(&this->str != &op2 && op2 != NULL) { str = new char[strlen(op2) + 1 ]; strcpy(str, op2); } } String::String(String &op2) { str = new char[sizeof(char*) + 1]; memset(str, 0, sizeof(char*) + 1); if(&this->str != &op2.str && op2 != NULL) { str = new char[op2.len() + 1 ]; strcpy(str, op2); } } String::~String() { delete[] str; } String String::operator=(char *op2) { if(&this->str != &op2 && op2 != NULL) { delete[] str; str = new char[strlen(op2) + 1]; strcpy(this->str, op2); } return *this; } String String::operator+=(char *op2) { if(op2 != NULL) { String bkUp = *this + op2; delete[] str; str = new char[bkUp.len() + 1]; strcpy(str, bkUp); } return *this; } String operator+(String &op1, String &op2) { String sum; if(op1 != NULL && op2 != NULL) { sum.str = new char[op1.len() + op2.len() + 1]; memset(sum.str, 0, op1.len() + op2.len() + 1); for(int i=0; i<(int)op1.len(); i++) sum[i] = op1[i]; for(int i=0; i<(int)op2.len(); i++) sum[i+op1.len()] = op2[i]; }else if(op1 != NULL) { sum.str = new char[op1.len() + 1]; memset(sum.str, 0, op1.len() + 1); for(int i=0; i<(int)op1.len(); i++) sum[i] = op1[i]; }else if(op2 != NULL) { sum.str = new char[op2.len() + 1]; memset(sum.str, 0, op2.len() + 1); for(int i=0; i<(int)op2.len(); i++) sum[i] = op2[i]; }else { sum.str = new char[sizeof(char*) + 1]; memset(sum.str, 0, sizeof(char*) + 1); } return sum; } String operator+(String &op1, char *op2) { String sum; if(op1 == NULL) { sum.str = new char[strlen(op2) + 1]; memset(sum.str, 0, strlen(op2) + 1); for(int i=0; i<(int)strlen(op2); i++) sum[i] = op2[i]; }else { sum.str = new char[op1.len() + strlen(op2) + 1]; memset(sum.str, 0, op1.len() + strlen(op2) + 1); for(int i=0; i<(int)op1.len(); i++) sum[i] = op1[i]; for(int i=0; i<(int)strlen(op2); i++) sum[i+op1.len()] = op2[i]; } return sum; } String operator+(char *op1, String &op2) { String sum; if(op2 == NULL) { sum.str = new char[strlen(op1) + 1]; memset(sum.str, 0, strlen(op1) + 1); for(int i=0; i<(int)strlen(op1); i++) sum[i] = op1[i]; }else { sum.str = new char[strlen(op1) + op2.len() + 1]; memset(sum.str, 0, strlen(op1) + op2.len() + 1); for(int i=0; i<(int)strlen(op1); i++) sum[i] = op1[i]; for(int i=0; i<(int)op2.len(); i++) sum[i+strlen(op1)] = op2[i]; } return sum; } char* String::bad_alloc(char *msg) { return msg; } void* String::operator new(size_t sz) { void *p = malloc(sz+4); if(p == 0) throw bad_alloc(""); return p; } void* String::operator new[](size_t sz) { void *p = malloc(sz+4); if(p == 0) throw bad_alloc(""); return p; } int String::len() { if(this->str != NULL) return (int)strlen(str); return -1; } int String::pLen() { char len[8]; sprintf_s(len, sizeof(len), "%d", this[-1]); return atoi(len); } String* String::listToStrArray(std::list<char*> dataAwait) { String *arr = new String[dataAwait.size()]; int count = 0; for(std::list<char*>::iterator i=dataAwait.begin(); i!=dataAwait.end(); i++) arr[count++] = *i; return arr; } String* String::Split(char *delimiters, bool isWord) { if(str == NULL || delimiters == NULL) return NULL; std::list<char*> dataAwait; char *argStk = (char*) malloc(strlen(str) + 1); char *argDel = (char*) malloc(strlen(delimiters) + 1); strcpy(argStk, str); strcpy(argDel, delimiters); int n = strlen(argStk); int o = strlen(argDel); if(isWord && o > 1) { if(strlen(argStk) < strlen(argDel)) { dataAwait.insert(dataAwait.begin(), argStk); }else { bool endSearch = true; int *strStk = (int*) calloc(n + 2, sizeof(int*)); strStk[0] = 1; for(int c=0; c<n; c++) { if(c + o <= n) { for(int i=0; i<o; i++) { if(argStk[c+i] != argDel[i]) { endSearch = false; break; } } if(endSearch) { argStk[c] = '\0'; strStk[c+o+1] = 1; c+=strlen(argDel)-1; } }else break; endSearch = true; } for(int j=n; j>=-1; j--) { char *pch2 = (char*) calloc(n + 1, sizeof(char*)); while(strStk[j+1] == 0) { j--; } if(j == -1) strcpy(pch2, argStk+j+1); else strcpy(pch2, argStk+j); if(strlen(pch2) == 0) dataAwait.insert(dataAwait.begin(), (char*)""); else dataAwait.insert(dataAwait.begin(), pch2); } delete []strStk; } }else { int *strStk = (int*) calloc(strlen(argStk) + 2, sizeof(int*)); strStk[0] = 1; char* pch1; for(int i=0; i<(int)strlen(argDel); i++) { pch1 = strchr(argStk, argDel[i]); while (pch1 != NULL) { strStk[pch1-argStk+2] = 1; pch1 = strchr(pch1+1, argDel[i]); } } for(int j=strlen(argStk); j>=-1; j--) { char *pch2 = (char*) calloc(strlen(argStk) + 1, sizeof(char*)); argStk[j] = '\0'; while(strStk[j+1] == 0) { j--; } if(j == -1) strcpy(pch2, argStk+j+1); else strcpy(pch2, argStk+j); if(strlen(pch2) == 0) dataAwait.insert(dataAwait.begin(), (char*)""); else dataAwait.insert(dataAwait.begin(), pch2); } delete []strStk; } return listToStrArray(dataAwait); } bool String::Equals(String op2) { if(this->len() == -1 && op2.len() == -1) return true; else if(this->len() == -1) return false; else if(op2.len() == -1) return false; else { for(int i=0; i<this->len(); i++) if(str[i] != op2[i]) return false; return true; } } bool String::Equals(char *op2) { if(this->len() == -1 && strlen(op2) == -1) return true; else if(this->len() == -1) return false; else if(strlen(op2) == -1) return false; else { for(int i=0; i<this->len(); i++) if(str[i] != op2[i]) return false; return true; } } bool String::StartsWith(String seqStr) { if(len() < seqStr.len()) return false; for(int i=0; i<seqStr.len(); i++) if(str[i] != seqStr[i]) return false; return true; } int String::BruteDataLen() { int dataLen = 0; for(int i=0; i<len(); i++) if(str[i] != '\0' && str[i] != '\n' && str[i] != '\r' && str[i] != ' ') dataLen++; return dataLen; } De asemenea pentru exemplificare va ofer, aceste teste. #include "String.h" int main() { char *c = new char[sizeof(char*)]; memset(c, 0, sizeof(char*)); strcat(c, "bananna"); String x = "Sa%sa0%xd"+ (String)c; String gh; String g = "sa:"; g += "new ch"+x; String *s = x.Split("a%", false); String *as= x.Split("a%", true); for(int i=0; i<s->pLen(); i++) printf("Split To Alphas: %s\n", s[i]); for(int i=0; i<as->pLen(); i++) printf("Split To Alphas: %s\n", as[i]); printf("Res: %s\n", g); getwchar(); return 0; } #Autor ^# #PS: In curand voi publica si sursa java la un BruteForce pentru crypt("pass", "hash")(functie cunoscuta in php) . L-am creat pentru ca inloc de 4k hashes/s merge cu 81k, in plus m-a ajutat sa sparg o parola random 8 caractere, in 10 min, cand cu php si 4 threaduri asteptase-m 17 ore. Sursa va fi minimala. La fel cine vrea sa adauge ceva, hf. http://imageshack.us/f/252/sanstitregkk.png Lipseste doar interfata, care o voi face.# #PS2: Daca nu intelegeti ce am facut acolo, pot da un edit, si pune comentarii.
  19. <textarea id="txtLogin" name="txtLogin" value="<?php print($login) ?>"></textarea> e un element care se comporta ca div, inafara ca are un textfield. si in plus trebuie sa folosesti htmlentities() <textarea id="txtLogin" name="txtLogin"><?php print(htmlentities($login)) ?></textarea> De asemenea id nu e obligatoriu, el nu e trimis in request, ci doar numele. In schimb e utilizat in js, pentru a identifica elemente mai usor. Se poate folosi si in css, dar nu e recomandat, pentru ca vei avea tendinta sa utilizezi un sg id => eventuale probleme in js. LE: I see what I did there, eh se mai intampla. Macar sa raspund tangent cu ultima intrebare. Inafara de cele spuse de AhEaD, sa nu uiti 2 lucruri mai importante, securizeaza edit, de preferat pe sesiune / define(va trebui sa experimentezi ca sa intelegi), ca sa fii sigur ca un admin(eventual doar tu ) a/ai trecut prin meniul de editare. De asemenea ai putea sa iti structurezi prin paginare a datelor, si limitarea requestului din db, in caz ca ai mai multe mii de utilizatori. Off: Imi cerc scuze daca nu am dibuit data, am vazut ca cineva raspunsese...
  20. noVaLue

    C++ help

    haha... I kill you, just kidding. E adevarat ca java pare mai carton, dar asta e e facut sa lucreze pe orice system multumita masinei virtuale, si e orientat obiecte. Era folosit ca applet, pentru teste, si acum e, dar de cand cu noile aplicatii smart phone/iphone, mai toti au inceput sa programeze in el. E el mai mura in gura, dar pot spune ca nu merge nici mort cum trebuie gc() (garbage collector). Treaba cu c++ si pythone e la fel ca c si c++, numai ca intre primele 2 e un pic mai mare diferenta la reguli. Off: Vedeti ca ati ajuns la insulte la adresa persoanelor + offtopic, se lasa cu warnings.
  21. noVaLue

    C++ help

    Off: Nu e rau M2G, dar incearca sa folosesti 'raw data'(binary). Acele obiecte vor fi intelese doar de java:), sunt ele bune pentru acel mediu, dar vei vedea ca pun probleme cand comunica cu o aplicatie c/c++ (aceea citind de la inceput 'bytes', nu te impiedica nimeni sa schimbi format) On: Daca nu era c si c++ nimic nu era, ori aveau un alt nume. Din moment ce inveti c++ o sa vezi ca se regasesc in mai multe limbaje acele structuri. Eu nu am inceput cu c++, l-am ocolit pana acum 4 ani. Dar foloseam limbaje asemanatoare, care mi-au data o vaga idee despre ce se intampla. Singurul lucru care ar putea sa-ti faca scarba sunt templateurile, si posibil si stivele/listele(cele create de tine nu cele ereditate, sau precreate in headere). Le: Ah si nu in ultimul rand poti pune intrebari. Noi nu fugarim pe cei care vor sa inteleaga ci pe cei care vor sa li se faca.
  22. Off: Asta se vede ca nu-i o scuza. On: Pe mine nu prea ma intereseaza ce tara e. Am plecat si asta e, tot binele inainte. Pentru mine nu exista limba materna/nationalitate, atat timp cat suntem toti 'egali' in a avea posibilitatea de a ne exprima si a ne face intelesi.
  23. Se mai intampla sa scriu gresit, sunt plecat de mult timp din ro. Romana consista doar in ce mai folosesc in casa ori ce mai citesc pe forumuri.
  24. Desi urmaresc de ceva timp forumul, m-am decis tocmai acum sa ma prezint. In ciuda faptului ca nu prea ma remarc, poate ati mai auzit de mine.(eg. /50895-owned-exposed-r3vyk-info-thieves-team-com.rst) Nu voi lungi prea mult subiectul, nefiind genul meu. Ca multor altora imi place programarea.Ce tip/limbaj ramane sa-l descoperiti. O dimineata placuta.
×
×
  • Create New...