Avatar billede flashit Nybegynder
07. januar 2005 - 21:48 Der er 11 kommentarer og
1 løsning

c# Hello world spg.

Hej E.

Jeg fatter da ingenting af C#. Der for dette spg :-)

Kan i se hvad problemet med denne er:

crpTemp = Convert.ToString(dr["cpr"]);
lblCprNr.Text = crpTemp.ToString("#-####");

Det er min variabel (crpTemp) som er problemet. Man kan vist ikke dime i C# eller?
Avatar billede arne_v Ekspert
07. januar 2005 - 21:51 #1
Hvilken fejl får du ?

Og må vi se lidt mere kode ?
Avatar billede softspot Forsker
07. januar 2005 - 21:55 #2
Har du skrevet (som svarer din dim-kommando i VB)

string crpTemp = "";

et eller andet sted i din kode inden du udfører

crpTemp = Convert.ToString(dr["cpr"]);
Avatar billede flashit Nybegynder
07. januar 2005 - 21:56 #3
I koden fylder "jeg" en label med tekst på denne måde:
crpTemp = Convert.ToString(dr["cpr"]);

Ny vil jeg så gerne placere en - i teksten så den bliver skrevet som et CPR nummer. Dette kan jeg gøre med lblCprNr.Text = crpTemp.ToString("#-####") i VB, men det virker ikke i C#.

Fejlen:
Det er noget med overload metoden tostring
Avatar billede flashit Nybegynder
07. januar 2005 - 21:57 #4
Jeg fandt ud af det med "String = Dim". Så det er vist formateringsmetoden som driller
Avatar billede flashit Nybegynder
07. januar 2005 - 22:00 #5
Eller kan i en metode fom kan formatere en string fra 123456781234 til 12345678-1234 :-)
Avatar billede flashit Nybegynder
07. januar 2005 - 22:03 #6
string crpTemp = Convert.ToString(dr["cpr"]);
lblCprNr.Text = crpTemp("#-####");
Fejlen er nu
'crpTemp' denotes a 'variable' where a 'method' was expected
Avatar billede flashit Nybegynder
07. januar 2005 - 22:12 #7
Smutter. Håber det er ok, men jeg skal meget tidligt om i morgen ;-)
Avatar billede softspot Forsker
07. januar 2005 - 22:17 #8
Du kan benytte denne noget ubehjælpelige metode til at gøre det du har behov for, men jeg synes ikke det er optimalt:

Convert.ToInt64(crpTemp).ToString("######-####")

Det virker naturligvis kun når indholdet af din streng er numerisk og ikke større end det der kan ligge i en Int64...
Avatar billede arved Nybegynder
07. januar 2005 - 22:38 #9
Lige en notits mht. CPR numre, CPR numre består ikke altid kun af tal. I hvisse tilfælde kan de bestå af bogstaver også. Som f.eks. 121212-DE02 Hvilket i øvrigt betyder den første kvinde registreret i år fra tyskland.

Med hensyn til spørgsmålet så kan man jo bruge substring:

string tmpString = this.textBox1.Text;
Console.WriteLine(tmpString);
tmpString = tmpString.Replace("-",""); //i tilfælde af den allerede har et -
tmpString = tmpString.Substring(0,6) + "-" + tmpString.Substring(6,4);
Console.WriteLine(tmpString);
Avatar billede arved Nybegynder
07. januar 2005 - 22:39 #10
P.S. I skal ikke hænge mig op på om DE rent faktisk betyder Tyskland i CPR sammenhæng, men resten skulle være korrekt.
Avatar billede flashit Nybegynder
08. januar 2005 - 21:45 #11
softspot. Din løsning er lige det jeg er ude efter, så lægger du ikke et svar.. Håber det er OK arved. :-)

Tak for hjælpen.
Avatar billede softspot Forsker
08. januar 2005 - 21:53 #12
det var så lidt :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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