sinnaelgen Skrevet 25. februar 2015 Del Skrevet 25. februar 2015 Joda, jeg har bare ikke lyst til å hjelpe deg. :---) fordi ? Lenke til kommentar
tomsi42 Skrevet 25. februar 2015 Del Skrevet 25. februar 2015 Er det ingen som kjenner til pascal lenger , eller objekt versjonen av det ? Joda, det er vel fler av oss som fortsatt husker det. Men det jeg er usikker på, er om det er noen her som kjenner til det du spør om. Lenke til kommentar
sinnaelgen Skrevet 25. februar 2015 Del Skrevet 25. februar 2015 (endret) Er det ingen som kjenner til pascal lenger , eller objekt versjonen av det ? Joda, det er vel fler av oss som fortsatt husker det. Men det jeg er usikker på, er om det er noen her som kjenner til det du spør om. Her er det delphi jeg spør om. Det jeg lurer på er hvordan man overfører fokus fra en komponent til en anenn mere eller mindre automatisk uten at det blir for komplisert : opprinnelig spørmål en komponent kan overlappe flere andre. en komponent kan også være et bilde ( bitmap) en virtuell knapp i windows er egentlig 4 forskjellige bilder som de veksles mellom , alt etter status på knappen ( disabled , enabled , fokusert og trykket inn ) mine knapper skal dog ikke være firkantet med avrundet hjørner , men kan ha alle former , som også betyr at de kan flettes inn i hverandre. En knapp har dog et arbeidsområde (hvis man kan kalle det for det ) som er firkantet , som også betyr at man for overlappende komponenter Da er problemet å få flytte fokuset fra overlappende komponent der den er gjennomsiktig ( på bitmap bildet lese det av en spesifikk farge ) samtidig som markøren beholder posisjonen på skjermen Slik jeg har gjort det så leses fargen på det punktet markøren befinner seg i , når den er over "bildet" for knappen Da leses også fargeverdien som representerer det som er gjennomsiktig . jeg har valgt å bruk fargen svar som transparent ( gjennomsiktig ) farge. Den fargen er altså gjennomsiktig på skjermen Det som er problematisk er å få overført kontrollen til riktig komponent som ligger under et bestem del av komponenten som ligger over jeg har forsøkt flere ting men det blir for spesifikt for det ene programmet. siden jeg har tenkt å bruke det i flere programmer så ønsker jeg meg en mere universal løsning første rutine "menystatus2" mottar verdiene 'i' for bildenummer ( egentlig referanse til en bestemt "knapp") verdien 'M' status for knappen , 'X', og 'Y' posisjonen på markøren fra den kjøres en annen rutine som skal forsøke å finne alle "knappene" som overlapper. og man skal da ende opp med en verdi som skal representere den riktig knappen virtuelt. da må jeg også sette riktig fokus Den måten krever også at man må legge inn en slag liste , for så teste alle mulighetene for hver enkelt "knapp". det jeg ønsker er altså at programmet selv skal finne de "knappen" som "berører " hverandre , ikke noe jeg må selv må legge inn f.eks hvis markøren er i høyre kant av knappen der det står "hente" såer den egentlig over knappen " flytte" . her skal det fokuseres på knappen "hente". knappen "hente" bør automatisk få fokus uten for mye detaljert programmering det samme gjelder de andre knappene som overlapper hverandre hvis noe er uklart så forventer jeg at dere spør Endret 25. februar 2015 av den andre elgen Lenke til kommentar
Emancipate Skrevet 25. februar 2015 Del Skrevet 25. februar 2015 (endret) Du kaller .SetFocus() på kontrollen, men hvis du bruker TImage så har den ikke noen mulighet for fokus. Har du ikke bruksanvisning? http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/!!MEMBERTYPE_Properties_ExtCtrls_TImage.html http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/!!MEMBEROVERVIEW_StdCtrls_TButton.html Endret 25. februar 2015 av Emancipate Lenke til kommentar
tomsi42 Skrevet 26. februar 2015 Del Skrevet 26. februar 2015 Har du sjekket internet etter alternative løsninger? Fant et par kandidater: http://stackoverflow.com/questions/1815669/any-free-shaped-button-components-available http://stackoverflow.com/questions/1354342/how-to-create-a-non-rectangular-button-with-delphi Lenke til kommentar
sinnaelgen Skrevet 26. februar 2015 Del Skrevet 26. februar 2015 (endret) Har du sjekket internet etter alternative løsninger? Fant et par kandidater: http://stackoverflow.com/questions/1815669/any-free-shaped-button-components-available http://stackoverflow.com/questions/1354342/how-to-create-a-non-rectangular-button-with-delphi ja, men det er ikke lett å å få noe ut av det til tross for at det finnes mye å sjekke et problem jeg alt for ofte kommer over er at eksemplene som viser er beregnet på utgaver som er 5-10 år gamle. og da kan det være problematisk å tilpasse det en mere moderne utgave ps . jeg skal sjekke linkene Endret 26. februar 2015 av den andre elgen Lenke til kommentar
Emancipate Skrevet 28. februar 2015 Del Skrevet 28. februar 2015 Mer javascript. var Obj = function() { this.foo = "baz"; }; var a = new Obj(); for (var member in a) { println(member+" = " + a[member]); }Når jeg skriver dette inn på khanacademy får jeg ut:foo = baz constructor = function () { this.foo = "baz"; } __id = function () { [native code] }Men tilsvarende lokalt gir bare "foo = baz". Hvorfor? <!DOCTYPE html> <html> <head> <title></title> </head> <body> <script> var Obj = function() { this.foo = "baz"; }; var a = new Obj(); for (var member in a) { console.log(member+" = " + a); } </script> </body> </html> Lenke til kommentar
Enthroner Skrevet 1. mars 2015 Del Skrevet 1. mars 2015 foo = baz constructor = function () { this.foo = "baz"; } __id = function () { [native code] } Uten å bruke tid på å gå inn på khanacademy og inspecte forskjellige ting så tipper jeg at de bruker Ecmascript 6, og at de har laget en egen Symbol.iterator for function (antakelig object) som inkluderer properties på prototype slik at de som skal lære ser at det finnes ting her også. constructor finner du nok lokalt også hvis du tprinter a.constructor til console.log. Den siste __id vil jeg tro khanacademy bruker intert for å f.eks skille mellom objekter de selv har skrevet (typisk så vil de injecte en ny instans når du tester koden din, ikke bruke den de evnt viser i koden fordi du kanskje er avhengig av at den fungerer akkurat slik tiltenkt). Det er også mulig at __id er en intern mekanisme fra Es6 jeg ikke kjenner til, men som de har valgt å eksponere. Litt usikker på denne. Lenke til kommentar
Garanti Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 Bokmålsordboka: Oppslagsord Ordbokartikkel dollar dollar m. (eng., fra l.ty.; samme ord som daler) myntenhet i USA (og en rekke andre land), tegn jQuery / amerikanske, kanadiske d- / 1 d- = 100 cent Hehe 3 Lenke til kommentar
Emancipate Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 Spørsmål om malloc og dynamisk linking.Man har et program og en dynamisk linkbar objektfil (so). Begge bruker malloc(). Hvordan vet den ene malloc() hva den andre malloc() gjør, så de ikke går i veien for hverandre? Må rett og slett begge linke dynamisk til libc? (Slik at begge malloc egentlig peker til den samme.) Lenke til kommentar
Lycantrophe Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 (endret) De kaller samme malloc fordi de linkes til samme libc. Om samme symbolet dukker opp to ganger får du en konflikt. Veldig forenklet. Endret 4. mars 2015 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 (endret) Går det an å forhindre so-en fra å linke til malloc i libc, og i steden linke til en custom malloc? Edit: uten å selv ha kompilert so-fila. Endret 4. mars 2015 av Emancipate Lenke til kommentar
Lycantrophe Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 (endret) Ja. http://stackoverflow.com/questions/17020497/why-dont-i-get-a-link-error-when-i-provide-my-own-malloc-and-free Den linker mot mallocen den finner først. Etter det slutter den å lete. Jeg får vel utdype litt mer. Du vil få konflikter om du har flere definisjoner av malloc i samme fil. Du kan fint "override" bibliotekers funksjoner med dine egne. Endret 4. mars 2015 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 Pointer arithmetic. Det irriterer ikke grenseløst (da hadde jeg brukt den andre tråden), det er mer det at jeg mister troen på menneskeheten. return (block_header*) (memory-((uint64_t)memory%block_size)); // 1024 return (block_header*) memory-((uint64_t)memory%block_size); // 632 ! I grunnen ganske utrolig at en eller annen bøtteknott mente det var lurt å tvinge meg til å skrive dette: inline block_header * get_block_header(void *memory, int block_size_exp) { int block_size = 1 << block_size_exp; uintptr_t memory_int = (uintptr_t) memory; return (block_header *) ( memory_int - memory_int % block_size ); } Når det jeg egentlig mener er dette: block_header * get_block_header(void *memory, int block_size_exp) { return memory - memory % (1 << block_size_exp) } Lenke til kommentar
Emancipate Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 (endret) Er det noen måte å gjøre dette på annet enn å gjøre hele struct context opaque og lage en init-funksjon der medlemmene settes? // Header struct context { int block_size_exp; void *block; // Zero init int offset; // Zero init }; //.cpp struct block_header { uint64_t refcount; }; struct context { int block_size_exp; block_header *block; // Zero init int offset; // Zero init }; Endret 4. mars 2015 av Emancipate Lenke til kommentar
Lycantrophe Skrevet 4. mars 2015 Del Skrevet 4. mars 2015 (endret) Eh, constructors? Siden du allerede er i C++. Alternativt: struct context x = { 0 }; Endret 4. mars 2015 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 5. mars 2015 Del Skrevet 5. mars 2015 Eh, constructors? Siden du allerede er i C++.Trenger ikke stikke hånda ned i do, bare fordi man er på do. Men om jeg bruker en constructor, så blir likevel ikke structen opaque. For om man gjør den opaque så får man ikke tilgang til constructoren. Det beste jeg kan gjøre i så fall er å sette de andre medlemmene til private. 1 Lenke til kommentar
Lycantrophe Skrevet 5. mars 2015 Del Skrevet 5. mars 2015 (endret) Du spurte etter en annen måte å gjøre det på enn å gjøre den opaque. Forøvrig er det tull å gjøre den opaque her, og init-funksjonen er jo da uansett bare en constructor, men mer tuklete. Hva er det du egentlig prøver å gjøre? Endret 5. mars 2015 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 5. mars 2015 Del Skrevet 5. mars 2015 Jeg valgte å gjøre den opaque og bruke en init-funksjon. Du spurte etter en annen måte å gjøre det på enn å gjøre den opaque. Ja, det gjorde jeg visst. Men jeg mente en annen måte som hadde tilsvarende effekt. Hva er det du egentlig prøver å gjøre? At "folk" ikke kan tukle med medlemmene i structen. Jeg innser at jeg kan gjøre medlemmene private, men da får jeg ikke tilgang til dem selv, uten å bruke friend. Og uansett er de synlige, selv om de ikke kan aksesseres. Lenke til kommentar
Lycantrophe Skrevet 5. mars 2015 Del Skrevet 5. mars 2015 (endret) Jeg er rimelig sikker på at programmet ditt er dårlig designet. Om du skal eksponere variabler direkte, bruk public. Vil du at de skal kunne bare lese, returner kopiere med metoder. Vil du at de skal modifsere, skriv et bedre interface. private variabler er det du er ute etter uansett. Endret 5. mars 2015 av Lycantrophe Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå