Sort a List with Integers & Letters
Sort a List with Integers & Letters
- Subject: Sort a List with Integers & Letters
- From: Steven Valenti <email@hidden>
- Date: Mon, 2 Apr 2007 16:06:34 -0400
I would like to sort a list of items that are currently strings. Most contain integers but some will also have letters.
<x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> {"1610G", "121ZB", "114", "13", "21124", "121FB", "250G", "240.25", "1610", "15", "240 25", "240"}
</x-tad-smaller>
My current routine will get the numbers in order but nothing is done for the letters or if a string of letters is added it will error
<x-tad-smaller>. Does anyone already have a functional routine that sorts items much like the Finder would or how do I get around that letters are involved?
</x-tad-smaller><x-tad-smaller>on</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>theSize</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>length</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>with</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>i</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>from</x-tad-smaller><x-tad-smaller> 1 </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>theSize</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>with</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>from</x-tad-smaller><x-tad-smaller> 2 </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>theSize</x-tad-smaller><x-tad-smaller> - </x-tad-smaller><x-tad-smaller>i</x-tad-smaller><x-tad-smaller> + 1)
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_1</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>item</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> - 1) </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>try</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_1</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>Value_1</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>as</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>integer</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>exit</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>on</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>error</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_1</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>items</x-tad-smaller><x-tad-smaller> 1 </x-tad-smaller><x-tad-smaller>thru</x-tad-smaller><x-tad-smaller> -2 </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_1</x-tad-smaller><x-tad-smaller>) </x-tad-smaller><x-tad-smaller>as</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>string</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>try</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_2</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>item</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>try</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_2</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>Value_2</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>as</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>integer</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>exit</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>on</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>error</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_2</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>items</x-tad-smaller><x-tad-smaller> 1 </x-tad-smaller><x-tad-smaller>thru</x-tad-smaller><x-tad-smaller> -2 </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_2</x-tad-smaller><x-tad-smaller>) </x-tad-smaller><x-tad-smaller>as</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>string</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>try</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>if</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>Value_1</x-tad-smaller><x-tad-smaller> > </x-tad-smaller><x-tad-smaller>Value_2</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>then</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>temp</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>item</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> - 1) </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>item</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> - 1) </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>) </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>item</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>)
</x-tad-smaller><x-tad-smaller>set</x-tad-smaller><x-tad-smaller> (</x-tad-smaller><x-tad-smaller>item</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>X</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>of</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>) </x-tad-smaller><x-tad-smaller>to</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>temp</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>if</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>repeat</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>return</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>end</x-tad-smaller><x-tad-smaller> </x-tad-smaller><x-tad-smaller>ListSorter</x-tad-smaller><x-tad-smaller>
</x-tad-smaller><x-tad-smaller>TheList</x-tad-smaller><x-tad-smaller>)</x-tad-smaller> _______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden