VS Macro / Add-in To Convert String Concatenations To String.format Style
Jul 28, 2010
I have project in development where string operations like "Hi " + variable + ", welcome to Project" are used at many places (given example is very minor one).
One of the requirement is to convert it to string.format style.
It is very long and tedious job, where I would not like to break earlier working code due to any human error might happen while converting it.
I would like to if any Macro or VS command which I can create to handle it. Just like we mark block of code and do Extract function in Re-factor options.
I've been googling for a while now and for the life of me can't seem to find a solution. I thought this would be easy but it's taking too long and am turning to stackoverflow.
I need to convert a string which contains a date and time to a DateTime variable. I've formatted the string in the exact format I want to store it in but when i convert it to a DateTime it keeps adding the seconds which I don't want. I want it stored as 01/01/2010 09:00AM. Here's the code I've been using so far:
I have the following date in string format "2011-29-01 12:00 am" . Now I am trying to convert that to datetime format with the following code:
DateTime.TryParse(dateTime, out dt);
But I am alwayws getting dt as {1/1/0001 12:00:00 AM} , Can you tell me why ? and how can I convert that string to date.
EDIT:
I just saw everybody mentioned to use format argument. I will mention now that I can't use the format parameter as I have some setting to select the custom dateformat what user wants, and based on that user is able to get the date in textbox in that format automatically via jQuery datepicker.
I'm bulding document-from-template engine. At certain points I need to match on Reg Exp groups and replace template text with content from a db.
I 'hardcoded' my RegExp initially, doing something like: Regex r = new Regex(@"{DocSectionToggle::(?<ColumnName>w+)::(?<ResponseValue>.+)}[[(?<SectionContent>.+)]]", RegexOptions.Multiline);
it does group capture, so the syntax isn't the prettiest.
Just to make things neater and because I want' to keep the patterns in web.config or elsewhere, I've 'evolved' algorithm to something like:
[code]...
But I'm getting an error: 'Input string was not in correct format'.
I'm concatenating a string in codebehind to use in a sql select statement.
in aspx
<asp:Label ID="LabelHidden" runat="server" Visible="False"></asp:Label> SelectCommand="SELECT * FROM [Data] WHERE [ActivityName] IN (@ActivityName) AND ([ID] = @ID)" <SelectParameters> <asp:ControlParameter ControlID="DropDownList_Employees" Name="ID" PropertyName="SelectedValue" Type="Int32" /> <asp:ControlParameter ControlID="LabelHidden" Name="ActivityName" Type="String" /> </SelectParameters> in codebehind foreach (ListItem li in ListBox_Activities.Items) { if (li.Selected) { queryBuilder += li + "', "; } queryBuilder = queryBuilder.Substring(0, queryBuilder.Length - 1); LabelHidden.Text = queryBuilder;
When i run the code it comes up blank. I did a query trace and it seems to be running as
exec sp_executesql N'SELECT * FROM [Data] WHERE [ActivityName] IN (@ActivityName) AND ([ID] = @ID)',N'@EmployeeID int,@ActivityName nvarchar(50)',@EmployeeID=4,@ActivityName=N'Production Technical Support'', Tools Development'','
with exta "'s
How can i format the queryBuilder string correctly in my code?
on VWD 2005 this code works fine, but on 2008 it says I haven't created an instance of the object. I want to convert the object connString (a connection string) into a string.
'This acceses the virtual directory web.config file for connection strings 'We have to convert the object to a connection string Dim rootWebConfig As System.Configuration.Configuration rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/VirtualDirec") Dim connString As System.Configuration.ConnectionStringSettings connString = rootWebConfig.ConnectionStrings.ConnectionStrings("ConnectString1") Dim strConnString As String = connString.ToString().......
I have a displayFormat pattern "$###,###,###;-$###,###,###;#"( it can be different too) and I want to reformat the value in the AspxTextbox after deleting the ',' on GotFocus and LostFocus events by calling the following JavaScript function :
[code]....
I have tried to use ASPxFormatter but it is an internal class that is not indented to be used in a user project.Using String.Format('{0:' + displayFormat + '}', parseInt(value))); didn't work too , it threw an exception since String.format doesn't accept this format of pattern,Can you provide a way to reformat my string to any pattern I want not only the one I recite since ?
Is there another currency format string besides "C"? "C" seems to convert negative amounts like you'd see on a bank statement (e.g. $-10.67 shows up as ($10.67)). The guy here at work doesn't like to see .00 at the end of money so in a gridview I wrote for him I was just dropped the last three characters after I converted the values to .ToString("C"), but one negative value in the bunch breaks that logic.
how to convert string as date format as yyyy-mm-dd in vb.net i have a string as 31-12-1985 , i need to convert this string in date format as 1985-12-31
i am displaying some news from rss feeds in the page. But i am stuck up in the date time conversion. I got th published datetime as pdt formated string. How can i convert to my local time. Coversion from the pdt string tot DateTime is error..
[Code]....
This second line is error and i need the result in the specified format or same format as in the published date but in local time ie IST (India Standard Time)
I have a string I need to convert back to a date. I can call .ToString("yyyyMMdd") and get the string i want. My question is how can I convert that back into a date? I'm trying something like the following with no luck.
DateTime d; var formatInfo = new DateTimeFormatInfo {ShortDatePattern = "yyyyMMdd"}; if (DateTime.TryParse(details.DetectionTime.Date, formatInfo, DateTimeStyles.None, out d)) { lit.Text = d.ToShortTimeString(); //would like 07/30/2010 as the text }
I've never used DateTimeFormatInfo before if that isn't obvious. Can someone point me in the right direction. I know I could probably use substring and create a new DateTime(y, m, d) etc... I'm just wondering since c# interpreted .ToString() correctly, if it can't derive a date from the very same string it output.
i want to check only if the column Active is Yes, then get into the if loop. But it gives me an error "Cannot convert from string to int" for the last condition in if. What do you guys i can do.
if (ds != null && ds.Tables != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Columns[0].ColumnName["Status"] == "Y") { disableloc.DataSource = ds; disableloc.DataBind(); } else { ds = null; disableloc.DataSource = ds; disableloc.DataBind(); The stored procedure is SELECT ML.locationname, rtrim(ML.address) + (CASE WHEN ML.Address2 IS NOT NULL THEN ('' '' + rtrim(ML.Address2)) ELSE '''' END) + '' - ''+ ML.city + '', ''+ ML.state as address, ML.locationid, ML.merchantid, case when ML.active <> ''Y'' then ''Deactive'' else ''Active'' end [Status], (SELECT count(*) as retval FROM merchant_statistics WHERE type = ''merchant'' AND locationID= ML.LocationID AND status = ''clicked'') as stat, '' '' as button,'' '' as blank , dbo.GetCouponCountForLocations(@_merchantid,ML.locationID) couponCount, MP.DomainName, (SELECT Count(*) FROM Promotion WHERE LocationId = ML.locationid AND PostType = 1) AS jobs FROM merchant_location ML , Merchant_Pages MP WHERE MP.LocationID = ML.LocationID AND ML.merchantid = @_merchantid Order By '