Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (24)
Emner

Ny Version2-debat - vi vil se din kode!

RELANCERING: Med et nyt debatsystem på version2.dk er det nu muligt i kommentarer at vise kodestumper, som præsenteres overskueligt og med links til yderligere dokumentation.

Af Casper Thomsen Tirsdag, 29. april 2008 - 11:00

Den livlige og konstruktive debat til artikler og blog-indlæg er en af de ting, som gør os rigtig glade for vores læsere på Version2.

Men der har altid manglet noget, og det var, når diskussionen kom til det, mange it-professionelle bruger adskillige timer af deres hverdag på - programkoden.

Det er der forhåbentlig rettet op på med relanceringen af version2.dk.

Nu understøtter debatten nemlig såkaldt syntax highlighting, hvor koden præsenteres med farver og indrykning, så den er let at læse for andre debattører. Samtidig linkes de enkelte funktioner til onlinemanualen for det valgte sprog, hvis det er tilgængeligt.

Som standard understøttes flere end 70 sprog - heriblandt PHP, Python, Ruby, Java og C++.

For at vise eksempelvis PHP-kode i debatten, skal du blot sætte [code=php] foran din kode og [/code] efter. Under denne artikel er der link til vores debatguide, hvor du kan læse mere og se alle de sprog, der understøttes.

Send Tweet
Udskriv

Kommentarer (24)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Casper Thomsens billede
Casper Thomsen 29. apr. 2008 - 11.11
 
Hello World!

Og her er så et lille eksempel på noget kode - andre skal være meget velkomne til at teste systemet af med andre eksempler.

[code=c]
main() {
printf("hello, world\n");
}
[/code]

[code=php]
<?php
// Hello World in PHP
echo 'Hello World!';
?>
[/code]

[code=fortran]
C Hello World in Fortran

  PROGRAM HELLO  
  WRITE (*,100)  
  STOP  

100 FORMAT (' Hello World! ' /)
END
[/code]

[code=ruby]
# Hello World in Ruby
puts "Hello World!"
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Lund Stocholms billede
Jesper Lund Stocholm 29. apr. 2008 - 11.24
 
XML

<?xml version="1.0" encoding="UTF-8" ?>
<root>
<element attribute="value">value</element>
</root>

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Lund Stocholms billede
Jesper Lund Stocholm 29. apr. 2008 - 11.27
 
c#

public static void Main(string[] args)
{
if (args.Length > 0)
{
Console.Write(args[0]);
Console.Read();
}
}

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Lund Stocholms billede
Jesper Lund Stocholm 29. apr. 2008 - 11.29
 
c#

[code=csharp]
public static void Main(string[] args)
{
if (args.Length > 0)
{
Console.Write(args[0]);
Console.Read();
}
}
[/code]

[code=xml]
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<element attribute="value">value</element>
</root>
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Casper Thomsens billede
Casper Thomsen 29. apr. 2008 - 11.33
 
Re: c#

Hej Jesper.

Husk at bruge de rigtige "koder", som du kan se på http://www.version2.dk/debat/guide.

Jeg har rettet code=c# til code=csharp i dit seneste indlæg, så det nu viser koden korrekt.

Mvh Casper

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Kristian Thy 29. apr. 2008 - 12.05
 
I bad selv om det ...

[code=scheme]
(define (apply-mugshot img
fg-layer
frame-color)
(let* ((current-color (car (gimp-context-get-foreground))))

(gimp-context-push)

(gimp-selection-none img)  
(gimp-drawable-transform-scale fg-layer 0 0 95 95 0 2 1 3 1)  
(gimp-image-resize img 95 95 0 0)  
(gimp-layer-resize fg-layer 95 95 0 0)  
(gimp-selection-all img)  
(gimp-selection-shrink img 1)  
(gimp-selection-invert img)  
(gimp-context-set-foreground frame-color)  
(gimp-edit-fill fg-layer 0)  
(gimp-context-set-foreground current-color)  
(gimp-selection-none img)  
(gimp-layer-set-opacity fg-layer 99.0)  
(gimp-context-pop)))

(define (script-fu-mugshot img
fg-layer
frame-color)
(begin
(gimp-image-undo-group-start img)
(apply-mugshot img fg-layer frame-color)
(gimp-image-undo-group-end img)
(gimp-displays-flush)))

(script-fu-register "script-fu-mugshot"
_"_Fix Mugshot"
"Takes a square photo, resizes it to 95px square, sets transparency at 99% and adds a 1px border."
"Kristian Thy"
"Kristian Thy"
"2006"
"RGB,RGBA"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-COLOR _"Frame color" '(0 0 0))
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Søren Hilmer 29. apr. 2008 - 12.07
 
Ingen Erlang

<snøft>

Og det på trods af at Erlang gruppen er en af de forholdsvis store og aktive grupper.
Til gengæld er der så Z80 assembler.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Casper Thomsens billede
Casper Thomsen 29. apr. 2008 - 12.20
 
Re: Ingen Erlang

Hej Søren.

Det er selvfølgelig ærgerligt med den manglende understøttelse af Erlang, men sproget er desværre ikke standard i Geshi, som er den software, vi benytter.

Hvis du kan finde en Geshi-fil til Erlang (vi kan ikke være de eneste med interesse for Erlang), er vi dog meget villige til at tilføje den, så også Erlang-kode kan blive en del af Version2.

Efter at have ledt lidt rundt, kan vi ikke umiddelbart finde en Geshi-fil til Erlang - det kan være, at du kan spørge i forummet i Erlang-gruppen og få hjælp til eftersøgningen der?

Mvh Casper, Version2

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Rolf Ask Clausen 29. apr. 2008 - 12.29
 
Re: Re: Ingen Erlang

Z80!? Det må straks prøves. Snippet med tak til http://www.geocities.com/dinceraydin/files/hello_asm.htm

[code=z80]
ld a,38h ; function set command
ld b,4
ld c,cwadr
ld d,command
out (c),d ; select the instruction register
ld d,write
out (c),d ; reset RW pin for writing to LCD
out (paadr),a ; place the command into portA
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 29. apr. 2008 - 12.32
 
INTERCAL ?

[code=intercal]
(10) PLEASE DON'T GIVE UP
(1) DO .2 <- '?.1$#64'~'#0$#65535'
DO .2 <- '&"'.1~.2'~'"?'?.2~.2'$#32768"~"#0$#65535"'"$".2~.2"'~#1
DO .3 <- '?#91$.1'~'#0$#65535'
DO .3 <- '&"'#91~.3'~'"?'?.3~.3'$#32768"~"#0$#65535"'"$".3~.3"'~#1
DO (11) NEXT
DO (2) NEXT
DO (12) NEXT
(11) DO (13) NEXT
PLEASE FORGET #1
DO (12) NEXT
(13) DO (14) NEXT
PLEASE FORGET #2
DO (12) NEXT
(14) DO STASH .1
DO .1 <- .3
DO (1000) NEXT
DO .1 <- .3
DO .2 <- #1
PLEASE DO (1000) NEXT
DO RETRIEVE .1
PLEASE RESUME .3
...
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Mogens Heller Grabe 29. apr. 2008 - 12.48
 
CSS-trylleri

Kan I ikke pille ved CSS'en, sådan at kode-snippets fremstår med fast spatiering?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Kristian Thy 29. apr. 2008 - 13.08
 
Re: INTERCAL ?

Hehe. Jeg savner også muligheden for syntax highlighting af [url=http://compsoc.dur.ac.uk/whitespace/]whitespace[/url]-kode.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jan Keller Catalan 29. apr. 2008 - 13.24
 
Re: INTERCAL ?

Nej, ingen intercal - se listen på
http://www.version2.dk/debat/guide

(Ja, vi skal nok få fikset de URL-til-link problemer snarest)

Kan I ikke pille ved CSS'en, sådan at kode-snippets fremstår med fast spatiering?

Formentlig - hvad havde du i tankerne?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Lund Stocholms billede
Jesper Lund Stocholm 29. apr. 2008 - 13.30
 
Re: c#

Ny test af C#:

[code=csharp]
// nu med indrykning/formattering af kodelinierne
public static void Main(string[] args)
{
if (args.Length > 0)
{
Console.Write(args[0]);
Console.Read();
}
}
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Lund Stocholms billede
Jesper Lund Stocholm 29. apr. 2008 - 13.32
 
Fixed-width font til kodestumber

Jan,

Nyt forslag: anvendelse af fixed-width font for kodestumber?

(fx en eller anden Courier-variant eller lignende)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jan Keller Catalan 29. apr. 2008 - 13.46
 
Re: Fixed-width font til kodestumber

Det prøver vi, så :-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Klaus Elmquist Nielsen 29. apr. 2008 - 13.57
 
Signature bash(ing)

[code=bash]
#!/bin/bash
cp -f $(which $0) ~/.signature
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Lund Stocholms billede
Jesper Lund Stocholm 29. apr. 2008 - 14.01
 
Re: Re: Fixed-width font til kodestumber

Ja, hvis du spørger mig, så er det meget bedre med fixed-width fonte til kodestumperne.

(hvis det bliver et problem med for store tekstbidder, så kan I jo skrue lidt ned for størrelsen på fonten.

:o)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Kristian Thy 29. apr. 2008 - 14.25
 
Re: Re: Re: Fixed-width font til kodestumber
hvis det bliver et problem med for store tekstbidder, så kan I jo skrue lidt ned for størrelsen på fonten.

Hvis man bruger Ildræven med Fedtaben kan man installere dette userscript og styre det selv:

[code=javascript]
// ==UserScript==
// @name Version2 Customizer
// @namespace http://quovadis.dk/
// @description Customize V2 layout.
// @include http://version2.dk
// ==/UserScript==

function xpath(query, context)
{
var cx = (arguments.length < 2) ? document : context;
return document.evaluate(query, cx, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
}

var posts = xpath('//blockquote[@class="code"]');
for (var i = 0; i < posts.snapshotLength; i++)
{
var block = posts.snapshotItem(i);
block.style.fontFamily = "Consolas";
block.style.fontSize = "9px";
}
[/code]

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Claus Waldersdorff Knudsen 29. apr. 2008 - 15.45
 
C med indlejret asm51 (Keil)?

Må lige prøve dette:

[code=c]
#pragma src

#pragma asm
// the assembler macros below do the following two 'C' statements:
// 1) ByteBits = abs(gnqx)>>8;
// 2) gnqsum = abs(gnq1)>>8 + abs(gnq2)>>8
// and do it in only 1.0 to 1.1 usec, compared to 1.5 to 1.8 usec
$GEN ; Expand macro in listfile

; 1)
TAKE_HIGH_OF_ABS MACRO SOURCE, DEST
local ADDONE, EXIT
MOV DPTR,#SOURCE
MOVX A,@DPTR
MOV R6, A
INC DPTR
MOVX A, @DPTR
ADD A, #0
JZ ADDONE
MOV A, R6
JNB ACC.7, exit
CPL A
JMP exit
ADDONE:
MOV A, R6
JNB ACC.7, exit
CPL A
INC A
exit:
MOV DEST, A
ENDM

; 2)
MAKESUM macro GNQ1, GNQ2, GNQSUM
TAKE_HIGH_OF_ABS GNQ1,R7 ; Store abs(gnqx) in R7
TAKE_HIGH_OF_ABS GNQ2,R6 ; Store abs(gnqx) in R6
mov A, R7
add A, R6
mov GNQSUM, a
ENDM
#pragma endasm

...
#pragma asm
MAKESUM g1q1, g1q2, g1qsum // 2.0 to 2.2 usec
MAKESUM g2q1, g2q2, g2qsum
MAKESUM g3q1, g3q2, g3qsum
MAKESUM g4q1, g4q2, g4qsum
MAKESUM g5q1, g5q2, g5qsum
MAKESUM g6q1, g6q2, g6qsum
MAKESUM g7q1, g7q2, g7qsum
#ifdef DTMF16
MAKESUM g8q1, g8q2, g8qsum
#endif
#pragma endasm
#ifdef FLOATTEST
// Floating point test. For informational tests only
fqsum = abs(fq1) + abs(fq2); // 30 to 37 usec
#endif
DTMFBins = -1;
FoundHighBin = 0;

[/code]

Hvor gemmer preview knappen sig?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Søren Lunds billede
Søren Lund 29. apr. 2008 - 16.41
 
En stresstest (i dobbelt betydning)

Hvis det var svært at skrive, skal det vel også være svært at læse ;-)

[code=perl]
#:: .|-| .-| :||:-| .|:|:-| .::-| |.|-| ||-: ||-. :||
open(Q,$0);while(<Q>){if(/^#(.)$/){for(split('-',$1)){$q=0;for(split){s/|
/:.:/xg;s/:/../g;$Q=$?length:$;$q+=$q?$Q:$Q
20;}print chr($q);}}}print"\n";
#:. |||-| |.|-| 0-| .-: |:|.|-. |:|-:: 0-| .-| |::|-| ::::
[/code]

Ja, jeg har snydt, og bearbejdet kode, jeg fandt her: http://mysite.verizon.net/les.peters/id2.html

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Søren Lunds billede
Søren Lund 29. apr. 2008 - 16.45
 
Re: En stresstest (i dobbelt betydning)

Hmm.... det blev ikke helt rigtigt farvelagt: Nummertegnet i /^#/ skal ikke starte en kommentar...

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Johnny Fribert Lauridsen 29. apr. 2008 - 18.45
 
C

Mener jeg har et sekscifret antal kodelinier fra mine kodedage i 80serne.
Her er et snippet. Der var vist også npget med noget TCP OOB low level kode som jeg må prøve at finde frem. Det var vist dengang nogle mente at tcp oob var ret hip. Måske der skulle laves et separat retro programmør forum :-)
[code=c]
main(argc,argv) /* Old style for AIX V. 1.1 compatibility /
int argc;
char *argv[];
{
long value = 0;
#ifndef AIX1 /
No basename() in AIX 1 */
if ( 0 == strcmp(basename(argv[0]),"d2x") )
#else
if ( 0 == strcmp(rindex(argv[0], '/')+1,"d2x") )
#endif
printf("%lx\n",atoi(argv[1]));
else
{
sscanf(argv[1],"%x",&value);
printf("%ld\n",value);
}
}
[/code]

lol...

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Klaus Elmquist Nielsen 30. apr. 2008 - 10.13
 
Mellemrum i i top og bund af kodeboksen

Prøver lige om linieskift før og efter [...] instruktionerne gør en forskel:
[code=C]int main(int argc, char *argv[]) { exit(argc); }[/code]
Det gør de! Læg også mærke til mellemrummet efter kodeboksen.

Jeg brugte [...]kode[...] til at præsentere ovenstående C program.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

De 170 fyrede hos IBM Danmark får 30.000 kroner i hånden

Udgivet 24. maj 12.19Opdateret 24. maj 12.19

Google vinder patentsagen om Android: Brød ikke Oracles Java-patenter

Udgivet 24. maj 11.30Opdateret 24. maj 11.30

Danske HP-ansatte er fyringstruede: Indkaldt til stormøde

Udgivet 24. maj 10.37Opdateret 24. maj 11.56

HP fyrer 27.000 ansatte

Udgivet 24. maj 10.10Opdateret 24. maj 10.10

Kinect til Windows klar på dansk til juni

Udgivet 24. maj 9.24Opdateret 24. maj 9.24

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Whitepapers

Om eBinder

eBinder ApS

Kick-start your master data management initiative

Affecto Denmark

Affecto Data Quality Assessment: Er din indsigt og beslutning baseret på validt data?

Affecto Denmark

Framework til datamigrering i SAP miljøer - spar op til 50% på dine Data Migration udgifter

Affecto Denmark

Få et Data Warehouse (DW) review hos Affecto

Affecto Denmark
  • Flere whitepapers

Seneste debat

  1. GOTO - programming with the stars (F#)

    4 comments.
    Last update 4 minutter 6 sekunder
    Skrevet af Mikkel Bundgaard
  2. Google vinder patentsagen om Android: Brød ikke Oracles Java-patenter

    1 comment.
    Last update 15 minutter 9 sekunder
    Skrevet af Thomas Løcke
  3. Oracle tabte, vandt Google Java ?

    11 comments.
    Last update 17 minutter 36 sekunder
    Skrevet af Poul-Henning Kamp
  4. Sådan formaterer du tekst i debatten på Version2

    34 comments.
    Last update 29 minutter 51 sekunder
    Skrevet af Jesper Lund Stocholm
  5. Kynisk it-guru: »Internettet er basalt set noget lort«

    5 comments.
    Last update 37 minutter 55 sekunder
    Skrevet af Henrik Mikael Kristensen
  6. HTML5 – det nye sort?

    14 comments.
    Last update 1 time 6 minutter
    Skrevet af Per Friis
  7. EMC: Derfor skal du undgå både public og privat cloud

    2 comments.
    Last update 1 time 34 minutter
    Skrevet af Jesper Grønbæk
  8. Meego-afløseren Tizen klar til at tage kampen op med Android

    8 comments.
    Last update 2 timer 9 minutter
    Skrevet af Jacob Sparre Andersen

Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300