Solved

Schema File to import ASCII table into TTable component in Delphi 6 not working correctly.

Posted on 2003-11-18
7
673 Views
Last Modified: 2010-04-05
Hi Experts,

I am using the following schema file to populate a TTable with the data in ascii file 'test2.txt", the first three fields are imported. The third field contains extraneous characters unless the data is the full length of the field definition.  no more data from the record is displayed.

I am under the impression that the ascii file needs to be fixed width in this scenario, is this true? Is there an error in my schema definition?
Also when I define the float fields does the length include the decimal point?

If I make the text file fixed width will it help me at all?

I need help with this urgently so 500 points up for grabs


[test2]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ascii
Field1=Number1,number,3,00,00
Field2=Number2,number,4,00,03
Field3=Desc,Char,12,00,07
Field4=Number3,number,2,00,19
Field5=Number4,number,2,00,21
Field6=Number5,float,6,2,23
Field7=Number6,float,6,2,29


TEST2.TXT

900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak2”,24,16,1356.75,3999.95
900,3820,"Dive kayak24”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95
900,3820,"Dive kayak”,24,16,1356.75,3999.95




0
Comment
Question by:seancaddell
  • 3
  • 3
7 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 9771618
>I am under the impression that the ascii file needs to be fixed
>width in this scenario, is this true?
no, its a varying content

>Is there an error in my schema definition?
seems not so

>Also when I define the float fields does the length include the
>decimal point?
should be included

>If I make the text file fixed width will it help me at all?
no

sorry can't test it myself yet,
but it looks proper

meikl ;-)


0
 

Author Comment

by:seancaddell
ID: 9772104
OK,

I have tested this on a blank form with only TTable, TDatasource and DBGrid, only the first three fields appear.  If I modify the layout of my data as follows then all the fields are displayed although the last field again contains extraneous data.

900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak2”
900,3820,24,16,1356.75,3999.95,"Dive kayak24”
900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak”
900,3820,24,16,1356.75,3999.95,"Dive kayak”

The problems seems to be with the char field, if I add another char field after Desc called Desc1 no data for this field is displayed.


[test2]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ascii
Field1=Number1,number,3,0,0
Field2=Number2,number,4,0,3
Field3=Number3,number,2,0,7
Field4=Number4,number,2,0,9
Field5=Number5,float,7,2,11
Field6=Number6,float,7,0,18
Field7=Desc,Char,12,0,25
Field8=Desc1,Char,12,0,37

DATA

900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak2”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak24”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak”,"SMALL DINGY"

500 points to the solution provider.
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 9772588
this quote: ”
is not this quote: "

look sharp

replace it, and it works perfect

meikl ;-)
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 27

Accepted Solution

by:
kretzschmar earned 500 total points
ID: 9772606
puh, this quote can't displayed :-(
replaced by browser (not my language, i guess)

just the double-quote behind kayak is not an american "

thats why you get trouble

here the data-replacement:

900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak2","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak24","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"
900,3820,24,16,1356.75,3999.95,"Dive kayak","SMALL DINGY"

meikl ;-)
0
 

Author Comment

by:seancaddell
ID: 9774838
Well spotted, I take my hat off to you, you've been a great help, I'll be calling on you again sometime............
0
 

Expert Comment

by:Narusegawa
ID: 10689059
Just wondering how on earth you imported a CSV into a TTable anyway? I'm trying to do this myself.
0
 

Author Comment

by:seancaddell
ID: 10691711
Have a look at all the questions I have asked (there are only three), I started out wanting to import text into a table but this took a very long time, my ultimate aim was to get the text file into access and have successfully done that and it's very quick.  You will hve to use a shema file to import ascii files into Ttables, there is plenty of info at experts regarding this.

0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question