| Nome |
Visite |
|
Più informazioni
Per mezzo di questo codice è possibile visualizzare una miniatura dell'immagine indicata via GET:
<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Text.RegularExpressions" %>
<script runat="server">
int MaxWidth = 100; // Larghezza massima dopo il quale l'immagine viene ridimensionata
int MaxHeight = 100; // Altezza massima dopo il quale l'immagine viene ridimensionata
int ScaleFactor = 20; // Fattore di scala per la miniatura
System.Drawing.Image oldImage, newImage;
void Page_Load(Object sender, EventArgs e) {
if ( Request.QueryString["FileName"] != null ) {
string strFileName = Convert.ToString(Request.QueryString["FileName"]);
if ( Request.QueryString["ScaleFactor"] != null && Convert.ToString(Request.QueryString["ScaleFactor"]) != "" && IsInteger(Convert.ToString(Request.QueryString["scalefactor"])) ) ScaleFactor = Convert.ToInt32(Request.QueryString["ScaleFactor"]);
if ( strFileName != "" ) {
try {
oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) );
if ( oldImage.Width > MaxWidth || oldImage.Height > MaxHeight ) {
// Immagine troppo grande, visualizzo la miniatura
newImage = oldImage.GetThumbnailImage( (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), null, IntPtr.Zero);
Response.ContentType = "image/jpeg";
newImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
oldImage.Dispose();
newImage.Dispose();
oldImage = null;
newImage = null;
} else {
// Immagine piccola, non faccio nulla
Response.ContentType = "image/jpeg";
oldImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
oldImage.Dispose();
oldImage = null;
}
} catch (Exception ex) {
Response.Write(ex.Message);
}
}
}
}
private bool IsInteger(string strTmp) {
Regex objNotIntPattern = new Regex("[^0-9-]");
Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$");
return !objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp);
}
</script>
Questo codice andrà salvato come file ASPX e dovrà essere richiamato semplicemente con:
<img src="Pagina.aspx?FileName=Immagine.jpg&ScaleFactor=20" border="0" alt="">
|
25175
|
|
Più informazioni
Per convertire una stringa in intero ci si può avvalere del metodo Parse della classe Int32:
Dim numStringa as String = "78"
Dim strNumero as Integer = Int32.Parse(numStringa)
Se usiamo dati che vengono da sorgenti non sempre attendibili prepariamoci a gestire un'eccezione dovuta alla formattazione non conforme della stringa (es. "a78")
|
20710
|
|
Più informazioni
Nel seguente script, viene illustrata una modalità di memorizzazione dei dati in un array tramite vb.net.
<%@ Page language="VB" %>
<script runat="server">
Dim animali() as string={ "cane", "gatto", "topo", "balena", "delfino"}
</script>
|
18551
|
|
Più informazioni
Questo script mostra come collegarsi ad un web server remoto richiedendo un servizio di date e orari usando la classe TcpClient
<%@page language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Net.Sockets" %>
<script runat="server">
void Page_Load( object Sender, EventArgs e )
{
try {
// Mi connetto ad un time server, porta 13
TcpClient myClient = new TcpClient("ntp2a.mcc.ac.uk", 13);
// recupero con un oggetto stream la data e l'ora e la metto
scrivo nell'etichetta
Stream myStream = myClient.GetStream();
StreamReader sr = new StreamReader(myStream);
Label1.Text = sr.ReadToEnd();
}
catch (Exception ex) {
// Scrive l'errore eventuale nella etichetta
Label1.Text = ex.Message;
}
}
</script>
<html>
<body>
<asp:Label id="Label1" runat="server" />
<HR>
</body>
</html>
|
18020
|
|
Più informazioni
Un semplice script che mostra come concatenare stringhe in C#
Possiamo usare l'operatore "+":
String str1 = "Hello";
String str2;
str2 = str1 + " World"
Per incrementare le prestazioni della nostra applicazione, nel caso in cui ci siano spesso operazioni di modifica di stringhe è consigliabile usare l'oggetto StringBuilder.
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Insert(6,"Cruel ");
In questo esempio viene inserita la parola Cruel in sesta posizione creando così "Hello Cruel World!"
|
17505
|
|
Più informazioni
Ecco un semplice esempio di codice VB.NET per inviare una email utilizzando l'SMTP del server su cui poggiano le pagine ASP.NET:
<%@page language="VB" %>
<%@Import Namespace="System.Web.Util" %>
<script language="VB" runat="server">
Sub inviaEmail(Obj As Object, E As EventArgs)
Dim mailObj AS new MailMessage
mailObj.From = "mittente@email.com"
mailObj.To = "destinatario@email.com"
mailObj.Subject = "soggetto della mail"
mailObj.Body = "testo della mail"
mailObj.BodyFormat = MailFormat.Html
SmtpMail.Send(mailObj)
End Sub
</script>
|
16407
|
|
Più informazioni
Come per il linguaggio C esistono le sequenze di escape: per rappresentare
i caratteri di seguito è necessaria la sequenza di escape relativa
|
16349
|
|
Più informazioni
Questo codice permette di creare un'immagine on the fly utilizzando un file già esistente e inserendo del testo personalizzato sulla stessa immagine.
<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
CreaImmagine("http://freeasp.html.it");
}
void CreaImmagine(string drawString) {
// Importo il file di sfondo
System.Drawing.Image objBitmap =
System.Drawing.Image.FromFile(Server.MapPath("logo_freeasp.png"));
Graphics objGraphic = Graphics.FromImage(objBitmap);
// Formatto il testo da inserire
Font drawFont = new Font("Tahoma", 8);
SolidBrush drawBrush = new SolidBrush(Color.White);
// La posizione del testo
PointF drawPoint = new PointF(50.0F, 80.0F);
// Disegno la stringa di testo sull'immagine
objGraphic.DrawString(drawString, drawFont, drawBrush, drawPoint);
// Imposto la tipologia di output
Response.ContentType = "image/jpeg";
// Salvo in output l'immagine
objBitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
objBitmap.Dispose();
}
</script>
In grassetto nello script abbiamo evidenziato la scritta che comparirà sotto l'immagine specificata
|
15534
|
|
Più informazioni
Questo semplice script permette di formattare direttamente dal codice un datagrid posizionato nella pagina ASPX.
<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e) {
string[] arrDati = new string[5] { "HTML.it", "freeASP.it", "Flash-MX.it", "freePHP.it", "Corsi HTML.it" };
DataGrid1.DataSource = arrDati;
DataGrid1.DataBind();
}
void DataGrid1_ItemCreated(Object sender, DataGridItemEventArgs e) {
if (e.Item.ItemType == ListItemType.Item) {
e.Item.BackColor = Color.FromArgb(105, 139, 185);
for (int i=0; i < DataGrid1.Columns.Count; i++) {
TableCell td = e.Item.Cells[i];
td.CssClass = "nome_classe_css";
}
}
if (e.Item.ItemType == ListItemType.AlternatingItem) {
e.Item.BackColor = Color.FromArgb(167, 187, 215);
for (int i=0; i < DataGrid1.Columns.Count; i++) {
TableCell td = e.Item.Cells[i];
td.CssClass = "nome_classe_css";
}
}
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:DataGrid id="DataGrid1" runat="server" OnItemCreated="DataGrid1_ItemCreated" ShowHeader="False"></asp:DataGrid>
</form>
</body>
</html>
|
15037
|
|
Più informazioni
Grazie al seguente script, è possibile mostrare l'indirizzo IP del visitatore.
<%@ Page language="vb"%>
<script runat="server">
Sub page_load( obj As object, e As EventArgs )
indirizzo.text=request.servervariables("REMOTE_ADDR")
End sub
</script>
<asp:label id="indirizzo" value="" runat="server" />
|
14957
|