If you’d like to capitalize all letters in a cell, it’s easy – just use the following formula (assuming cell A1 has the text you want to capitalize).
=PROPER(A1)
But what if you just want to capitalize the first word in the cell “A1”? For example, you have the following text in a cell “A1” and you’d like to capitalize just the first letter:
How to have the First Letter of a sentence Capitalize
To capitalize “How” in cell “A1”, use one of the following formula:
=REPLACE(A1,1,1,UPPER(LEFT(A1,1)))
or
=CONCATENATE(UPPER(LEFT(A1,1)),RIGHT(A1,LEN(A1)-1))
The result:
How to have the first letter of a sentence capitalize
Not working for you?
Remember to replace A1 with the cell that contains the string of words you want to parse out.
Hi guys, I want in MVC to render a text with an image as an ActionLink. For creating a simple anchor tag, we use Html.ActionLink() helper which generates anchor tag for us.
If you want to create something a bit more complicated, you must create you own component. For this reason, I created the following code. It allows you to create an anchor with an image and a text.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace PSC.MVC.Helpers
{
public static class CustomHtmlHelpers
{
///
/// Enum ImageAndText
///
public enum ImageAndText
{
///
/// Image on the left, text on the right
///
ImageOnTheLeft,
///
/// Text on the left, image on the right
///
ImageOnTheRight
}
///
/// Images the action link.
///
/// The HTML helper.
/// The link text.
/// The action.
/// The controller.
/// The route values.
/// The HTML attributes.
/// The image source.
/// The alternate text.
/// The text style.
/// The image style.
/// The image position.
/// IHtmlString.
public static IHtmlString ImageActionLink(
this HtmlHelper htmlHelper, string linkText, string action,
string controller, object routeValues, object htmlAttributes,
string imageSrc, string alternateText = "",
string textStyle = "", string imageStyle = "",
ImageAndText imagePosition = ImageAndText.ImageOnTheLeft)
{
var urlHelper = new UrlHelper(
htmlHelper.ViewContext.RequestContext);
// create the image
var img = new TagBuilder("img");
img.Attributes.Add("src",
VirtualPathUtility.ToAbsolute(imageSrc));
if (!string.IsNullOrEmpty(alternateText))
img.Attributes.Add("alt", alternateText.Trim());
if (!string.IsNullOrEmpty(imageStyle))
img.Attributes.Add("style", imageStyle);
// create a render for the image and the text
string render = "";
if (imagePosition == ImageAndText.ImageOnTheLeft)
render = img.ToString(TagRenderMode.SelfClosing) + linkText;
else
render = linkText + img.ToString(TagRenderMode.SelfClosing);
// create the anchor with image and text
var anchor = new TagBuilder("a") {
InnerHtml = render
};
if (!string.IsNullOrEmpty(textStyle))
anchor.AddCssClass(textStyle);
// add reference to the anchor
anchor.Attributes["href"] = urlHelper.Action(action,
controller,
routeValues);
anchor.MergeAttributes(new RouteValueDictionary(htmlAttributes));
return MvcHtmlString.Create(anchor.ToString());
}
}
}
In your MVC code you have to add:
@using PSC.MVC.Helpers;
and then you can call your component:
@Html.ImageActionLink("Your text", "Index", "Home", null, null,
"~/Content/images/img.png", "Logo", "navbar-brand",
"width: 40px;")
In my
previous post I described how to check your connection in a C# project. I should have the same function in a PCL project for Xamarin.
Based on my project, I created this function:
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace PSC.Xamarin.Connection
{
///
/// Speed test.
///
public class SpeedTest
{
public double SecondsForOneMb { get; set; } = 0;
public double KbSeconds { get; set; } = 0;
///
/// Starts the test to download a file from an url.
/// Read SecondsForOneMb and KbSeconds for the result
///
public async Task StartTest()
{
string url =
"http://puresourcecode.com/file.axd?file=/SpeedTest/1024kb.txt";
HttpClient client = new HttpClient();
// get current tickcount
double starttime = Environment.TickCount;
// download file from the specified URL,
// and save it to C:\speedtest.txt
// in your project change the path of the following line
var httpResponse = await client.GetAsync(url);
byte[] dataBuffer =
await httpResponse.Content.ReadAsByteArrayAsync();
// get current tickcount
double endtime = Environment.TickCount;
// how many seconds did it take?
// we are calculating this by subtracting starttime from
// endtime and dividing by 1000 (since the tickcount is in
// miliseconds 1000 ms = 1 sec)
SecondsForOneMb = Math.Floor(endtime - starttime) / 1000;
// calculate download rate in kb per sec.
// this is done by dividing 1024 by the number of seconds it
// took to download the file (1024 bytes = 1 kilobyte)
KbSeconds = Math.Round(1024 / SecondsForOneMb);
}
}
}
Happy coding!
The purpose of this code is the detect how slow is your connection downloading a file from a site. First of all, you have to create a file with a known size: for that you can use fsutil in the prompt (see another post in this blog for info).
When yo do put your file in a webserver (or you can use my url), we can create the code to check the connection speed.
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
namespace SpeedTest
{
class Program
{
static void Main(string[] args)
{
Console.Title = "A simple speed test connection for your app";
// the URL to download a file from
Uri URL = new Uri(
"http://puresourcecode.com/file.axd?file=/SpeedTest/1024kb.txt"
);
WebClient wc = new WebClient();
Console.WriteLine("Simple speedtest");
Console.WriteLine("----------------");
Console.WriteLine("Will test your download rate. " +
"Press any key to begin.");
Console.ReadKey();
Console.WriteLine("\nDownloading file: 1024kb.txt...");
Console.WriteLine("From http://puresourcecode.com");
Console.WriteLine("Note: This file will automatically " +
"be deleted after the test.");
// get current tickcount
double starttime = Environment.TickCount;
// download file from the specified URL,
// and save it to C:\speedtest.txt
// in your project change the path of the following line
wc.DownloadFile(URL, @"C:\speedtest.txt");
// get current tickcount
double endtime = Environment.TickCount;
// how many seconds did it take?
// we are calculating this by subtracting starttime from
// endtime and dividing by 1000 (since the tickcount is in
// miliseconds 1000 ms = 1 sec)
double secs = Math.Floor(endtime - starttime) / 1000;
// calculate download rate in kb per sec.
// this is done by dividing 1024 by the number of seconds it
// took to download the file (1024 bytes = 1 kilobyte)
double kbsec = Math.Round(1024 / secs);
Console.WriteLine("\nCompleted. Statistics:\n");
Console.WriteLine("1mb download: \t{0} secs", secs);
Console.WriteLine("Download rate: \t{0} kb/sec", kbsec);
Console.WriteLine("\nPress any key to exit...");
Console.Read();
Console.WriteLine("Deleting file...");
try
{
// delete downloaded file
System.IO.File.Delete(@"C:\speedtest.txt");
Console.WriteLine("Done.");
}
catch
{
Console.WriteLine("Couldn't delete download file.");
Console.WriteLine("To delete the file yourself.");
Console.ReadKey();
}
}
}
}
Happy coding!
I shoud find a simple way to generate a file of exact size. Finally I found this command in the Prompt of Windows (Windows10 in my case but it presents in the previous version of Windows)
fsutil
The syntax for using for this purpose fsutil is:
fsutil file createnew filename filesize
I used a simple loop to create files of a particular size using fsutil. Running from a command prompt:
For creating a file of 1 Mb you can type
fsutil file createnew C:\Users\e.rossini\1024kb.txt 1048276
Happy coding!