comp.lang.ada
 help / color / mirror / Atom feed
From: Jere <jhb.chat@gmail.com>
Subject: Re: Image attribute (yet again)
Date: Sun, 26 Apr 2020 10:33:46 -0700 (PDT)
Date: 2020-04-26T10:33:46-07:00	[thread overview]
Message-ID: <670160da-e66d-446f-a415-27df39d9a73f@googlegroups.com> (raw)
In-Reply-To: <r84f7m$20l$1@dont-email.me>

On Sunday, April 26, 2020 at 1:09:12 PM UTC-4, Jeffrey R. Carter wrote:
> On 4/26/20 4:16 PM, Jere wrote:
> >>
> > This might be a good time to ask since this comes up all the time
> > for me, but where are the formatting options for hexadecimal
> > to String.  All I have found so far is the Put operation
> > in the various "_IO" packages and generics, but it isn't
> > useful at all for formatting hexadecimal values in real world
> > scenarios.  I pretty much reinvent the wheel each time
> > I have some variant of needing this functionality.  One of
> > these days I'll get around to making my own generic
> > version of it, but if the Ada standard provides a means
> > to do it, that would be optimal.  The only option I have
> > found is the Put operation, but it is pretty abysmal to
> > use.  Are there any solutions to this that I am missing
> > from within the Ada standard?
> 
> I can't tell what problem you're talking about. Ada.Text_IO's numeric-I/O pkgs, 
> sometimes combined with String-handling functions and basic 1-D array operations 
> seem to provide everything one could want.
> 
I'm not saying it can't be done.  I'm saying by the time I go through
all the processing needed, I might as well wrote my own function.  It
makes the existing operation mostly useless (unless I just want a 
temporary debug print that I don't care how it looks).  For example,
if I want to print to a 16x2 character LCD screen and I want to print
0 padded 4 digit hex values with no "16#" prefix or "#" ending, then
I need to call Put with an 8 character string, search for the first
occurrence of '#' (it can be in multiple locations), then overwrite
a variable number of those characters with 0's (based on the location
of '#'), and then extract the 4 digits I actually need.  All doable 
(not saying it cannot be done), but at that point, I am better off 
just doing my own custom operation instead instead of even using the
Put operation.  It feels like the Put operation wasn't designed 
with usability in mind.  Just the presence of the "16#" and "#" 
around the value makes using the operation more clunky than it 
should be.  If that had been left out or if the operation at least
allowed for padding the actual numeric value inside the result,
then it would have been much more usable.

I was hoping that there was a better formatting operation for 
non base 10 number formatting that I wasn't aware of as it was
alluded that Text_IO had all the necessary formatting features.
I am still finding new stuff in the Ada standard each day, so 
I was hoping I had just missed something.  J.P. Rosen has a much
better experience and knowledge of the standard than me, so I 
was hoping he could point me to something that was better than
what I currently knew of.  If there isn't, then no biggie, I'll
just keep writing custom functions.

  reply	other threads:[~2020-04-26 17:33 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-20 15:24 Image attribute (yet again) Stephen Davies
2020-04-25 22:35 ` Stephen Davies
2020-04-26  6:05   ` J-P. Rosen
2020-04-26 14:16     ` Jere
2020-04-26 17:09       ` Jeffrey R. Carter
2020-04-26 17:33         ` Jere [this message]
2020-04-27 12:33           ` J-P. Rosen
2020-04-27 12:50             ` Jere
2020-04-27 13:42               ` J-P. Rosen
2020-04-27 14:05                 ` Jere
2020-04-27 14:55                 ` Jeffrey R. Carter
2020-04-28  6:04                   ` J-P. Rosen
2020-04-27 14:10             ` Jere
2020-04-28  6:02               ` J-P. Rosen
2020-04-28 13:03                 ` Jere
2020-04-26 18:40       ` Oliver Kellogg
2020-04-26 18:42         ` Oliver Kellogg
2020-04-26 18:43           ` Oliver Kellogg
2020-04-27 12:52         ` Jere
2020-05-20  1:52       ` Shark8
2020-04-26 18:57     ` Stephen Davies
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox