Converting C++ Printf Formatting To / From String Formatting
Sep 30, 2010
I have some VB .NET software that interfaces to a load of old (but sound) COM objects. The VB provides a GUI for the COM objects, part of which consists of setting various options on the COM objects - several of which relate to string formatting.I have a simple pair of VB .NET functions that convert basic %f, %d, %g formats to/from .NET equivalents using a large select case covering specific common strings, but they don't cover all formats.[code]Before I start diving in and making it more versatile with some parsing, does anyone know of a class (eg VB or C# .NET) that provides a decent ready-made implementation? Or perhaps some regexp wizadry could be used?
I have the following code, which generates insert queries
For Each f As String In Directory.GetFiles(d) objSQLStringBuilder.Append("insert into table1 (full_path, file_name) values ('" & f.Replace("'", "''") & "', '" & f.Remove(0, Len(d) + 1).Replace("'", "''") & "');") Next
However, the paths which it finds are formatted as follows
I'm having trouble getting a data stamp to format correctly in VB.NET I need a date stamp exactly like this:
December 10, 2008 at 1:27 PM In VB6, this works perfectly.
Code: Format(Now, "MMMM d, yyyy at H:mm ampm") I can get everything except the Timestamp in VB.NET. Code: Format(Now, "MMM, yyyy 'at' H:mm AMPM") produces - December 10, 2008 at 13:13A12P12
I need 1:13 PM, not 13:13.I can't find anything to format the time to AM/PM vs. military time.I've tried String.Format with no luck either.
I have this string "0.9874" and I would like to use vb code to change it to "0.9.8.74" so that it looks like a proper version number.How do I do this? String.Format("{???}",MyString) or perhaps:
I have an app that deals with currency. For display purposes I use the nifty VB FormatCurrency function which will format based on the OS's region setting. So, if in France you might get 123,45 where in the US you would get 123.45. To perform calculation on these amounts I use CDec() to convert to decimal.
My problem is that when I convert the Decimal to a String using toString() it formats according to the currently set region. I need to be able to always convert the decimal into a String representation for the US, i.e. with decimal points. I thought I would be able to do something similar to this: .toString("#0.00")
I am trying to format a date from a table that I'm getting so that I can concatenate it with another string.But I want the leading zero - I don't want 1/1/2009 - I want 01/01/2009.
I can't seem to find a formatting pattern that does this.
My form contains several NumericUpDown controls. These controls show different amount of decimal places. Later in my code I put the different NumericUpDown.Value's in a string array arrStr() like so:
Then I print the array with the File.WriteAllLines function to a text file. If for example NumericUpDown1.Value = 1.00, NumericUpDown2.Value = 2.30 and NumericUpDown3.Value = 2.124 the file has the following values in it:
1 2.3 2.124
[Code].....
I have tried Format which works, but that formatting method is not convenient as the amount of decimal places is already set for each NumericUpDown. It would be annoying to do the work again, but now with Format.
I want to know in a program idea I am working on to use at my job I have several text boxes that are used to store decimal values to represent measurements (weights & lengths) and I was wondering is there a way that when program first run the text field is populated with a default value (eg. 0.00) or if the user deletes all text in the control and hits enter or tabs to another control it sets value to same default value
PROJECT TYPE: Windows Forms Application LANGUAGE: Visual Basic .NET VERSION: 3.5
[code]....
I am attempting to display time in a label on my MainForm. The label should display a stopwatch control's elapsed time in hh:mm:ss format. My code is displaying "00:00:00". I have defined the hh, mm and ss as variables but I can't seem to figure out how to use them effectively.
vb Public Sub RefreshTimeElapsed() ' Refreshes time elapsed display. Dim hh As String = Me.MyStopWatch.Elapsed.TotalHours.ToString
While I understand there are properties of MailItem that would allow one to programmatically create a formatted email, I would prefer the ability to copy the body of an email that is already formatted to my liking (bolding, italicizing, embedded pictures/tables, set margins, etc.) copy and paste it to a newly composed email such that this formatting is preserved.
I am using standard String.Format method. It is using numeric objects. Console.WriteLine("obj1 = {0} and obj2 = {1}", "obj1", "obj2"); I want to use named indexes.Like this Console.WriteLine("obj1 = {o1} and obj2 = {o2}", new { o1 = "obj1", o2 = "obj2"}); How I can use same last code?
I'm having some difficulty formatting some of my strings, I can't see what's wrong unfortunately. I have various numbers, e.g. 100.023, 13488.323, etc in a datagridview column that I would like to be formatted so it looks like this: $123,456
Here's what I've tried so far (that isn't working):
row.Cells(1).Value = Format(row.Cells(1).Value, "{0:D0}") 'I've also tried using {0:C0} row.Cells(1).Value = row.Cells(1).Value.ToString("$#,#")
'This one (above) comes up with an error saying it can't put an "##" in an Integer column, something like that anyway.
Im trying to format the length of a DataGridViewComboBoxColumn based on the length of the longest string in the comboBox. Here is the code I currently have but it only formats the DataGridViewComboBoxColumn based on the users previous selection in the comboBox.
Is there a way to have the DataGridViewComboBoxColumn at the length of the longest string in the comboBox? Here is my code.
Private Sub comboTest_SelectionChangeCommitted(ByVal sender As Object, ByVal e As EventArgs) Handles comboTest.SelectionChangeCommitted Dim senderComboBox As ComboBox = CType(sender, ComboBox)
My user wants to have textbox fields that don't have any masks but wants those text fields to reformat any text that is entered as mm/dd if it is a real date entered
I need to take a string of any length & make it exactly 5 characters long by either truncating it or padding it or neither. So "abcdefgh" becomes "abcde", "abcde" stays "abcde" & "abc" becomes "abc " (2 spaces at the end).
I currently use this line of
Microsoft.VisualBasic.Left(myString, 5).PadRight(5, " "c) it works, but it seems very hackish.
1 ComboBox(cboCultureInfoNumeric) with the required CultureInfo. 1 Textbox(txtNumeric) 1 Label(Label1)
When the user change the Culture info the decimal point or comma change in the textbox(txtNumeric) nicely.What i try is to change also the text in Label1 by the culture info.If the user change the CultureInfo to German the Label1.text = �German�If the user change the CultureInfo to Spanish the Label1.text = �Spanish� And so on�
What I have do is :
1 - Set the Form1 Localizable property to true.
2 - Set the form's Language property to "German (Germany)".
3 - Set the Label1 Text property to "German".
VB make the file -> MainForm.de-DE.resx with name: Label.Text and value: German
4 - Set the form's Language property to "Spanish (Spain)".
5 - Set the Label1 Text property to " Spanish ".
VB make the file -> resx
6 - Set the form's Language property to "French (France)".
7 - Set the Label1 Text property to "French".
VB make the file -> resx
8 - �The TextBox with the numeric value�s change when the user change the CulureInfo but not the Label1, why?It work perfect when I put �Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR")in the MainForm.designer.vb before InitializeComponent function and in the New function.But I want to use the ComboBox�
I've been working with an Infragistics Ultragrid and I'm looking for a helpful hint. I'm using a table from SQL Server 2008 to populate my grid. The table that I'm calling has a column that has been updated to be something like this. "Items" + char(9) + char(9) + "Cost" + char(13) + char(10). The "Items" section of the column is padded to be 50 charcters in length followed with the two tab characters, the cost then the new line characters. Ultimately this is what the results of a single row would look like. Notice how the items and the cost are lumped into a single cell.
I have a MaskedTextBox using the mask "00/00/2�00" to restrict input to a format of XX/XX/20XX, with the Text property bound to MyBindingSource.SomeProperty of type DateTime.
Recently, values with a single-digit month or day recently started displaying incorrectly. I expect that the ToString() method is being called on the value at some point in data binding, and I believe the call is not padding month / day with zeroes.
I tried setting the format type of the MaskedTextBox.Text property to DateTime in the advanced data binding properties, but it didn't help.
How can I apply ToString("MMddyyyy") when converting the DateTime object to a string, before the value is bound to the Text property?
In my app I present to the user an option to customize the name of the file that gets produced. The format string the program reads is something like "yyyyMMdd-%1-%2-%3-%4" which the user can customize to his liking. In this case the format of the date is yyyyMMdd and the %1 is the trip number like 1000P, %2 is the origin code like PTTTT, %3 is the destination code like PHYUD, and %4 is a secondary stop code like YYYY123. I'm having problems taking the actual data and formatting into the custom string. I believe its the date format that I'm getting stuck on.
So far I have sOut = txtFormatPattern.Text sOut = sOut.Replace("%1", "1000P") sOut = sOut.Replace("%2", "PTTTT") sOut = sOut.Replace("%3", "PHYUD") sOut = sOut.Replace("%4", "YYYY123") sOut = myDate.ToString(sOut) 'date is July 01, 2007
The output is "20070701-#1000P-PTTTTP12YUD (YYYY123)"
The problem obviously here is my last conversion. The string contains key characters that denote a part of the date specifically in PHYUD. So my question is how can I give my user the flexibility to format the output as they wish and then convert that properly?
My user wants to have textbox fields that don't have any masks but wants those text fields to reformat any text that is entered as mm/dd if it is a real date entered. They won't be using the year.
I have a string like "pen pencil table desktop watch" I have to format it like "penPencilTableDesktopWatch" ..... like convert to camel casing. Is there any method of string or string builder in which I can do it in one line ? ... (without splitting and formatting each string and concatenating.)
I have a number of text boxs that gather data and put it in a combined string in a rich text box that displays all of the collected data. Some of the text boxes require data pasted from other sources however when that data is then copied from the rich text box to the clipboard through a routine, it loses its formatting. home to maintain the original formating?
I have a Gridview that has a timestamp as one of the rows. When I read the data from the database the data is in the format( mm/dd/yyyy hh:mm:ss ). I've figured out how to format the way I want it which is just the ( mm/dd/yyyy ) and droping of the (hh:mm:ss) with the following code:
I have a Dynamic Fields comming from database. These fields populated on RichTextBox after changing the color.Means Different Fields in Different Color.