Gå til innhold

JeyKey

Medlemmer
  • Innlegg

    60
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av JeyKey

  1. men det blir jo ikke 255.

     

    byte a = 0;
    byte b = (byte) ~a;
    Console.WriteLine(b);

    gir bare OverflowException, fordi ~a returnerer -1. Den gir -1 uansett data type. Og uansett hvordan du snur og vender på det skjønner jeg ikke hvordan dataen får åtte 1-tall til å bli -1.

     

    byte a = 0;
    byte b = (byte) (~a & 255);
    Console.WriteLine(b);

    den gir derimot det jeg hadde forventet i første kodesnutt også. Men jeg ser ikke poenget å å legge til & 255 når byte datatypen ikke inneholder mer enn 8 bits uansett :dontgetit:

  2. greit, så hvis den første biten er 1, er tallet negativt. er den 0 er tallet positivt.

     

    sbyte tallet =  ~1; // 11111110b
    Console.WriteLine(tallet); // gir -2
    

    Det jeg ikke skjønner er hvorfor dette skal gi -2. Det starter på 1, så tallet skal være negativt. greit nok. Men hvordan skriver man da 255 med bits i en byte? Hvis jeg prøver å bytte ut sbyte med byte får jeg compiler error. Såvidt jeg forsto dette skulle 11111110b = -254

     

    Jeg trodde at 00000000 = 0. når du da snur alle bitsa skulle det bli 11111111. Så hvorfor blir ikke det 255?

    128  64   32   16   8      4     2    1  = 255
    1     1     1     1     1     1     1     1  = 11111111b
    

     

    Så hvorfor er ikke 11111111b = 255?

     

    Skjønner at jeg kan virke litt masete og plagsom nå, så jeg skal si meg fornøyd med en link til et sted dette er godt forklart... :whistle:

     

    EDIT: men da kunne man kanskje skrevet 255 som 011111111b? problemet er da at du har brukt 9 bits, ikke 8. og ~255 blir -256 fordi du kan skrive det som 100000000b. Dette kunne jeg godtatt som en forklaring, men en byte rommer jo ikke 9 bits!

     

    så hvordan kan

    byte Byte = 255;

    funke, hvis dataen tolker det som 011111111b? en byte kan inneholde tallet 255, men ikke inneholde de 9 bitsene som min tankegang krever for å skrive det.

    Seriøst forvirra her jeg :dontgetit:

  3. det skjønte jeg hvertfall litt av. hva betyr b-en på slutten på alle bitsene?

     

    Og hva mener du med at den første biten bestemmer om tallet er positivt eller negativt?

     

    Og er det egentlig noen vits å bruke operatorene & og | på boolske verdier når man har && og || som gjør det samme, bare raskere?

     

    Mener ikke å ta over tråden her, men er litt nysgjerrig på dette her selv.. og det plager meg enda mer at eksemplene til msdn bruker heksadesimale tallverdier, som gjør det hele enda mer uforståelig.

  4. int tall = 2;
    string streng;
    streng = tall.ToString();

    Du må huske parantesene etter en metode vet du.

     

     

    noe som kan holde hva som helst: System.Object.

    object tall = 1;
    object streng = "Heisann";

     

    burde funke. Fordi alt i C# opprinnelig arver fra System.Object burde det også være mulig å implisitt caste til type object.

     

    Skjønner ikke helt hva du mener med den første editen, det med ~2 -3. Aldri sett før, men kanskje noen andre skjønner mer av det enn meg

  5. du er dagens redning, Geir!

    jeg hadde aldri hørt om keywordet volatile før, men det er vel ikke nødvendig når alt kjører på samme thread, slik som nå? Jeg fjerna alt som hadde med threading og delegates å gjøre. Den siste delen med while(Thread.CurrentThread.ThreadState == ThreadState.Running) funka ikke helt da, men erstatta den delen med Application.ExitThread() jeg :whistle:

  6. Heisann!

     

    tenkte jeg skulle leke meg litt med GDI+, og lagde ett søtt lite testprogram. Problemet er bare at tråden låses, slik at prosessen manuelt må avsluttes for å avslutte programmet. Jeg tenkte at det ikke skulle bli noe problem, bare bruke BeginInvoke() det.. Fullt så enkelt var det altså ikke:

    KODE: http://pastebin.no/359

    Hvis jeg ikke har EndInvoke() der stenger programmet av seg selv med en gang. Hvis jeg bruker Thread.Sleep() i hovedthreaden oppnår jeg bare det samme som nå. Det jeg ønsker er at den skal fortsette å tegne helt til brukeren trykker på krysset for å avslutte.

     

    Noen som vet hvordan jeg kan løse dette dilemmaet?

  7. Med den instillingen kommer du hvertfall mye lenger enn de andre sutrete 12-åringene som finnes her på forumet.

     

    Alt jeg kan av HTML og CSS har jeg lært på www.w3schools.com, et flott sted å begynne det. Man lærer også mye av å lese andre innlegg her på forumet. HTML er noe av den enkleste kodingen som finnes, og syntaksen har du forstått i løpet av få minutter. Bortsett fra det er det bare å lære seg hva de viktigste tagene og attributtene gjør. PHP er ikke like enkelt, dette ber du vente med til du føler at du kan XHTML og CSS godt.

     

    En grei rekkefølge å lære tingene i:

    1: HTML

    2: CSS

    3: Design, Photoshop

    4: XHTML (gjort på en kveld)

    5: PHP

    6: Databaser (MySQL/Postgre/Oracle osv..)

     

    Når du kan alt det temmelig bra kan du vel si at du begynner å få peiling på webdesign og -utvikling. Ikke regn med å bli ferdig med denne lista i løpet av noen måneder, regn med minimum 1-2 år hvis du jobber mye med det.

     

    Ellers finnes det jo WYSIWYG (What You See Is What You Get) editorer, men som de fleste andre her på forumet vil jeg anbefale deg å lære deg koding.

     

    Noen editorer du kan prøve ut:

    Notepad 2

    HTML-Kit

    EditPlus

    CoffeeCup

    PSPad

    Bluefish

     

    Finn en du liker, mange anbefaler nbegynnere å begynne i notepad, men jeg ser personlig ikke poenget med dette. Velg en som har innebygd FTP-klient og syntax highlightning for alle språk du vil trenge. jeg bruker HTML-Kit og liker denne, men jeg har aldri brukt mye tid på å teste ut alle som fins.

     

    Lykke til!

  8. php.net er verdens største online php dokumentasjon, så jeg ville nok lært meg til å like den. Den er forresten veldig brukervennlig, enkel og oversiktlig. Ingenting galt med den.

     

    php.net/in_array forteller deg hva funksjonen gjør, hva slags parametere den tar osv. Under følger det noen praktiske eksempler. Du er helt avhengig av å bruke den til litt større prosjekter, du kan ikke huske all verdens funksjoner i hodet.

     

    Og her er scriptet mitt med forklaring:

    <?php
    $dir = 'include/'; // mappen filene ligger i
    $file_suffix = '.inc.php'; // Filendelsen filene har
    $side = $_GET['side']; // siden du skrev inn i URL'en blir lagt i variabelen $side
    $default = 'forside.inc.php'; // Siden som inkluderes hvis ikke $side finnes, eller er tom
    
    $legal_sites = scandir($dir); // lager et array over tillatte fil
    $illegal_sites= array('Thumbs.db','.ftpquota','hemmelig_fil.txt'); // det samme med ulovlige filer
    
    if(in_array($legal_sites, $side . $file_suffix) && !in_array($illegal_sites, $side . $file_suffix))
      @include($dir . $side); // inkluderer filen i URL'en hvis den finnes og ikke er i ulovlig-arrayet
    else
      @include($dir . $default); // Hvis den ikke finnes, eller $_GET['side'] er tom
    ?>

     

    den koden legger du i index.php der du vil ha den. Så oppretter du en mappe som heter 'include' og legger en haug med filer som har filendelsen .inc.php der. Så er det bare å skrive "index.php?side=navn_på_fil_i_mappen". Du MÅ ha filen forside.inc.php der, den er standardfilen og forsiden.

  9. Så hvis du setter cols="1" og rows="1" blir den ikke mindre enn den er nå? merkelig... For å utelukke at tabellen har noe med problemet og gjøre kan du bare teste koden utenfor en tabell. Det finnes vel en minimumsstørrelse for textareas da, og hvis du skal ha den så liten er vel <input type="text"> mer det du ser etter. Det er tross alt bortkasta med et textarea på størrelse med et input field

  10. dette er sånn ca. hvordan jeg gjør det:

    <?php
    $dir = 'include/';
    $file_suffix = '.inc.php';
    $side = $_GET['side'];
    $default = 'forside.inc.php';
    
    $legal_sites = scandir($dir);
    $illegal_sites= array('Thumbs.db','.ftpquota','hemmelig_fil.txt');
    
    if(in_array($legal_sites, $side . $file_suffix) && !in_array($illegal_sites, $side . $file_suffix))
       @include($dir . $side);
    else
       @include($dir . $default);
    ?>

    Da ville hvertfall ikke ZoRaC's eksempel funka, og brukeren kan kun inkludere filer som finnes i din include-mappe

     

    $illegal_sites kan også hentes fra en fil, som er mer praktisk hvis du bruker dette scriptet mange steder.

  11. Jeg lagde engang et script som leste innholdet i en mappe rekursivt, og lagde padding-left for hvert nivå innover du gikk. Da brukte jeg hvertfall en rekursiv funksjon hvor ett av parameterne var padding-left'en, som jeg bare økte med 5px for hver gang funksjonen kalte seg selv. Det er kanskje noe av det samme du ønsker her?

  12. Hei, etter å ha lest deler C# Bible sitter jeg igjen med noen spørsmål:

     

    1: Hva kan en struct gjøre som en klasse ikke kan? i boka virker det som en klasse kan brukes til alt en struct kan, og i tillegg har structs enkelte begrensninger (min 1 constructor parameter f.eks.)

     

    2: Hvilken praktisk nytte har enumerations?

     

    3: Hva trenger en egentlig interfaces til? og hva er forskjellen på et interface og en abstract base class?

×
×
  • Opprett ny...