PDA

Prikaži potpunu verziju : C# problem, molim za pomoc


tripp
27.5.2012, 23:31
Pozdrav i postovanje, trebala bi mi mala pomoc oko jednog problema vezanog za C# program.

Naime, napisao sam IRC bota, kojeg hostujem ovde na mom kompjuteru, sve odlicno radi, sem jedne stvari.
Napravio sam mogucnost da bot proziva sve na kanalu, tj. da ih izlistava svakog ponaosob, to odlicno radi (uzevsi u obzir da sam i sa tim imao lepe muke), ali sam tu dodao jos jednu opciju gde bi bot trebao odmah nakon prozivanja da prikaze zadanu poruku. Kucanjem komande recimo tipa: !prozovi "poruka, on bi to trebao fino da uradi. Ali tu se javlja jedan jedini problem: ukoliko u toj poruci postoji ":" (dvotacka), bot ce sve da ispise do dvotacke, ostatak poruke nece da prikaze.

Primer: !prozovi "sada je 23:27

bot bi prozvao sve na kanalu i napisao:
"sada je 23

meni iskraeno nije jasno cemu ovo, evo kopiracu delove koda:

else if (il.Split(':')[2].StartsWith("!prozovi"))
{
poruka=il.Split(':')[2].Split('\"')[1];
komandecount++;
sw.WriteLine("NAMES #kanal");
sw.Flush();
prozivac = il.Split(':')[1].Split('!')[0];
lj = 0;
namesdo = "gard";if (il.Split(':')[1].EndsWith("bot @ #kanal ") || il.Split(':')[1].EndsWith("bot = #kanal "))
{
if (namesdo == "gard")
{

int ind = il.Split(':')[2].IndexOf(prozivac);
if (il.Split(':')[2][ind - 1].ToString() == '&'.ToString() || il.Split(':')[2][ind - 1].ToString() == '%'.ToString() || il.Split(':')[2][ind - 1].ToString() == '@'.ToString() || il.Split(':')[2][ind - 1].ToString() == '~'.ToString()|| prozivac.StartsWith("nick"))
{
sw.WriteLine("PRIVMSG #kanal : Ustaj!!! " + il.Split(':')[2].Replace("%", String.Empty).Replace("&", String.Empty).Replace("+", String.Empty).Replace("@", String.Empty).Replace("~",String.Empty));
sw.WriteLine("PRIVMSG #kanal : "+poruka);
sw.WriteLine("PRIVMSG #kanal : "+poruka);
sw.Flush();

}
}ako neko moze da mi pomogne, bio bih mu zahvalan :) jos sam pocetnik u C#, ali trudim se :) pozdrav

Sturmbannfuhrer
27.5.2012, 23:57
Hmm...kolko vidim imas masu splitova nakon kojih radis samo sa jednim clanom novonastalog niza.Spava mi se i mrsko mi gledati ceo kod sto si postavio al mislim da je problem u string.split(':') metodu.

Napisacu neki svoj primer irc linije pa ti vidi dal ti to nesto znaci:

12.00.00 : Marko : Spava mi se cim dodje 12:00

Ako podelis taj string sa ovim metodom string.split(':')[2] znaci da ces uzeti samo treci clan niza "Spava mi se cim dodje 12" a ostala 3 clana niza ces preskociti.Resenje je da Joinujes 3. i 4. clan niza.

tripp
28.5.2012, 0:15
Haha tacno! Ispravljeno i funkcionise odlicno! Puno hvala kolega :)

zokocx
29.5.2012, 18:26
Ako znas da treba da razdvajas samo na 1. pojavljivanju određenog karaktera onda za to je najbolje da uradsi

string text = "123:456:789";
string rez= test.Substring(test.IndexOf(':')+1);


+1 jer bez toga uzima i 1. ':', tj. bilo bi :456:789.

tripp
30.5.2012, 22:54
Ako znas da treba da razdvajas samo na 1. pojavljivanju određenog karaktera onda za to je najbolje da uradsi

string text = "123:456:789";
string rez= test.Substring(test.IndexOf(':')+1);
+1 jer bez toga uzima i 1. ':', tj. bilo bi :456:789.

Ovako kako mi je Sturm objasnio radi fantasticno i bez greske, tacno onako kako zelim. Nego imam jedno drugo pitanje, i molio bih za sto brzi odgovor.

Da li postoji neki Virtual server hosting gde bih mogao da hostujem ovu C# aplikaciju? Po mogucnosti besplatno, ali nije problem ako bude trebalo i da se plati. Dakle potreban mi je full root pristup.

neko?

Miljanic
4.6.2012, 17:13
Ovako kako mi je Sturm objasnio radi fantasticno i bez greske, tacno onako kako zelim. Nego imam jedno drugo pitanje, i molio bih za sto brzi odgovor.

Da li postoji neki Virtual server hosting gde bih mogao da hostujem ovu C# aplikaciju? Po mogucnosti besplatno, ali nije problem ako bude trebalo i da se plati. Dakle potreban mi je full root pristup.

neko?

github.com

Ovo se mnogo koristi. E sad, ne znam kako stojiš sa linuxom. Ako si dobar, ovo će ti biti igrarija. Ako ne (kao ja) napatićeš se. Prati upustva sa njihovog sajta (pravljenje naloga, repozitorijuma, SSH kljuca, git passphrase - nemoj da je zaboravis, itd...) Na kraju, ako se ne snađeš, pogledaj ovo

http://www.youtube.com/watch?v=gAWiXbT599E

Razlog što pominjem linux je to što ga je napravio Linus Torvalds, znano nam ime... :D

EclipsE
4.6.2012, 18:07
What the f**k!?!?
Na githubu možeš da servuješ samo static html/css/javascript i ništa drugo...

tripp
17.6.2012, 23:03
meni treba hosting za c# ili u najboljem slucaju asp, nista drugo. inace planiram da pocnem da pisem istog bota u pythonu, uglavnom zbog racunica i sl. uzevsi u obzir da nisam bas mnogo utaban u ptyhonu, trebace mi vremena.