Avatar billede agertoft Nybegynder
24. oktober 2004 - 17:39 Der er 13 kommentarer og
1 løsning

Oversæt fra VB

Jeg skal lige have en VB-kyndig til at oversætte følgende stump kode. Jeg ved bare ikke, hvordan jeg skal tolke Cstr og alt det mystiske der ligger i VB ;) Kan jeg få følgende i C#:

Public Sub ShowPreviousPage(ByVal s As System.Object, ByVal e As System.EventArgs)

lblCurrentIndex.Text = Cstr(Cint(lblCurrentIndex.Text) - CInt(lblPageSize.Text))

If CInt(lblCurrentIndex.Text) < 0 Then                                lblCurrentIndex.Text = "0"
End If
BindTheData()
End Sub
Avatar billede arne_v Ekspert
24. oktober 2004 - 17:47 #1
lblCurrentIndex.Text = (int.Parse(lblCurrentIndex.Text) - int.Parse(lblPageSize.Text)).ToString();

burde gøre det
Avatar billede snepnet Nybegynder
24. oktober 2004 - 17:47 #2
har du prøvet om denne her kan fikse det :
http://www.developerfusion.com/utilities/convertcsharptovb.aspx
mvh
Avatar billede snepnet Nybegynder
24. oktober 2004 - 17:48 #3
(til en anden gang så :o)
mvh
Avatar billede arne_v Ekspert
24. oktober 2004 - 17:51 #4
Faktisk genererer den en lidt anden kode. Nemlig Convert kald.

lblCurrentIndex.Text = System.Convert.ToString(System.Convert.ToInt32(lblCurrentIndex.Text) - System.Convert.ToInt32(lblPageSize.Text));

men der giver nu det samme i sidste ende
Avatar billede arne_v Ekspert
24. oktober 2004 - 17:52 #5
Avatar billede snepnet Nybegynder
24. oktober 2004 - 17:53 #6
jeg synes den plejer at gøre det meget godt med den slags kode.... men den er ikke just skudsikker :oD
Avatar billede agertoft Nybegynder
24. oktober 2004 - 17:55 #7
Jeg takker Arne... læg et svar :)
Avatar billede arne_v Ekspert
24. oktober 2004 - 17:56 #8
svar
Avatar billede arne_v Ekspert
24. oktober 2004 - 17:57 #9
snepnet>

Koden er også helt korrekt om man foretrækker Convert.ToInr32 og Convert.ToString
eller int.Parse og int.ToString er jo ren smag og behag
Avatar billede snepnet Nybegynder
24. oktober 2004 - 18:05 #10
har du dyrket il-kode på dem ? - det er af ren interesse... jeg ville selv gætte på at Parse ville bruge ConvertTo. jeg har ikke kigget på det selv, men jeg kunne have en mistanke om at du havde.
mvh
Avatar billede arne_v Ekspert
24. oktober 2004 - 18:08 #11
Der er vist den anden vej omkring.

Fra docs:

Convert.ToInt32 Method (String)
...
[C#]
public static int ToInt32(
  string value
);
...
Remarks
The return value is the result of invoking the Int32.Parse method on value.
Avatar billede agertoft Nybegynder
24. oktober 2004 - 18:40 #12
Hvad med den der? Hvad betyder Fix? Det kan den heller ikke oversætte...

lblCounts.Text += CStr(Fix(lblRecordCount.Text) / CInt(lblPageSize.Text))
Avatar billede arne_v Ekspert
24. oktober 2004 - 18:48 #13
Prøv:

lblCounts.Text += (int.Parse(lblRecordCount.Text) / int.Parse(lblPageSize.Text)).ToString();

eller:

lblCounts.Text += (double.Parse(lblRecordCount.Text) / int.Parse(lblPageSize.Text)).ToString();

alt afhængig af om du skal kunne have decimaler på eller ej
Avatar billede snepnet Nybegynder
24. oktober 2004 - 18:52 #14
arne>> hehe... den er vendt - det tror jeg egentlig jeg godt kan lide.
(men jeg synes egentlig at jeg godt kan lide de fleste af de ting jeg støder på i frameworket).
mvh
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