Avatar billede mtj111 Novice
26. april 2005 - 20:56 Der er 84 kommentarer og
1 løsning

Finde næste tegn i ASCII-tabel

Hej

Hvis jeg har en Memo1, hvor indholdet bare er et lille "a", så ved jeg jo godt at næste bogstav hedder (lille) "b". Det samme gælder stort "A", det er er stort "B".

Det skal jeg have et program til at udregne. Det skulle gerne bruge ASCII-tabellen (se evt. http://www.netleksikon.dk/a/as/ascii.html).

Hvis bogstavet er (lille) "a", så skal programmet lave bogstavet om til decimal (Se link), og lægge 1 til decimalet, og derefter lave det til grafisk igen (som i dette tilfælde skulle give "b").

Eksempel:
"a" = 97  i decimal + 1 = 98  decimal = "b"
"r" = 114 i decimal + 1 = 115 decimal = "s"
"A" = 65  i decimal + 1 = 66  decimal = "B"
"!" = 33  i decimal + 1 = 34  decimal = """ (1 "gåse-øjne-tegn")
">" = 62  i decimal + 1 = 63  decimal = "?"

Det sidste tegn hedder "~" (126 decimal), og skal blive til " " (32 decimal).

Er dette umuligt?

Lidt kode ønskes, gerne lidt forklaring (er ikke en ørn til disse kanter af Delphi).

Michael
Avatar billede arne_v Ekspert
26. april 2005 - 21:00 #1
Prøv:

function plusone(c : char) : char;

begin
  if ord(c) = 126 then
      result := ' ';
  else
      result := char(ord(c) + 1)
end;
Avatar billede mtj111 Novice
26. april 2005 - 21:01 #2
OK... prøver lige (kommer til at tage lidt tid)
Avatar billede mtj111 Novice
26. april 2005 - 21:09 #3
Skal tegnene sættes ind i c?

Virker det med en helt sætning?
Avatar billede arne_v Ekspert
26. april 2005 - 21:12 #4
Den konverterer kun et bogstav.

Men du kan altid:

for i := 1 to length(xxxx.Text) do xxxx.Text[i] := plusone(xxxx.Text[i]);

(alt er tastet ind her uden at være teste så check !)
Avatar billede mtj111 Novice
26. april 2005 - 21:15 #5
skal tegnene sættes ind i c?
og i såfald: hvordan???
Avatar billede arne_v Ekspert
26. april 2005 - 21:16 #6
Jeg prøver lige at starte min Delphi og lave et komplet eksempel
Avatar billede mtj111 Novice
26. april 2005 - 21:18 #7
TAK!!!

Jeg er ikke den skarpeste på dette område!
Avatar billede arne_v Ekspert
26. april 2005 - 21:22 #8
Her er et komplet eksempel:

unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function plusone(c : char) : char;

begin
  if ord(c) = 126 then
      result := ' '
  else
      result := char(ord(c) + 1)
end;

procedure TForm1.Button1Click(Sender: TObject);

var
  i : integer;
  s : string;

begin
  s := Edit1.Text;
  for i := 1 to Length(Edit1.Text) do s[i] := plusone(s[i]);
  Edit2.Text := s;
end;

end.
Avatar billede arne_v Ekspert
26. april 2005 - 21:23 #9
Jeg har så bruge 2 text boxe i koden.

Og jeg fandt ud af at jeg lige måtte have en temporær variabel s ind.
Avatar billede mtj111 Novice
26. april 2005 - 21:23 #10
OK

Prøver lige
Avatar billede mtj111 Novice
26. april 2005 - 21:28 #11
Tak!!! Det virker perfekt!

Jeg giver dig 25 point mere hvis du vil forklare:

function plusone(c : char) : char;
begin
  if ord(c) = 126 then
    result := ' '
  else
    result := char(ord(c) + 1)
end;

Og:

var
  i : integer;
  s : string;

begin
  s := Edit1.Text;
  for i := 1 to Length(Edit1.Text) do s[i] := plusone(s[i]);
  Edit2.Text := s;
end;

Michael
Avatar billede mtj111 Novice
26. april 2005 - 21:31 #12
Lav det lige som et svar!
Avatar billede arne_v Ekspert
26. april 2005 - 21:41 #13
function plusone(c : char) : char;
begin
  if ord(c) = 126 then (* hvis tal værdien af c er 126 altså fordi det er  '~' så *)
    result := ' ' (* sæt til mellemrum ' ' *)
  else
    result := char(ord(c) + 1) (* sæt til det bogstav som har talværdien af talværdien af c + 1 *)
end;

Og:

var
  i : integer;
  s : string;

begin
  s := Edit1.Text; (* lav en kopi af Edit1 *)
  for i := 1 to Length(Edit1.Text) do s[i] := plusone(s[i]); (* konverter hvert bogstav i s *)
  Edit2.Text := s; (* kopier s ind i Edit2 *)
end;
Avatar billede mtj111 Novice
26. april 2005 - 21:44 #14
Værsgo' 85 point (60+25);

Nu har jeg udbygget det så det også kan "MinusOne"...

Michael
Avatar billede mtj111 Novice
26. april 2005 - 21:45 #15
Og for øvrigt:
TAK!!! for glimrende hjælp - jeg trænger til det :-)
Avatar billede arne_v Ekspert
26. april 2005 - 21:46 #16
husk at med -1 er det mellemrum skal specialbehandles til tilde
Avatar billede mtj111 Novice
26. april 2005 - 21:47 #17
Nemlig!
Avatar billede mtj111 Novice
26. april 2005 - 21:48 #18
if ord(c) = 33 then
    result := '~'
Avatar billede arne_v Ekspert
26. april 2005 - 21:56 #19
mellemrum er da 32
Avatar billede mtj111 Novice
26. april 2005 - 21:57 #20
Ups... :-$
Retter lige...

Godt du var vågen!
Avatar billede arne_v Ekspert
26. april 2005 - 22:02 #21
Jeg havde iøvrigt lidt kode på lager som måske kan give dig lidt inspiration:

function encrypt(tekst,kode:string):string;

var
  I: integer;

begin
  for I := 1 to length(tekst) do
  begin
    tekst[I] := chr(32+((ord(tekst[I])-32)+(ord(kode[(I mod length(kode))+1])-32)) mod 96);
  end;
  result := tekst;
end;

function decrypt(tekst,kode:string):string;

var
  I: integer;

begin
  for I := 1 to length(tekst) do
  begin
    tekst[I] := chr(32+(96 + (ord(tekst[I])-32)-(ord(kode[(I mod length(kode))+1])-32)) mod 96);
  end;
  result := tekst;
end;
Avatar billede mtj111 Novice
26. april 2005 - 22:03 #22
Tak!

Men hvor vidste du at det var kryptering???
Avatar billede mtj111 Novice
26. april 2005 - 22:05 #23
Senere skal jeg f.eks sætte et tilfældigt tegn ind mellem hver bogstav. Dvs. hvert andet tegn bliver et "snyde"-tegn o.l.

Michael
Avatar billede arne_v Ekspert
26. april 2005 - 22:07 #24
Forskydning af alle bogstaver med et fast antal pladser har været kendt som kryptering
i mere end 2000 år (det er kendt som Cæsar kryptering efter Julius Cæsar).
Avatar billede mtj111 Novice
26. april 2005 - 22:11 #25
Okay... baggrundsviden!

Er kryptering så gammelt... fedt!
Avatar billede arne_v Ekspert
26. april 2005 - 22:19 #26
Hvis du interesserer dig for den slags kan jeg anbefale:

The Codebreakers / David Kahn

Det er en 1200 siders bog som på rimeligt forståeligt engelsk beskriver
udviklingen i kryptering og hvordan koder knækkes fra civilisationens start
til afslutningen på anden verdens krig.

Der er ikke noget om den kolde krig og computere. Men for det første skal
man have en doktor grad i matematik for at forstå moderne kryptering. For det
andet så er størstedelen af det der er sket siden anden verdenskrig stadig
klassificeret som top hemmeligt.
Avatar billede mtj111 Novice
26. april 2005 - 22:19 #27
Men jeg tror ikke at Julius omregnede dem til decimal, og havde "~" og "$" med...

:-)

Michael
Avatar billede arne_v Ekspert
26. april 2005 - 22:21 #28
Næppe.

Jeg mener at han forskød A->E B->F ...
Avatar billede mtj111 Novice
26. april 2005 - 22:22 #29
Og du har vel en grad i matematik???
Jeg tror jeg smutter i seng nu.

Tak for hjælp, kodeeksempler og baggrundsviden! :-)

Michael
Avatar billede arne_v Ekspert
26. april 2005 - 22:24 #30
Ikke på det niveau.

MatFys studentereksamen samt 3-4 fag på universitetet er hvad jeg har drevet det til.
Avatar billede mtj111 Novice
26. april 2005 - 22:24 #31
OK

smutter i seng. Skal i skole imorgen...

Michael
Avatar billede mtj111 Novice
26. april 2005 - 22:32 #32
Jeg tænkte på: Har du en hjemmeside, Arne_v?
Avatar billede arne_v Ekspert
26. april 2005 - 22:36 #33
Ja.

Men der står ikke noget specielt (kun lidt biografi om hvor jeg har boet og arbejdet).
Avatar billede kroning Nybegynder
26. april 2005 - 22:54 #34
Jeg plejer at bruge Random() til at kryptere, med en fast værdi til randseed for at kunne de-kryptere igen. Men det er måske ikke en go ide?
Avatar billede arne_v Ekspert
26. april 2005 - 23:37 #35
Den har jeg selv brugt en gang imellem.

Den er langt bedre end Cæsar og Vigenere.

Men den er absolut ikke sikker. Der er nogle matematiske svagheder i den.

Det har været kendt i mange år. Siden Knuth tror jeg. Men en lektor på
Odense Universitet har arbejdet en del med det de senere år.

Matematikken går dog langt hen over hovedet på mig.
Avatar billede martinlind Nybegynder
27. april 2005 - 08:41 #36
eller et af de utalige andre std. rutiner der findes 3des f.eks.
Avatar billede arne_v Ekspert
27. april 2005 - 08:50 #37
Skal man bruge kryptering professionelt så bør man bruge en af de anerkendte
algoritmer 3DES eller AES.

Jeg skal iøvrigt lige pointere at matematikken omkring kryptering med random
generator baserer sig på at typen af algoritme er kendt men både startseed og
algoritmens parametre er ukendte. Hvis algoritmens parametre er kendte
(som de vil være hvis man ved at det er Delphi Random), så er vil man ikke
bøvle med matematik men lave et brute force attach (så er det nemlig kun
en 32 bit key).
Avatar billede mtj111 Novice
27. april 2005 - 09:39 #38
Det med at finde det næste tegn i ASCII-tabellen, er kun en LILLE del af min kryptering!

Bl.a. skal der sættes tilfældige tal som hvert andet tegn (dvs. "Hej" bliver først til "Ifk" (plusone) og derefter til "I6f1k2")
Dog har jeg ingen idé om hvordan jeg laver det... Men den idé kommer nok!

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 14:42 #39
Måske kan dette give dig lidt ideer, jeg havde en gang brug for at "kryptere" en streng således at ikke alle og enhver uden videre kunne se hvad der stod:
F.eks. bliver strengen "Den lille hund" til:

0EECE33005AB626C03CB70C80F4A217606098129068C4AC30A93A51005C9187804DDDEC0014241760F48F5D4075F99C00BA185DC0A8DDC120C11BF6404A801CA066C7AF200BD7B60093AE9460AB542DA11700A30058A60EE01743702035D83DA06DE0AE002953FB002D605C20F850A7805DCF3F2051CB01A098C7D8003ADC5200D109400054DAB9E0A6F0A4003D4BD00055296080939D1A802EA627D0EBA25980727CF200593DA6E0A4BCEC0074F76540DC3257902BBE5500D65EB5B0001EB8808C71C930F7C26910CE2DCE0113D38240FA501A203362BAC0AA11972031C98E509F4BDE00AF3F93E118A08E40302467E099845DF00A77F600CF72202054DE3C801E2D0C00B491ED50AB2D66C0D7680B803C4A2E0065714F414D0AAF200A983300A96C4D002F4320A03007138112FE8C10685C46A0D4FD7F30EF4D7C00EF83A7009FABDE90882BD7C0F3827D61028FBF405DD15BE060BB79D023010AE0C9C14100DF3FC9F0A6BF9B403EC83F00B3F1DED10CC0C7408D832C80A0EBD12097274DF0E2913FF15250DFC03ADA2B30A7D7776067BB72D13090D870725AC6301A23CF7055328D000B2963B0418C9D008A486880AEF4D48073315CE005D8860004E11E0

Self. en masse extra tegn men jo ikke noget enhver hr. Jensen så kan få noget ud af.

Funktionen:
og jeg har så en anden funktion DeCrypt der laver det tilbage igen:

function EnCrypt(Text : string) : string;

function Start(Text : string) : string;
var
  i : integer;
  bog : cardinal;
begin
  Result:='';
  for i:=1 to Length(Text) do
  begin
    Bog:=ord(Text[i]);
    Bog:=Bog*7;
    Bog:=Bog*(random(765234)+1);
    result:=result+IntToHex(Bog,8);
  end;
end;
begin
  Result:='';
  RandSeed:=47679321;
  Result:=Start(Text);
  RandSeed:=43217578;
  Result:=Start(Result);
  Randomize;
end;
Avatar billede kroning Nybegynder
27. april 2005 - 15:11 #40
Et ? til arve_v, vil man evt. med brute force attach kunne regne sig tilbage til strengen "Den lille hund" når man nu ikke ved hvordan "0EECE33005AB626C03CB70C80 osv. osv." er fremkommet?
Avatar billede mtj111 Novice
27. april 2005 - 15:14 #41
OK... jeg vil prøve at "smelte" jeres idéer sammen!

Og hvad er Cardinal?

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 15:17 #42
Cardinal er en unsigned 32-bit værdi, kan derfor have værdien 0 til 4294967295
Avatar billede mtj111 Novice
27. april 2005 - 15:18 #43
Okay...

Du kan selv se... jeg har ikke meget forstand på dette :-)

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 15:23 #44
Den kommer vel :), men hvis du placere markøren på teksten Cardinal i Delphi og trykker F1 så vil du få bla. Cardinal beskrevet.
Avatar billede mtj111 Novice
27. april 2005 - 15:26 #45
Okay det vil jeg prøve:

Har du en lille "kom-i-gang-idé" til hvordan jeg sætter et tilfældigt tal ind som hvert andet ciffer.
Det behøves ikke at være i kodesprog!

Og hvis du gidder: Hvordan kan jeg give dig en håndfuld point?

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 15:35 #46
Jeg skriver lige noget direkte her, dvs. utestet.

function PutTalInd(Tekst : string) : string;
var
  i : integer;
begin
  for i:=Length(Tekst) downto 1 do
    Insert(Inttostr(Random(10)),Tekst,i);
  Result:=Tekst;
end;
Avatar billede mtj111 Novice
27. april 2005 - 15:38 #47
Tak! >>Kan jeg bare trykke på "afsæt flere point" for at give flere point ud?
Avatar billede kroning Nybegynder
27. april 2005 - 15:41 #48
Det ved jeg faktisk ikke, men det er da heller ikke så vigtig med de point.
Avatar billede mtj111 Novice
27. april 2005 - 15:43 #49
Jo da...

Og nu spørger jeg igen:
hvordan får jeg programmet til at "starte" den funktion (eks. når jeg trykker på en knap?)

michael
Avatar billede kroning Nybegynder
27. april 2005 - 15:48 #50
Hvis du har en streng:

var
  EnStreng : string;

Som f.eks. Indeholder: "Eksperten er et godt sted"

Så kan du kalde den sådan for at få EnStreng lavet om:
  EnStreng:=PutTalInd(EnStreng);
Avatar billede mtj111 Novice
27. april 2005 - 15:50 #51
OK TAK!

Hvordan giver jeg dig point.

Og ja du SKAL have point :-)

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 15:52 #52
Jeg ved det faktisk ikke :), men prøv at trykke på "afsæt flere point"
Avatar billede mtj111 Novice
27. april 2005 - 15:56 #53
??? Den er forsvundet (jeg har afsat flere point 1 gang i dette spm, så tror du at der er en spærre for???)

Kan jeg ikke oprette et nyt spørgsmål der hedder "Point til Kroning"?
Avatar billede kroning Nybegynder
27. april 2005 - 15:59 #54
Det kunne du nok, men jeg går ikke så meget op i de point, ved ikke lige hvad de skal bruges til.
Avatar billede kroning Nybegynder
27. april 2005 - 16:00 #55
Bortset fra self. at kunne komme ind på top 10 listen :-)
Avatar billede mtj111 Novice
27. april 2005 - 16:01 #56
Er du sikker?

Ellers kan du jo lige gi' lyd fra dig, når jeg stiller et spm i fremtiden! (så kan jeg lige fordele point ud til dig)

Michael
Avatar billede mtj111 Novice
27. april 2005 - 16:03 #57
Er det dig der ejer www.kroning.dk?
Avatar billede kroning Nybegynder
27. april 2005 - 16:06 #58
Ja
Avatar billede mtj111 Novice
27. april 2005 - 16:08 #59
Fed nummerviser!
Avatar billede mtj111 Novice
27. april 2005 - 16:11 #60
Jeg smutter... skal til musik
Avatar billede kroning Nybegynder
27. april 2005 - 16:12 #61
Ja, Nummer Jægeren mener du vel. PC NummerViser programmet er et gammelt program som jeg nok snart fjerner/sletter.
Avatar billede mtj111 Novice
27. april 2005 - 18:08 #62
Ja, men den bedste er nok Buddy...

Har du en MSN??
Avatar billede mtj111 Novice
27. april 2005 - 18:13 #63
(jeg tænkte bare at denne snak bliver lidt lang (og har faktisk ingenting at gøre med "Finde næste tegn i ASCII-tabel)...)

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 18:17 #64
Ja jeg har MSN.
Buddy, det var et program jeg lavede for sjovt tilbage i 1998, er ikke engang sikker på at det virker med nyere windows versioner.
Der er vel ingen der tvinger folk til at gå ind i tråden og læse :)
Avatar billede mtj111 Novice
27. april 2005 - 18:24 #65
Nej, det er der selvfølgelig ikke :-)

Har du brugt Indy-komponenterne til Buddy?
(og i princippet er det vel hacking???)

Michael
Avatar billede arne_v Ekspert
27. april 2005 - 18:27 #66
re kroning 27/04-2005 15:11:09)

Det er et karakteristika for gode krypterings algoritmer at deres sikkerhed kun
bygger på en key ikke på hemmeligholdelse af algoritmen. I dit tilfælde din key
den værdi du giver RandSeed. Det er svært at hemmeligholde algoritmen hvis den skal
bruges generelt.
Avatar billede kroning Nybegynder
27. april 2005 - 18:31 #67
<arne_v> ok, tak for det.
Avatar billede kroning Nybegynder
27. april 2005 - 18:33 #68
<mtj11> Nej ikke indy men TClientSocket og TServerSocket som dengang fulgte med Delphi 4.
Hacking er vel så meget sagt, der er jo ikke noget skadeligt i programmet. Men nu kender jeg heller ikke den nøjagtige definition af hacking.
Avatar billede mtj111 Novice
27. april 2005 - 18:38 #69
Nej

Hacking var i gamle dage, betegnelsen for nogen der kunne meget med en computer (idag hedder det vel "nørd")
Idag betegnes hackning som en forbryder.

Jeg mente selvfølgelig gamle-dage-hacker :-)

Michael
Avatar billede mtj111 Novice
27. april 2005 - 19:08 #70
Hvordan virker Chatfunktionen i dit Buddy-program?
Sender den direkte fra computer til computer, eller smutter beskeden gennem en server?
Jeg har før tænkt på at lave et chatprogram [selvfølgelig ikke så stort som msn... :-) ]

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 19:17 #71
Den sender direkte fra computer til computer
Avatar billede kroning Nybegynder
27. april 2005 - 19:19 #72
Dvs. at programmet ikke virker hvis "klienten" sidder bag en router, men tilbage i 1998 var der jo ikke så mange der havde routere.
Avatar billede mtj111 Novice
27. april 2005 - 19:21 #73
Nårh... :-)

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 19:24 #74
Du kan da få koden hvis du har lyst til at kikke nærmere på det, hvilken Delphi bruger du?
Avatar billede mtj111 Novice
27. april 2005 - 19:25 #75
øhh.. 6 og 7

Michael
Avatar billede mtj111 Novice
27. april 2005 - 19:28 #76
Ville det ikke være bedre at bruge INDYkomponenterne?

Michael
Avatar billede kroning Nybegynder
27. april 2005 - 19:32 #77
Hvis jeg skulle lave det i dag ville jeg måske nok bruge Indy.
Avatar billede mtj111 Novice
27. april 2005 - 19:34 #78
Det kunne da være jeg skulle downloade Indy, og prøve så godt som jeg kan (i kan jo altid hjæpe mig herinde!)

Michael
Avatar billede mtj111 Novice
02. maj 2005 - 18:00 #79
Kroning >> Du kan lige gå ind i "Ændre MSN displaybillede i Delphi", og ligge et svar!
Avatar billede mtj111 Novice
05. december 2005 - 16:22 #80
Kroning>> Til din 27/04-2005 14:42:55:

Har du dekrypteringskoden, da den ser meget lovende ud den kryptering???

Jeg har været ved at læse http://www.inner-smile.com/nocrack.phtml som siger at man skal bruge en meget lang kryptering for at forvirre crackere...

Michael
Avatar billede kroning Nybegynder
05. december 2005 - 16:43 #81
Her er et lidt kode, smid 2 TEdit (Edit1,Edit2) og 2 TButton (Button1,Button2)på en form. Skriv noget i Edit1 og tryk på Button1 og Edit1 vil nu indeholde den krypterede tekst. Tryk på Button2 og teksten i Edit1 vil blive dekrypterede og teksten sat ind i Edit2.

HUSK at ændre lidt på routinerne da alle der har set denne post jo ellers uden problemer kan dekryptere din tekst.

---------------------

function EnCrypt(Text : string) : string;

function Start(Text : string) : string;
var
    i : integer;
  bog : cardinal;
begin
    Result:='';
    for i:=1 to Length(Text) do
  begin
      Bog:=ord(Text[i]);
    Bog:=Bog*7;
    Bog:=Bog*(random(765234)+1);
    result:=result+IntToHex(Bog,8);
    end;
end;
begin
    Result:='';
    RandSeed:=47679321;
    Result:=Start(Text);
  RandSeed:=43217578;
  Result:=Start(Result);
  Randomize;
end;

function DeCrypt(Text : string) : string;

function Start(Text : string) : string;
var
    i : integer;
  bog : cardinal;
  Tal : string;
begin
    Result:='';
    for i:=1 to (Length(Text) div 8) do
  begin
      Tal:=copy(Text,1+((i-1)*8),8);
      bog:=StrToInt('$'+Tal);
    Bog:=Bog div (random(765234)+1);
    Bog:=Bog div 7;
    result:=result+chr(bog);
    end;
end;
begin
    Result:='';
    RandSeed:=43217578;
  Result:=Start(Text);
    RandSeed:=47679321;
  Result:=Start(Result);
  Randomize;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
    Edit1.Text:=EnCrypt(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    Edit2.Text:=DeCrypt(Edit1.Text);
end;
Avatar billede mtj111 Novice
05. december 2005 - 16:48 #82
Tak!

Jeg kigger på det

Michael :-D
Avatar billede mtj111 Novice
05. december 2005 - 16:53 #83
Det virker jo perfekt!

Men lige en advarsel: Prøv ikke at trykke 3-4 gange på krypter-knappen... ;-)

Mange tak!

Michael :-D
Avatar billede kroning Nybegynder
05. december 2005 - 17:01 #84
Nej det skal lige nævnes at koden kun kan bruges til korte sætninger :-), men det var så også hvad jeg skulle bruge dengang.
Avatar billede mtj111 Novice
05. december 2005 - 19:03 #85
Ja... ;-)

Men tak igen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester