Blog o c# , asp.net -u , programiranju

21.11.2005., ponedjeljak

Dyn IP

Kako podesiti Dynamički Dns na vasem računalu - serveru -> DynIP/
- 20:23 - Komentari (1) - Isprintaj - #

13.10.2005., četvrtak

Splitanje po stringu (c#)

Ukoliko želimo pomoću funkcije split razdijeliti neki string to možemo učiniti ovako :

string text1="ovo.je.neki.tekst";
string[] text2=text1.Split(".".ToCharArray());


polje text2 izgledat će ovako:

text2[0]="ovo", text2[1]="je", text2[2]="neki", text2[3]="text"

Problem nastaje kad string želimo splitati po nekom stringu , C# za tu svrhu koristi klasu System.Text.RegularExpressions

Evo primjera :

String[] text2 = System.Text.RegularExpressions.Regex.Split("ovo http je http neki http text","http");
for (int x=0;x listBox1.Items.Add(text2[x]);
}



- 15:19 - Komentari (2) - Isprintaj - #

03.10.2005., ponedjeljak

Podešavanje Siemens c-010 ADSL modema u routed mode

- 17:51 - Komentari (0) - Isprintaj - #

23.09.2005., petak

Zipanje sa C#

Na stranici http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx skinete komponentu za zipanje i stavite je u bin folder

pozivate je sa

using ICSharpCode.SharpZipLib.Zip;

i evo primjera koji će zipati sve filove u folderu u jednu zip datoteku :

DirectoryInfo di =new DirectoryInfo(@"C:WINDOWSsystem32");
if(di.Exists)
{

FileInfo[] fis = di.GetFiles();
FileStream fZip =File.Create(@"C:_zip3.zip");

ZipOutputStream zipOStream = new ZipOutputStream(fZip);
zipOStream.SetLevel(9);
zipOStream.SetComment("Visiter Techhead");

foreach(FileInfo fi in fis)
{
//Console.WriteLine("Nom fichier compresse :" + fi.Name);
try
{
FileStream fs = File.OpenRead(di.FullName + fi.Name);

byte[] tampon = new byte[fs.Length];
fs.Read(tampon, 0, tampon.Length);

ZipEntry entry = new ZipEntry((fi.Name));
zipOStream.PutNextEntry(entry);
zipOStream.Write(tampon, 0, tampon.Length);
}
catch{}
}
zipOStream.Finish();
zipOStream.Close();
fZip.Close();
}



- 14:25 - Komentari (2) - Isprintaj - #

Kriptografija

Da bi u bazu spremali passworde u kriptiranom obliku moramo koristiti neki algoritam za šifriranje , framework u sebi ima klasu Cryptography
, ovdje je primer koji koristi DES algoritam:

using System.Security.Cryptography;
using System.Text;

byte[] secretKey = System.Text.Encoding.ASCII.GetBytes("kljuc");
//kljuc po kojom se kriptira

//funkcija koja vraca kriptirani text
public static string Encrypt(string clearText, byte[] key) {

DESCryptoServiceProvider desEncryptor = new DESCryptoServiceProvider();
ICryptoTransform cryptoTransform = desEncryptor.CreateEncryptor(key, key);

return CryptoTransform(clearText, cryptoTransform);
}

//funkcija koja vraca dekriptirani text
public static string Decrypt(string encryptedText, byte[] key) {

DESCryptoServiceProvider desDecryptor = new DESCryptoServiceProvider();
ICryptoTransform cryptoTransform = desDecryptor.CreateDecryptor(key, key);

return CryptoTransform(encryptedText, cryptoTransform);
}

public static string CryptoTransform(string text, ICryptoTransform cryptoTransform) {
try {

MemoryStream memoryStream = new MemoryStream();

CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptoTransform, CryptoStreamMode.Write);

byte[] textBytes = System.Text.Encoding.Unicode.GetBytes(text);
cryptoStream.Write(textBytes, 0, textBytes.Length);
cryptoStream.Close();

byte[] transformedBytes = memoryStream.ToArray();
memoryStream.Close();

return System.Text.Encoding.Unicode.GetString(transformedBytes);
} catch{}
}

...

string x=Encrypt("password") //
Decrypt(x) // = "password"



- 12:29 - Komentari (1) - Isprintaj - #

Repeater - Asp.Net

Kontrola Repeater je jedna od kontrola koje dolaze sa framework-om a koristi se za ispisivanje podataka iz Dataseta.

Kao prvo je potrebno definirati DataSet :

DataSet ds1=new DataSet();
SqlConnection myConnection = new SqlConnection(connString);
SqlDataAdapter a = new SqlDataAdapter(sql,myConnection );
DataSet ds = new DataSet();
a.Fill(ds);


Nakon toga treba definirati DataSource :

Repeater1.DataSource=ds;
Repeater1.DataBind();


Html kod bi trebao izgledati ovako :

asp:Repeater id="Repeater1" runat="server"
HeaderTemplate
tr bgcolor="#3399ff"
td align="left" Ime /td
td align="left" Prezime /td
/tr
/HeaderTemplate
ItemTemplate
tr
td align="left" %# DataBinder.Eval(Container.DataItem,"name") % /td
td align="left" %# DataBinder.Eval(Container.DataItem,"LASTNAME") % /td
/tr
/ItemTemplate
/asp:Repeater


Repater jednostavna kontrola i koristi se onda kad nema potrebe koristiti DataGrid


- 12:03 - Komentari (0) - Isprintaj - #

Klasa WebClient

Da bi naš program pristupio drugim web stranicama i da bi naprimjer pročitali nihov HTML kod ili downlodirali neki file i snimili ga na naš server ,potrebna nam je klasa WebClient .

evo primjera koji će pročitati HTML kod sa www.blog.hr

...

using System.Net;
using System.Text;

WebClient cWeb = new WebClient();
UTF8Encoding eco= new UTF8Encoding();

...

string html = eco.GetString(cWeb.DownloadData("http://www.blog.hr/"));

...

Za downlodiranje file-a sa nekog sajta i snimanje na hard disk koristimo metodu DownloadFile

Evo primjera :

cWeb.DownloadFile("http://www.blog.hr/adminmax/img/system/logoblog.gif","c:logo.gif");
- 10:17 - Komentari (0) - Isprintaj - #

20.07.2005., srijeda

Funkcija isDate()

C# nema funkciju isDate() koja provjerava dali se neka vrijednost u string obliku može konvertirati u datum (DateTime) , pa zato je evo :



public bool IsDate(string sdate)
{
DateTime dt;
bool isDate = true;
try
{
dt = DateTime.Parse(sdate);
}
catch
{
isDate = false;
}
return isDate;
}

funkcija vraća true ili false
- 16:03 - Komentari (0) - Isprintaj - #

30.06.2005., četvrtak

Kako povećati brzinu učitavanja stranica u IE

IE po defaultu koristi jednu konekciju prilikom učitavanja stranica , da bi to promijenili i povećali brzinu učitavanja moguće je povećati broj konekcija IE-a.

Otvorite regedit i idete na :

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings

Otvorite DWORD ključ MaxConnectionsPerServer (ako ne postoji onda ga kreirate sa NEW)
i kao vrijednost upišite željeni broj konekcija.

Zatvorite sve IE i onda ponovno otvorite .

- 15:24 - Komentari (1) - Isprintaj - #

24.06.2005., petak

Ispis svih datoteka u nekom folderu ( C# )

Da bi dobili ispis svih datoteka u nekom folderu potrebno je definirati objeki DirectoryInfo

System.IO.DirectoryInfo di=new DirectoryInfo();

gdje je x path do određenog direktorija a di objekt DirectoryInfo koji sadrži informacije o direktoriju .
Za ispis svih njegovih datoteka potrebna nam je petlja :

foreach (FileInfo fi in di.GetFiles())
{
Response.Write(fi.FullName.ToString()+"-"+fi.Length.ToString()+";");
}


Isto tako za ispis svih direktorija u nekom direktoriju :

foreach (DirectoryInfo df in di.GetDirectories())
{
Response.Write(df.FullName);
}


- 17:10 - Komentari (0) - Isprintaj - #

23.06.2005., četvrtak

Error Message: "Task Manager has been disabled by your administrator"

Nekoliko puta mi se dogodilo da kad pokupim neki virus ili trojan pritiskom na ctrl-alt-delete dobijem ovu poruku :

Task Manager has been disabled by your administrator

Rješenje za ovaj problem je sljedeće:idete na Start -> Run -> regedit
u regeditu idite na -> HKEY_LOCAL_USER Software Microsoft Windows CurrentVersion Policies System

i zatim na dvostrukim klikom uđete u DisableTaskMgr i postavite vrijednost na 0

i to je to Task Manager je ponovno u funkciji

- 20:49 - Komentari (0) - Isprintaj - #

Upisivanje datuma u bazu (SQL Server)

Za upisivanje datuma u bazu u obliku dd.mm.yyyy najjednostavnije je koristiti sljedeću funkciju :


public string SQL_datum(string datum)
{
string temp="";
if (datum.Trim()==""){temp="null";}
else{temp="CONVERT(DATETIME,'"+datum+"',104)";}
return temp;
}


ona vraća vrijednost CONVERT(DATETIME,'"+datum+"',104) koja bazi govori da je datum u dd.mm.yyyy obliku.

evo primjera:

string sql="insert into table (datum) values ("+SQL_datum("23.6.2005")+")"



- 15:36 - Komentari (0) - Isprintaj - #

Url Referrer

Najlakši naćin da doznate s kojih stranica korisnici dolaze na vaše stranice je
upotreba UrlReferrer metode :

Request.UrlReferrer.ToString();
Request.UrlReferrer.AbsolutePath


U praksi se koristi unutar datoteke global.asax u void Session_Start , kad netko dođe na vaše stranice on se prvi pokreće.

primjer:

protected void Session_Start(Object sender, EventArgs e)
{
SendMali("Referrer : "+Request.UrlReferrer.ToString());

}
- 15:13 - Komentari (0) - Isprintaj - #

21.06.2005., utorak

Formiranje stringa sa String.Format

Želite ispisati broj 12000 ali tako da on izgleda ovako 12.000,00 u tu svrhu c sharp koristi netodu String.Format.
Evo vrlo korisnog primjera kako formirati brojeve u kune :

public string kune(object x)

{

try

{

return String.Format("{0:#,##0.00 Kn;-#,##0.00 Kn;Zero}", Convert.ToDouble(x));

}

catch

{

return "NaN";

}


}

- 09:23 - Komentari (1) - Isprintaj - #

20.06.2005., ponedjeljak

Slanje e-maila pomoću c#

Poslati mail u c sharpu vrlo je jednostavno , evo scripte :

public void eMail(string to,string from,string naslov,string body )
{
System.Web.Mail.MailMessage MMessage = new System.Web.Mail.MailMessage();
MMessage.To = to;
MMessage.From = from;
MMessage.Body = body;
MMessage.Subject = naslov;
MMessage.BodyFormat=System.Web.Mail.MailFormat.Html; //html
//System.Web.Mail.SmtpMail.SmtpServer = "localhost";
try{System.Web.Mail.SmtpMail.Send(MMessage);}
catch{}
}

MMessage.BodyFormat=System.Web.Mail.MailFormat.Html; - označava da je poruka u html obliku , prilikom slanja može doći do greške , zato je linija koja šalje mail stavljena unutar try - catch

- 13:38 - Komentari (0) - Isprintaj - #

Kako u c# doznati ime providera

Imate web stranice a zanima vas ko ih posjecuje , IP adresa ne govori mnogo , rješenje je u System.Net klasi preko koje možemo odrediti ime providera.

Sljedeća scripta u aspx ispisuje ime providera:

%@ Page Language="C#" %
%@ import Namespace="System.Net" %

void Page_Load(Object sender, EventArgs e)
{

String ClientIP = Request.UserHostAddress;
String mName=""+System.Net.Dns.GetHostByAddress(ClientIP).HostName;

Response.Write(mName);
}


Prije svega potrebno je includati Namespace - System.Net :
%@ import Namespace="System.Net" % ili
using System.Net


ClientIP je IP adresa preko koje System.Net.Dns.GetHostByAddress određuje HostName

Scriptu možete pogledati na linku


- 10:57 - Komentari (0) - Isprintaj - #

<< Arhiva >>

< studeni, 2005  
P U S Č P S N
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        


Dnevnik.hr
Gol.hr
Zadovoljna.hr
Novaplus.hr
NovaTV.hr
DomaTV.hr
Mojamini.tv

Opis bloga

Linkovi

e-mail