Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

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

Posted on 2003-11-18
7
671 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
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.

 
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: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

791 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