Sign in to follow this  
Followers 0
Mellon

Question about dates and arrays

8 posts in this topic

I suspect this is something I'll have to work around but I figured I would ask.

I have a text string in a file that read like this:

11485 Relocate Matanzas River Buoy 80A R N "80A" N 29 43' 18.788" W 081 14' 46.663" 29.72189 -81.24629 LNM 29/10, 7th Dist 279 11485_1 7/27/2010

$LNMitems = StringSplit($lnmline, @TAB)
    $theChartnumber = $LNMitems[1]
    $theActionprocess =$LNMitems[2]
    $LNMIssueDate=$LNMitems[10]

$LNMitem[10] is the date at the end of the string. However, when I process that line it does not return as a date but rather as a number. Is there anyway to make it retain the date format as a text string. I only have to list it since a change to the buoy can happen at different dates. There is no need to process anything based on the date.

Share this post


Link to post
Share on other sites



Mellon,

Look at _DayValueToDate - it might be what you need. :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

I'll give it a shot but I don't think it will work. $LNMitem[10] returns a value of 280 when I run it against that line. July 2010 does not seem to be only 280 days from noon 4713 BC January 1 :) .

Share this post


Link to post
Share on other sites

It didn't work. I just worked around it by use the LNM number. (LNM 29/10 in this case)

Share this post


Link to post
Share on other sites

Are you sure that the lines are being split into fields correctly.

It may be worth trying this just to confirm that $LNMitems[10] is the date field.

#include <array.au3>

$LNMitems = StringSplit($lnmline, @TAB)

_ArrayDisplay($LNMitems)

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning."- Rick Cook

Share this post


Link to post
Share on other sites

Where are the Tabs in the line, and how many are there? Unless there's 9 Tab characters in total in that line of text, the 10th item may or may not be the date at the end.

Also, is the date at the end of the line every time? If so you could use $SomeVariable = StringRight($lnmline, 10) and then use StringStripWS($SomeVariable, 1) to strip off any spaces that might be there if the month is < 10.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

mellon,

Put in an _arraydisplay as Bowmore suggests. The display will show you what values are at each offset (element) of the array.

kylomas


Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites

A) Thanks, I didn't know that tool existed. That is extremely handy.

:) You were right. The date would be found in LNMitem[12], not [10] When I was counting the tabs across I screwed up by two. (And assumed something I shouldn't. When this was comma delimited it was in space 10.)

Thanks for the help. This is a text file from NOAA that contains chart corrections that are needed to update charts. For reasons known only to them they charge the format of the list about every three months. Keeps me learning about Autoit at least. ;)

Thanks again.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0