Delete A Record Or Field From A Fixed-width File?
Jul 8, 2009How to delete a record or field from a fixed-width file in visual basic code?
View 1 RepliesHow to delete a record or field from a fixed-width file in visual basic code?
View 1 RepliesI am trying to format a string of arbitrary length into a fixed width field for display.
Let's use a width of 20 as an example, and call the string to be formatted s. I'm adding the formatted string to a StringBuilder named b.
Dim b As New System.Text.StringBuilder()
Dim s as New String
If the string I want to display is shorter than 20 characters, I can do this:
b.Append(s.PadRight(20))
or
b.AppendFormat("{0,-20}", s)
So far, so good. But, if the string is longer than 20 characters, I want the string to be truncated to 20 characters as it is appended. The code above appends the entire string.
I tried this:
b.Append(s.Substring(0,20).PadRight(20))
But, this fires an exception if the string was shorter than 20 characters.
So, I ended up with:
b.Append(s.PadRight(20).Substring(0,20))
This seems to do the job. The PadRight prevents the exception by making sure thet string has 20 characters before the Substring is performed.
I was wondering if there is an alternate method that would look more elegant and avoid padding the string just so prevent the substring from causing an exception. Have I missed a feature of String.Format that can accomplish this in one step?
Edited to add solution:
I ended up with the following code:
Module Extensions
<Extension()> _
Function AppendFixed(ByVal b As StringBuilder, ByVal s As String, ByVal width As Integer) As StringBuilder
[Code]....
This uses an extension method to clean up the syntax, as suggested by Joel and Merlyn, and uses the StringBulider Append overloads to avoid creating new strings that will have to be garbage collected, as suggested by supercat.
I am aware that this is a visual basic dot net post. However It was extremely simple for me to write out a file in VB6 using lines such as the following snippet
[Code]...
I want basically to export an array A (I used zero based array here) with three columns and a particular value B in fixed widths, hence the @@@@@ which means 5 spaces in to a text file defined by the FreeFNum (FreeFileNumber).
I would like to use CSV and all the other formats but some scientific programs written in FORTRAN may not support them. Anyway my file output here needs to be in this fixed width format because it will be used by proprietary software that I have no access to the source code.
[Code]...
I'm using vb6 to read lines of txt files, using the code posted in ream.In.Code "Reading a Text file Line by Line". My question is how can I real a line with fixed column width, for example:
qwerty 12345 asdfg
asd 455 hfgdf
qhjkrty 1235 asdfg
The objective is to read each part of the row. In Visual Studio 2010 Beta version the code I present below that is actually working but it doesn't work in VB6.
Using Reader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\teste.txt")Reader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidthReader.SetFieldWidths(8, 30, 25, 45, 57)
[code].....
I need to import a big fixed width text data file into SQL server. Before importing, how to determine how many fields and records in the file?
View 11 RepliesI am trying to load a text file into an Access 2007 table. I know you can read the file line by line and then create a record out of each line. i was trying to see if this could be done with an INSERT INTO rather than cyclying through all lines of text. My text file is not character delimited but rather by fixed column width. For example:[code]The data in the example has spaces for readability but in reality the data are clumped together like so [code]I cant figure out how to tell the command how the data is structured. I know you can use a schema file but there's got to be a way to do this all through code.
View 1 RepliesI am learning to use TextFieldParser to read a fixed width text data file. It works great. I copied code below. Question: How to stop at the end of each line because I need to add some code?
Using tf As New TextFieldParser(fileName)
tf.TextFieldType = FileIO.FieldType.FixedWidth
tf.SetFieldWidths(60, 30, 20) //three columns
[Code].....
For a school program, I was assigned to use a .dat file to store and edit information while using VB to be it's front end( to appear in a listbox). I was also given what field length to use per field. I never worked with .dat files, so I have a few questions (all the google-ing Ive done say the same thing: every .dat file is different so you can't play around with them):
[Code]...
I have made an app which has id and name and class and tel fields using sql2005 database I made ID field as primery key so when i delete record from table it doesnt rearange it self for example I added record number
1
2
3
4
[code]....
Iam using sql2005 database in vb.net2005
my table's name = tab1
I have 3 fields
1- ID = auto number =primery key
2- IDD = number
3- name = text
now if I add 10 names in the table from (1-10) =1,2,3,4,5,6,7,8,9 ,10
then if I delete name number 6 the IDD field will rearrange it self from( 1-9)=1,2,3,4,5,6,7,8,9 instead of 1,2,3,4,5,7,8,9,10
Iam using sql2005 database in vb.net2005
my table,s name = tab1
I have 3 fields
1- ID = auto number =primery key
2- IDD = number
3- name = text
now if I add 10 names in the table from (1-10) =123456789 10 then I deleted name number 6 the IDD field will renumber it self from( 1-9)=123456789 instead of 1234578910 so in reports and queries the names will appear numberd from 1 to last number with out missing numbers in the middle of numbering I use in MS-Access code which does this perfactly
Public Sub RowOrder()
Dim db As DAO.Database
Set db = CurrentDb
[code]....
I have files that are one long line of text but are made up of individual segments. I have managed to parse the segments into a string array but now need to parse each segment into its individual fields, based upon a field structure defined by the first 2 characters of the segment.For example:
CA12345ABC999999XXPPPPPPPP55
CA segment (CA is first 2 characters of segment) has fields defined as:
Field Name,Start,Length
[code]....
I found away to read a fixed position text file, but I encounter a problem, I know which field I want to go and check, how can I jump directly to the field I need. Readfields does not helps.for instance I need to check on field 3 and 7 of the row before the next row is read.[code]is this my best approach to read a fixed position text file?
View 1 RepliesBasically, I am making a booking system. On one of the forms, you can: Add, Edit and Delete a record by using the selected index. I can do the Add and Edit part fine but some problems are occuring when I try to delete it. What I'm trying to do when deleting is, copy all the records except the selected one and then copy it back into the original file again.
[Code]...
I want to set header column width for grid view. I tried HeaderStyle-Width="30px". But it is depending on Item columns. The column width is setting based on item value. But I want fixed width even if it has value or empty.
View 2 RepliesI need to write some fixed-width font (i.e Courier New or Consolas) text to a .net Winforms window in the Paint event - not using a label or any other winforms control - rather using a graphics object method to render the text onto the form's client area. I am having difficulty aligning text on different lines under headings even though it is fixed width font. How can I get a precise measurement of the width of a single character in the fixed-width font? How can I get 2 lines to print out aligned horizontally in successive text out calls?
For example:
Heading 1 Heading 2
Short Other text
A bit longer Still aligned?
I need a separate call to render each cell of text under Heading 2. For argument's sake - let's say column 1 items are printed in black and column 2 are printed in blue - we can't use the same text out call for the entire line.
Is there a simple way (without measuring characters using a Graphics object) to check if a font is fixed-width?
View 7 RepliesI'm developing a Point Of Sale (POS) app in VB.NET and .NET Framework 3.5 where multiple items can bought at a time. I need to print all items: their code, name quantity, price in a row-column manner.
SHOP NAME date
========== =====
SL CODE NAME QTY PRICE
== ===== ===== === =====
[code]....
The width of page is fixed but the height will be dynamic.The printout will be printed on rolled paper normally used in a POS system.How can this be done?
In Excel under Data Tab-Text to Columns-Fixed Width- and when next is pressed we get preview of Selected Data.
There a Scale is being designed(10, 20, ...). Is there any way in VB.net to do that scale or any other form of Implementation.
just say I have a string as follows:
This is a long long lojngoi sudofi usdfh ksjdhfjk sdhfgkj shgh sdfhg sdfg sdfgdsfg ... I want to specify a maximum width (eg 180) for my string and get the height returned... the picture below explains in more detail:
I am using ms-access 2002. I have to export the data of a ms-access table in Fixed Width format. To accomplish this I am using DoCmd.TransferText method.
DoCmd.TransferText acExportFixed, "schema.ini", "table_ABC", "C: estingTestData.txt"
But I am getting error message: "Run time error-3625 The text file specification 'schema.ini' does not exist.You cannot import, export, or link using the specification."
Here schema.ini is at same location as of text file. i.e. "C: esting"
I tried with
DoCmd.TransferText acExportFixed, "C: estingschema.ini", "table_ABC", C: estingTestData.txt"
but no success.
For delimited format it is working fine
DoCmd.TransferText acExportDelim, "", "VDMMEMBS", "C: estingTestData.txt"
I have gone through the link [URL]
Error message is same as of me but example shown is related to import of txt file.
I hav a web service which pull records from a database and I am hosting these services in IIS which works fine but I am trying to retrieve the record and display the record in a listbox displaying the time field as the text for that record.I have created the following function
public sub get_data()
dim dt as new data.dataTable
dim service as ws webservice.webservice
[code]...
have a script which puts multiple files into a folder periodically. I have a code to delete file. this code should run but gives me error that file does not exist.
' for each objFile1 in FSO.GetFolder(strPath2&""&acctdir&""&acctsubdir).Files
' acctno1 = Mid(objFile1.Name,1,11)
' if acctno1 = acctno then
[Code].....
I use This Code To Save Data in Table First I delete record Then Insert record
View 4 RepliesI have a javascript file that contains the function for calling the confirmation delete window, the code used is similar to the following:
function Delete()
{
confirm('Delete this user');
[code].....
I'd like to create code for my datagrid view to be able to delete a row by first clicking the record selector column then pressing delete. Seems like some standard stuff but really difficult to create in VB 2005.
View 10 RepliesI am using VB.Net and crystal Report in VS2008. On Crystal Report I have a database(SQL20005) Column "Address".
I have used "Can Grow" option for that Column to change. But it resizes Vertically. I want to change its Width as Address have different data.
i have one textbox ,this textbox contains a number ,i want to delete a record by searching that number in two tables Table1 and Table2,the record may present in Table1 or Table2 ,so it should check both the Tables ,if it is found in table1 it should delete or else from table 2 it should delete.
View 3 Replieswhen i try to delete a row . always restricting to delete on certain Table table.( DELETE ERROR tble_tombstone) message comes up.
View 8 RepliesI want to delete record from GridView.Before to this ask for confirmation like "Are you sure to delete?"I used command field in GridView, [code] I wrote a function in javascript. [code] How I will call this on delete click.
View 4 Replies