#1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 17
Default Reverse Concatenate?

Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) = A - 01
A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a
AA01 (2-alpha, 2-digit num) = AA - 01
AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 410
Default Reverse Concatenate?

On Sep 29, 2:20*pm, Dvinechild
wrote:
Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) *= A * - * 01
A01a (single aplha, 2-digit num, sub-alpha) * *= A * - * 01 * - * a
AA01 (2-alpha, 2-digit num) *= * AA * *- *01 *
AA01a (2-aplha, 2-digit num, sub-alpha) *= AA * - * 01 * - * a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.


this is how I did it. I am sure there has to be something much easier
then this, but it shoudl do the trick to the above guidleines.

Thanks,
Jay
=IF(LEN(K1)=3,LEFT(K1,1)&" - "&RIGHT(K1,2),IF(LEN(K1)=5,LEFT(K1,2)&" -
"&RIGHT(LEFT(K1,4),2)&" - "&RIGHT(K1,1),IF(ISNUMBER(-
RIGHT(K1,1)),LEFT(K1,2)&" - "&RIGHT(K1,2),LEFT(K1,1)&" -
"&RIGHT(LEFT(K1,3),2)&" - "&RIGHT(K1,1))))
  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,365
Default Reverse Concatenate?

I wasn't quite sure what you mean by "the entire alphabet" and up to about
38-65 numerically.
I kind of got the impression that maybe you had to deal with things like
AA01a43bb2CA99

But no matter, the following code will deal with things just as you've shown
them, to an entry of virtually any length composed of alpha and numeric
groups.
It does assume that the cells to the right of your entries on a row are
available to put the split groups into.

Sub SplitIntoGroups()
Dim sourceEntries As Range
Dim anySourceEntry As Range

Const entriesColumn = "A" ' assumes in col A
Const firstEntryRow = 2 ' first row w/value to examine
Dim lastEntryRow As Long ' will be determined

Dim workingText As String
Dim columnOffset As Integer
Dim seekingAlphaGroup As Boolean
Dim LC As Integer ' loop counter
Dim splitPoint As Integer

Set sourceEntries = ActiveSheet.Range(entriesColumn & _
firstEntryRow & ":" & ActiveSheet.Range(entriesColumn & _
Rows.Count).End(xlUp).Address)

For Each anySourceEntry In sourceEntries
'find column number of first column to put
columnOffset = 1 'reset
' Trim() removes leading/trailing white space
workingText = Trim(anySourceEntry.Value)
'determine whether the string starts
'with an alpha or numeric group
seekingAlphaGroup = True
If Left(workingText, 1) = "0" And _
Left(workingText, 1) <= "9" Then
seekingAlphaGroup = False
End If
Do Until Len(workingText) = 0
'assumption here is that any entry
'ALWAYS begins with an alpha group
If seekingAlphaGroup Then
'we actually look for a digit 0-9 here
splitPoint = 0 ' reset
For LC = 1 To Len(workingText)
If Mid(workingText, LC, 1) = "0" And _
Mid(workingText, LC, 1) <= "9" Then
splitPoint = LC - 1
Exit For ' found where to split it
End If
Next
Else
'looking for a numeric group
'so we look for an alpha character
splitPoint = 0 ' reset
For LC = 1 To Len(workingText)
'assume if "9" then it's alpha
If Mid(workingText, LC, 1) "9" Then
splitPoint = LC - 1
Exit For
End If
Next
End If
If splitPoint = 0 Then
'the remainder of workingText is
'all of one type (alpha or numeric)
' put single quote in front of it
'to retain leading zeros if it is numeric
anySourceEntry.Offset(0, columnOffset) = _
"'" & workingText
workingText = ""
Else
'not done, more to follow
' put single quote in front of it
'to retain leading zeros if it is numeric
anySourceEntry.Offset(0, columnOffset) = _
"'" & Left(workingText, splitPoint)
workingText = Right(workingText, _
Len(workingText) - splitPoint)
End If
'flip the switch
seekingAlphaGroup = Not seekingAlphaGroup
columnOffset = columnOffset + 1
Loop
Next
Set sourceEntries = Nothing
End Sub

To put the code into your workbook: Press [Alt]+[F11] to enter the VB
Editor. Then choose Insert | Module to get an empty module displayed. Copy
the code above and paste it into the module. Close the VB Editor and save
the workbook.

You can change the constants entriesColumn and firstEntryRow to define where
the first text group to be split up is at.

To run the code, select the sheet with your entries and then use Tools Macro
Macros and select the splitIntoGroups entry in the list and click the [Run]
button.

Hope this helps some.


"Dvinechild" wrote:

Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) = A - 01
A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a
AA01 (2-alpha, 2-digit num) = AA - 01
AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.

  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 17
Default Reverse Concatenate?

THANK YOU, i'll be sure to use this...once i decipher it! (lol)

"JLatham" wrote:

I wasn't quite sure what you mean by "the entire alphabet" and up to about
38-65 numerically.
I kind of got the impression that maybe you had to deal with things like
AA01a43bb2CA99

But no matter, the following code will deal with things just as you've shown
them, to an entry of virtually any length composed of alpha and numeric
groups.
It does assume that the cells to the right of your entries on a row are
available to put the split groups into.

Sub SplitIntoGroups()
Dim sourceEntries As Range
Dim anySourceEntry As Range

Const entriesColumn = "A" ' assumes in col A
Const firstEntryRow = 2 ' first row w/value to examine
Dim lastEntryRow As Long ' will be determined

Dim workingText As String
Dim columnOffset As Integer
Dim seekingAlphaGroup As Boolean
Dim LC As Integer ' loop counter
Dim splitPoint As Integer

Set sourceEntries = ActiveSheet.Range(entriesColumn & _
firstEntryRow & ":" & ActiveSheet.Range(entriesColumn & _
Rows.Count).End(xlUp).Address)

For Each anySourceEntry In sourceEntries
'find column number of first column to put
columnOffset = 1 'reset
' Trim() removes leading/trailing white space
workingText = Trim(anySourceEntry.Value)
'determine whether the string starts
'with an alpha or numeric group
seekingAlphaGroup = True
If Left(workingText, 1) = "0" And _
Left(workingText, 1) <= "9" Then
seekingAlphaGroup = False
End If
Do Until Len(workingText) = 0
'assumption here is that any entry
'ALWAYS begins with an alpha group
If seekingAlphaGroup Then
'we actually look for a digit 0-9 here
splitPoint = 0 ' reset
For LC = 1 To Len(workingText)
If Mid(workingText, LC, 1) = "0" And _
Mid(workingText, LC, 1) <= "9" Then
splitPoint = LC - 1
Exit For ' found where to split it
End If
Next
Else
'looking for a numeric group
'so we look for an alpha character
splitPoint = 0 ' reset
For LC = 1 To Len(workingText)
'assume if "9" then it's alpha
If Mid(workingText, LC, 1) "9" Then
splitPoint = LC - 1
Exit For
End If
Next
End If
If splitPoint = 0 Then
'the remainder of workingText is
'all of one type (alpha or numeric)
' put single quote in front of it
'to retain leading zeros if it is numeric
anySourceEntry.Offset(0, columnOffset) = _
"'" & workingText
workingText = ""
Else
'not done, more to follow
' put single quote in front of it
'to retain leading zeros if it is numeric
anySourceEntry.Offset(0, columnOffset) = _
"'" & Left(workingText, splitPoint)
workingText = Right(workingText, _
Len(workingText) - splitPoint)
End If
'flip the switch
seekingAlphaGroup = Not seekingAlphaGroup
columnOffset = columnOffset + 1
Loop
Next
Set sourceEntries = Nothing
End Sub

To put the code into your workbook: Press [Alt]+[F11] to enter the VB
Editor. Then choose Insert | Module to get an empty module displayed. Copy
the code above and paste it into the module. Close the VB Editor and save
the workbook.

You can change the constants entriesColumn and firstEntryRow to define where
the first text group to be split up is at.

To run the code, select the sheet with your entries and then use Tools Macro
Macros and select the splitIntoGroups entry in the list and click the [Run]
button.

Hope this helps some.


"Dvinechild" wrote:

Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) = A - 01
A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a
AA01 (2-alpha, 2-digit num) = AA - 01
AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.

  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 5,651
Default Reverse Concatenate?

On Mon, 29 Sep 2008 12:20:56 -0700, Dvinechild
wrote:

Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) = A - 01
A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a
AA01 (2-alpha, 2-digit num) = AA - 01
AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.


To restate what I think you want, you would like to take a string consisting of
digits and non-digits, and split it up into sequential cells in the same row
into the non-digit portion followed by the digit portion -- in the same order
as these segments exist in the original string.

Easily done with VBA using regular expressions:

The macro below works on the cells you select. Look at the included comments
for changes to make if you want to have the macro also get rid of the original
data. Also, check there so that the required number of columns to the right of
your data are cleared out.

To enter the macro, <alt-F11 opens the VB Editor. Ensure your project is
highlighted in the project explorer window, then Insert/Module and paste the
code below into the window that opens.

To use this, select your range of cells.
<alt-F8 opens the macro dialog box.
RUN this macro.

===================================
Option Explicit
Sub ParseAlphaNum()
Dim c As Range
Dim str As String
Dim i As Long
'Num of columns to clear to right of data
'Make sure this number is big enough to
'accomodate your longest entry
Const lColsToClear As Long = 10
Dim re As Object, mc As Object, m As Object
Set re = CreateObject("vbscript.regexp")
re.Global = True
re.Pattern = "\d+|\D+"

For Each c In Selection
str = c.Value
'TO replace the original value also, remove the
'Offset(0,1) from the line below and change
'i=1 to i=0
c.Resize(1, lColsToClear).Offset(0, 1).Clear
If re.test(str) = True Then
Set mc = re.Execute(str)
'Change i=1 to i=0 if you are replacing
' your original data
i = 1
For Each m In mc
c.Offset(0, i).Value = m
i = i + 1
Next m
End If
Next c
End Sub
===============================
--ron


  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 698
Default Reverse Concatenate?

If it's ok to split the cell into adjacent cells...
Try this:

A1: (alternating text/numbers/text/etc eg AB123C4DEFG5678)

Then
B1:
=LEFT(A1,MATCH(FALSE,INDEX(ISERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1),1)),1)),0),0)-1)

The following are ARRAY FORMULAS (committed with
CTRL+SHIFT+ENTER, instead of just ENTER)
C1: =LEFT(MID($A1,SUMPRODUCT(LEN($B1:B1))+1,255),
MATCH(TRUE,ISERROR(--MID(MID($A1,SUMPRODUCT(
LEN($B1:B1))+1,255)&"a",ROW($A$1:INDEX($A:$A,LEN($ A1)-
SUMPRODUCT(LEN($B1:B1))+1,1)),1)),0)-1)

Copy C1 into E1, G1, I1, K1

D1: =LEFT(MID($A1,SUMPRODUCT(LEN($B1:C1))+1,255),
MATCH(FALSE,ISERROR(--MID(MID($A1,SUMPRODUCT(
LEN($B1:C1))+1,255)&"9",ROW($A$1:INDEX($A:$A,LEN($ A1)-
SUMPRODUCT(LEN($B1:C1))+1,1)),1)),0)-1)

Copy D1 into F1, H1, J1, L1

Using the above example, these values are returned:
B1: AB
C1: 123
D1: C
E1: 4
F1: DEFG
G1: 5678

Is that something you can work with?
***********
Regards,
Ron

XL2003, WinXP


"Dvinechild" wrote:

Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) = A - 01
A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a
AA01 (2-alpha, 2-digit num) = AA - 01
AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.

  #7   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,365
Default Reverse Concatenate?

Like code often does, the simplicity of the job to be done is hidden in the
convoluted way that code has to be taught to see the obvious.

BTW: I do think one error could cause failure and that is if there is an
empty cell between the first and last one used in the column. I didn't test
for empty string as the starting value for workingText.

OK: it sets up a range reference to the cells that it will be examining.
That range starts (in the code as written) at A2 and continues down column A
to the last entry in the column.
Then it starts the For Each loop to examine the contents of each of those
cells.
columnOffset is a value used to move where the pieces of the original text
are placed on the row.
seekingAlphaGroup is a flag that tells whether we are looking for an alpha
character set (we will actually search for the first digit in the string
later), or if we are searching for a numeric group (we will actually search
for a non-digit character later). The default start, based on your
description of the data, is that we will be looking for an alpha group first,
but we test the 1st character of the string anyhow just to be sure and if
it's 0-9, we flip the flag to look for a numeric group first.

The For LC loop works across the string until it finds either a digit or a
non-digit, depending on the setting of seekingAlphaGroup flag. When it finds
something it's looking for, it assumes that everything to the left of that
character is the next group to be split off and put into a column by itself
on the row.
When the LC loop completes it either points to a point to split workingText
or it has a zero (indicating that there is no group left to split). The
string is either split, with the left piece of it going into the next
available column, and that part that was split is removed from workingText.

When we put the groups into the empty columns we stick a single quote mark
in front of the entry to force it to be treated as text, this preserves
leading zeros in numeric groups.

Once that's done, the seekingAlphaGroup flag is flipped to the other state,
and the columnOffset value is incremented by 1 to put the next found group
(if there is one) into the next available column.

Finally all the cells in the range have been examined and we set
sourceEntries = Nothing to release those resources back to the system and
terminate the process.

Hope that helps with your decyphering the code to your satisfaction.


"Dvinechild" wrote:

THANK YOU, i'll be sure to use this...once i decipher it! (lol)

"JLatham" wrote:

I wasn't quite sure what you mean by "the entire alphabet" and up to about
38-65 numerically.
I kind of got the impression that maybe you had to deal with things like
AA01a43bb2CA99

But no matter, the following code will deal with things just as you've shown
them, to an entry of virtually any length composed of alpha and numeric
groups.
It does assume that the cells to the right of your entries on a row are
available to put the split groups into.

Sub SplitIntoGroups()
Dim sourceEntries As Range
Dim anySourceEntry As Range

Const entriesColumn = "A" ' assumes in col A
Const firstEntryRow = 2 ' first row w/value to examine
Dim lastEntryRow As Long ' will be determined

Dim workingText As String
Dim columnOffset As Integer
Dim seekingAlphaGroup As Boolean
Dim LC As Integer ' loop counter
Dim splitPoint As Integer

Set sourceEntries = ActiveSheet.Range(entriesColumn & _
firstEntryRow & ":" & ActiveSheet.Range(entriesColumn & _
Rows.Count).End(xlUp).Address)

For Each anySourceEntry In sourceEntries
'find column number of first column to put
columnOffset = 1 'reset
' Trim() removes leading/trailing white space
workingText = Trim(anySourceEntry.Value)
'determine whether the string starts
'with an alpha or numeric group
seekingAlphaGroup = True
If Left(workingText, 1) = "0" And _
Left(workingText, 1) <= "9" Then
seekingAlphaGroup = False
End If
Do Until Len(workingText) = 0
'assumption here is that any entry
'ALWAYS begins with an alpha group
If seekingAlphaGroup Then
'we actually look for a digit 0-9 here
splitPoint = 0 ' reset
For LC = 1 To Len(workingText)
If Mid(workingText, LC, 1) = "0" And _
Mid(workingText, LC, 1) <= "9" Then
splitPoint = LC - 1
Exit For ' found where to split it
End If
Next
Else
'looking for a numeric group
'so we look for an alpha character
splitPoint = 0 ' reset
For LC = 1 To Len(workingText)
'assume if "9" then it's alpha
If Mid(workingText, LC, 1) "9" Then
splitPoint = LC - 1
Exit For
End If
Next
End If
If splitPoint = 0 Then
'the remainder of workingText is
'all of one type (alpha or numeric)
' put single quote in front of it
'to retain leading zeros if it is numeric
anySourceEntry.Offset(0, columnOffset) = _
"'" & workingText
workingText = ""
Else
'not done, more to follow
' put single quote in front of it
'to retain leading zeros if it is numeric
anySourceEntry.Offset(0, columnOffset) = _
"'" & Left(workingText, splitPoint)
workingText = Right(workingText, _
Len(workingText) - splitPoint)
End If
'flip the switch
seekingAlphaGroup = Not seekingAlphaGroup
columnOffset = columnOffset + 1
Loop
Next
Set sourceEntries = Nothing
End Sub

To put the code into your workbook: Press [Alt]+[F11] to enter the VB
Editor. Then choose Insert | Module to get an empty module displayed. Copy
the code above and paste it into the module. Close the VB Editor and save
the workbook.

You can change the constants entriesColumn and firstEntryRow to define where
the first text group to be split up is at.

To run the code, select the sheet with your entries and then use Tools Macro
Macros and select the splitIntoGroups entry in the list and click the [Run]
button.

Hope this helps some.


"Dvinechild" wrote:

Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate
columns. sound too easy? Here's the catch:
Examples:

A01 (single aplha, 2-digit num) = A - 01
A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a
AA01 (2-alpha, 2-digit num) = AA - 01
AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a

If anyone knows how to get this to split up correctly, unfortunately I have
to do it for pretty much the entire alphabet and up to about 38-65
numerically. :-)

Please advise or lead me in the rigth direction.

  #8   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 1,180
Default Reverse Concatenate?

Use Word.
No code, no formulas.
One step conversion.
For example and pictures see:
http://www.savefile.com/files/1814622
  #9   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,365
Default Reverse Concatenate?

Very interesting solution. One of these days I really must come out of my
hermit's cavern and educate myself on regular expressions. Especially when
they turn up as part of two solutions to this, or any, problem.

"Herbert Seidenberg" wrote:

Use Word.
No code, no formulas.
One step conversion.
For example and pictures see:
http://www.savefile.com/files/1814622

  #10   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 5,651
Default Reverse Concatenate?

On Tue, 30 Sep 2008 17:55:00 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote:

Very interesting solution. One of these days I really must come out of my
hermit's cavern and educate myself on regular expressions. Especially when
they turn up as part of two solutions to this, or any, problem.




At least in Excel, when using regular expressions, the macro will take longer
to run than would a well-crafted routine using native VBA functions. This may
or may not be important, depending on the actual application.

However, the basics for parsing the original string, at least in my suggested
solution, rests in the simple regular expression pattern: "\d+|\D+"

This only took a few seconds to come up with and code. So a great savings
there when manipulating text.
--ron


  #11   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,365
Default Reverse Concatenate?

Time is usually the price you pay for the convenience of such things; be it a
more compact way to code something or a move to a higher-order language. I
come from a background where processing time was critical (real-time air
traffic control radar systems software) and so I'm always looking to try to
make the code efficient in terms of speed. I'm sure I don't always succeed,
and in this forum I often code for clarity rather than speed. But the speed
of today's processors helps get you beyond the short comings of the languages
or the programmer's skills.

"Ron Rosenfeld" wrote:

On Tue, 30 Sep 2008 17:55:00 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote:

Very interesting solution. One of these days I really must come out of my
hermit's cavern and educate myself on regular expressions. Especially when
they turn up as part of two solutions to this, or any, problem.




At least in Excel, when using regular expressions, the macro will take longer
to run than would a well-crafted routine using native VBA functions. This may
or may not be important, depending on the actual application.

However, the basics for parsing the original string, at least in my suggested
solution, rests in the simple regular expression pattern: "\d+|\D+"

This only took a few seconds to come up with and code. So a great savings
there when manipulating text.
--ron

  #12   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 5,651
Default Reverse Concatenate?

On Wed, 1 Oct 2008 05:00:11 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote:

Time is usually the price you pay for the convenience of such things; be it a
more compact way to code something or a move to a higher-order language. I
come from a background where processing time was critical (real-time air
traffic control radar systems software) and so I'm always looking to try to
make the code efficient in terms of speed. I'm sure I don't always succeed,
and in this forum I often code for clarity rather than speed. But the speed
of today's processors helps get you beyond the short comings of the languages
or the programmer's skills.


You're right about the faster processors.

There was a time when I was coding for real time acquisition of multiple
channels of physiologic data, and this was on a PDP-like machine many years
ago. Assembly language coding was the norm, then, and was required to make
things work.

But today I'm more of the opinion that "perfection is the enemy of good enough"
:-))

--ron
  #13   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,365
Default Reverse Concatenate?

We are both of the same 'generation' of programmers. In the center I worked
at there were many PDP machines around; our system was based on a Data
General Nova Eclipse 3/12 - 16-bit, 32K words of RAM with physical board
mapping to break the 32K addressing limit. We programmed in pure assembly
also, although I started a trend of doing design using integer BASIC to prove
algorithms prior to eating system time testing new code. Wrote both a
pseudo-assembler to run under DOS and a disassembler to assist with
interpreting memory dumps from the system.

In those days I was multi-lingual: I wrote in Honeywell 6000 assembly, Nova
3/12 assembly, Z-80 and 6800/6809 assembly. Now I struggle to keep up with
the changes in VB and VBA.

"Ron Rosenfeld" wrote:

On Wed, 1 Oct 2008 05:00:11 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote:

Time is usually the price you pay for the convenience of such things; be it a
more compact way to code something or a move to a higher-order language. I
come from a background where processing time was critical (real-time air
traffic control radar systems software) and so I'm always looking to try to
make the code efficient in terms of speed. I'm sure I don't always succeed,
and in this forum I often code for clarity rather than speed. But the speed
of today's processors helps get you beyond the short comings of the languages
or the programmer's skills.


You're right about the faster processors.

There was a time when I was coding for real time acquisition of multiple
channels of physiologic data, and this was on a PDP-like machine many years
ago. Assembly language coding was the norm, then, and was required to make
things work.

But today I'm more of the opinion that "perfection is the enemy of good enough"
:-))

--ron

  #14   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 5,651
Default Reverse Concatenate?

On Wed, 1 Oct 2008 15:40:01 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote:

We are both of the same 'generation' of programmers. In the center I worked
at there were many PDP machines around; our system was based on a Data
General Nova Eclipse 3/12 - 16-bit, 32K words of RAM with physical board
mapping to break the 32K addressing limit. We programmed in pure assembly
also, although I started a trend of doing design using integer BASIC to prove
algorithms prior to eating system time testing new code. Wrote both a
pseudo-assembler to run under DOS and a disassembler to assist with
interpreting memory dumps from the system.

In those days I was multi-lingual: I wrote in Honeywell 6000 assembly, Nova
3/12 assembly, Z-80 and 6800/6809 assembly. Now I struggle to keep up with
the changes in VB and VBA.


Things have certainly changed.
--ron
  #15   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,365
Default Reverse Concatenate?

Yeah, they have.

And after due consideration, I think I should change my last sentence in my
previous post - should read
"Now I struggle to keep up with the changes in VB-dot-WhatToday and VBA".

Take care. Enjoy.

"Ron Rosenfeld" wrote:

On Wed, 1 Oct 2008 15:40:01 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote:

We are both of the same 'generation' of programmers. In the center I worked
at there were many PDP machines around; our system was based on a Data
General Nova Eclipse 3/12 - 16-bit, 32K words of RAM with physical board
mapping to break the 32K addressing limit. We programmed in pure assembly
also, although I started a trend of doing design using integer BASIC to prove
algorithms prior to eating system time testing new code. Wrote both a
pseudo-assembler to run under DOS and a disassembler to assist with
interpreting memory dumps from the system.

In those days I was multi-lingual: I wrote in Honeywell 6000 assembly, Nova
3/12 assembly, Z-80 and 6800/6809 assembly. Now I struggle to keep up with
the changes in VB and VBA.


Things have certainly changed.
--ron

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
reverse value rb Excel Worksheet Functions 1 March 28th 07 02:51 AM
Reverse concatenate Amy Excel Discussion (Misc queries) 3 April 5th 06 02:48 PM
Reverse Concatenate Kate Was Here Excel Worksheet Functions 6 February 9th 06 11:11 PM
reverse of concatenate S.G.Pillai Excel Discussion (Misc queries) 4 November 1st 05 12:27 PM
I know how to concatenate ,can one de-concatenate to split date? QUICK BOOKS PROBLEM- New Users to Excel 1 July 26th 05 05:07 PM


All times are GMT +1. The time now is 05:06 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"