[ 01011011 @ 25.02.2008. 16:40 ] @
Pokusavam sa nekom alatkom da prebacujem libraries iz vb u C# i sad recimo ovde mi prebaci iz VB

Code:
            If Not Me.AuctionIDs Is Nothing Then
                retval = retval & "; " & Chr(13) & Chr(10) & "AuctionIDs.Count: " & Me.AuctionIDs.Count
            Else


U C# SLEDECE

Code:

if ((this.AuctionIDs != null)) { 
                retval = retval + "; " + Strings.Chr(13) + Strings.Chr(10) + "AuctionIDs.Count: " + this.AuctionIDs.Count; 
            } 
            else ...{


Sto normalno ne radi jer ne postoji Strings. E sad Da li je ovo ustvari

Convert.toChar(13).ToString()
[ 01011011 @ 25.02.2008. 16:55 ] @
Ukoliko sam dobro shvatio na nekim drugim forumima na kojima sam bio u C#

"\r" = chr(13)
"\n" = chr(10)

i samo treba da zamenim ovo chr(13) sa "\r"

Da li sam u pravu?

[ Shadowed @ 25.02.2008. 17:04 ] @
Jesi u pravu, s' tim da bi na windows-u trebalo da je \n zapravo zajedno 13 pa 10 (upravo ono sto tamo stoji Chr(13) & Chr(10)). Ne znam ko je pisao taj vb, ali to je mogao jednostavnije sa konstantom vbNewLine :)
[ mmix @ 25.02.2008. 17:06 ] @
sve ove forme daju chr(13)
Code:

            char a = '\r';
            char b = '\x000d';
            char c = '\xd';
            char d = '\u000d';
[ 01011011 @ 25.02.2008. 17:11 ] @
Hvala na brzim odgovorima, ne znam ko je pisao VB code, i nisam bas skoro nikada radio puno sa VB tako da nisam upoznat sa dosta stvari uglavnom treba da prebacim libreries prvo u .NET3.5 pa da ih prepisem u C# i to sad radim, i onda mogu da radim na front endu od sajta. mnogo im je code zeznut nisu ni lejeri podjeljeni, uzas zivi, ali moram to sve da sredim a ne smijem da mijenjam nikakvu njihovu funkcionalnost trenutnu, zato se bojim da nesto ne promasim.

Znaci umjesto chr(13) + chr(10) Da li mogu da iskoristim iz .net

Environment.NewLine()
[ mmix @ 25.02.2008. 17:25 ] @
Citat:
Shadowed: Jesi u pravu, s' tim da bi na windows-u trebalo da je \n zapravo zajedno 13 pa 10 (upravo ono sto tamo stoji Chr(13) & Chr(10)). Ne znam ko je pisao taj vb, ali to je mogao jednostavnije sa konstantom vbNewLine


To je mali idiosyncrasy windows platforme. \\r\\n su zaostali jos iz vremena DOSa i konzolnog izlaza i tada su vrsile razlicitu funkciju. \\r (carriage return) je vraca kurzor na pocetak trenutnog reda a \\n je prebacivao u novi red. (bez \\n bi ispis pregazio trenutni red, a bez \\r bi nastavio da ispisuje od trenutne horizontalne pozicije al u sledecem redu).
Posto windows kao graficki GUI nema "matricu" ispisa, \n ne moze da pozicionira ispis na istoj poziciji u sledecem redu pa aftamacki pomeri ispis na pocetak istog cineci \\r viskom. E tu ignorisanje pocinje i prestaje, probaj npr donjim kodom da napravis fajl koji ima samo \\n i da ga posle otvoris iz notepad-a i videces da linija nece biti prekinuta, sta vise bez \\r ce cak i \\n biti ignorisano kao da ga nema . I posto nikad ne znas gde ce tvoj string da ode i moz da se desi da bude izbacen na neki matricni izlaz (npr direktno na stampac) bolja je praksa koristiti "\\r\\n" umesto samo "\\n" cak i za GUI.

Code:

            FileStream cc = File.OpenWrite(@"c:\\test.txt");
            cc.Write(new byte[] { 33, 34, 35, 36, 10, 37, 38, 39 }, 0, 8);
            cc.Close();


Inace \\r je prvi poceo da ignorise Unix, ne Windows unix tekst fajlovi nemaju \r\n, imaju samo \n koji vrsi funkciju \\r\\n. Zato npr FTP ima poseban TEXT transfer mode koji regulise konverziju \\r\\n i \\n kad se prebacuju fajlovi sa unix i na unix platformu.
[ mmix @ 25.02.2008. 17:30 ] @
Citat:
01011011
Znaci umjesto chr(13) + chr(10) Da li mogu da iskoristim iz .net
Environment.NewLine()


Ako ikad planiras da portujes taj code na Linux, onda da, trebao bi da koristis taj metod. Medjutim ako je Windows tvoja jedina platforma, i bice jedina paltforma sto je uglavnom slucaj, onda je "\r\n" bolje posto je inline konstanta, dok je NewLine() poziv metoda koji je sporiji :)
[ Shadowed @ 25.02.2008. 17:37 ] @
Moja greska, \n nije 13 pa 10, samo 13.
[ 01011011 @ 25.02.2008. 19:14 ] @
Hvala vam mnogo. Sredjeno je, radi ko sat :)