Allen,
Ben bezig om (ASCII, in toekomst wellicht ook UTF8) text output (van een script) met een formaat als dit:
om te zetten in CSV, liefst ook tab & ; separated files en als het kan ook XML; bijv:--TestID:
ScriptVersion
--TestDescription:
Informational: version of database script
--Explanation:
Shows the version of the script that generated these results
--Norm:
None
--Results:
20110316
--RecordEnd
Een voorbeeld van de te lezen file:TestID,TestDescription,Explanation,Norm,Results
ScriptVersion,Informational: version of database script,Shows the version of the script that generated these results,None,20110316
https://bitbucket.org/reiniero/db2se.../db2secout.txt
Hiervoor gebruik ik een TBufDataset, waaraan een dbgrid hangt.
Zie de scriptdumpreader unit op https://bitbucket.org/reiniero/db2se...dumpreader.pas
Ik zit nu vast bij het inleesgedeelte.
Vragen:
Ik weet vantevoren niet hoe groot de velden zijn en ik gebruik ftString als veldtype. Dan moet ik een veldlengte definieren.
1. Als ik iets enorm groots als 32768 definieer, krijg ik een SIGSEGV bij het vullen van de velden. Ik gebruik dit soort code:Doe ik iets verkeerds of komt het gewoon omdat mijn RAM vol is? (En zo ja, waarom swapt Windows dan niet naar de pagefile)Code:ResultDataSet.FieldByName(CurrentField).AsString := TextLine;)
2. Het lijkt erop dat er geen compressie oid wordt gebruikt voor de stringvelden, dus ik krijg bijv 5 karakters tekst met 32763 spaties. Er is zeker geen handige manier om VARCHAR-achtige velden/gecomprimeerde velden te maken?
3. Als gevolg van 2 toont mijn grid ook allerlei spaties achter de tekst in de velden. Is daar een oplossing voor?
4. Tenslotte: is het misschien een heel dom idee om die bufdataset te gebruiken (de te lezen file kan nogal groot worden) en is er een makkelijker manier?
Bedankt,
BigChimp
Bookmarks