Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: QC119501 (722 votes) - What is Embas position now after nearly 2 years?



Permlink Replies: 371 - Last Post: Jan 26, 2015 11:37 AM Last Post By: Remy Lebeau (Te...
Ralf Stocker

Posts: 121
Registered: 12/24/04
QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 3:19 AM
Add support for 8-bit COW strings on mobile platforms
http://qc.embarcadero.com/wc/qcmain.aspx?d=119501
Jacques Vignoles

Posts: 15
Registered: 1/3/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 4:18 AM   in response to: Ralf Stocker in response to: Ralf Stocker
Ralf Stocker wrote:
Add support for 8-bit COW strings on mobile platforms
http://qc.embarcadero.com/wc/qcmain.aspx?d=119501

Embarcadero answer can be found here http://fc03.deviantart.net/fs70/f/2010/162/3/4/i_don__t_care_by_ba6ooy.jpg

Edited by: Jacques Vignoles on Dec 20, 2014 4:18 AM
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 9:54 AM   in response to: Jacques Vignoles in response to: Jacques Vignoles
Jacques,

| | Add support for 8-bit COW strings on mobile platforms
| | http://qc.embarcadero.com/wc/qcmain.aspx?d=119501

| Embarcadero answer can be found here
|

http://fc03.deviantart.net/fs70/f/2010/162/3/4/i_don__t_care_by_ba6ooy.jpg

ROFLMAO!

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Bruce McGee

Posts: 1,716
Registered: 9/30/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 4:26 AM   in response to: Ralf Stocker in response to: Ralf Stocker
Ralf Stocker wrote:

Add support for 8-bit COW strings on mobile platforms
http://qc.embarcadero.com/wc/qcmain.aspx?d=119501

Likely won't happen.

--
Regards,
Bruce McGee
Glooscap Software
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 4:55 AM   in response to: Ralf Stocker in response to: Ralf Stocker
Ralf Stocker wrote:
Add support for 8-bit COW strings on mobile platforms
http://qc.embarcadero.com/wc/qcmain.aspx?d=119501

It has been firmly ignored. And you can turn yourself upside down
but you cannot get any yes, no maybe answer from Embarcadero.
Believe me, I have tried...

--
Dalija Prasnikar
Bruce McGee

Posts: 1,716
Registered: 9/30/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 5:04 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

It has been firmly ignored.

A strong enough argument has not been made to convince Embarcadero to
change their minds on this.

In fact, I'm convinced that some of the arguments just got in the way.

If there was a window, I think it has passed.

--
Regards,
Bruce McGee
Glooscap Software
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 5:33 AM   in response to: Bruce McGee in response to: Bruce McGee
Bruce McGee wrote:
Dalija Prasnikar wrote:

It has been firmly ignored.

A strong enough argument has not been made to convince Embarcadero to
change their minds on this.

In fact, I'm convinced that some of the arguments just got in the way.

I strongly disagree on both points. Also, bad arguments should in no way
make valid arguments look less valid. It is not addition/subtraction game.
But I will not go into what are valid arguments discussion again.

If there was a window, I think it has passed.

I think so too.

--
Dalija Prasnikar
Bruce McGee

Posts: 1,716
Registered: 9/30/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 10:34 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

Bruce McGee wrote:
Dalija Prasnikar wrote:

It has been firmly ignored.

A strong enough argument has not been made to convince Embarcadero
to change their minds on this.

In fact, I'm convinced that some of the arguments just got in the
way.

I strongly disagree on both points.

I know.

Also, bad arguments should in no
way make valid arguments look less valid.

They obfuscate more legitimate arguments, as is the case here.

If there was a window, I think it has passed.

I think so too.

Then I hope this doesn't turn into another several thousand post thread.

--
Regards,
Bruce McGee
Glooscap Software
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 11:34 AM   in response to: Bruce McGee in response to: Bruce McGee
Bruce McGee wrote:
Dalija Prasnikar wrote:

Bruce McGee wrote:

If there was a window, I think it has passed.

I think so too.

Then I hope this doesn't turn into another several thousand post thread.

I cannot speak for others, but I am not going to participate in such way...

--
Dalija Prasnikar
Bruce McGee

Posts: 1,716
Registered: 9/30/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 1:05 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

I am not going to participate in such way...

Then my hat is off to you.

--
Regards,
Bruce McGee
Glooscap Software
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 4:41 AM   in response to: Bruce McGee in response to: Bruce McGee
Bruce McGee wrote:

If there was a window, I think it has passed.

Since Apple threw them curved ball with "must have" 64bit iOS
compiler, I don't think that compiler team will be messing around
with 8-bit strings for XE8, no matter how small change they would
have to do.

And if it does not happen with XE8, then XE9 will be good 5 releases
after first "no 8-bit strings" compiler. By that time they may come to
conclusion that we had more than enough time to adapt.

The only flaw in such conclusion (in my opinion) is that they underestimate
time needed for adaptation for some of their customers that would use Delphi
for mobile and they overestimate how strong is need for Delphi for mobile in
some other customers that might choose other tools instead (like I did).

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 9:55 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| It has been firmly ignored. And you can turn yourself upside down
| but you cannot get any yes, no maybe answer from Embarcadero.
| Believe me, I have tried...

I liked Jaques' response. ;-)

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 10:28 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

| It has been firmly ignored. And you can turn yourself upside down
| but you cannot get any yes, no maybe answer from Embarcadero.
| Believe me, I have tried...

I liked Jaques' response. ;-)

And it looks pretty damn accurate too ;-)

--
Dalija Prasnikar
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 1:48 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar <> wrote in news:706378 at forums dot embarcadero dot com:

Ralf Stocker wrote:
Add support for 8-bit COW strings on mobile platforms
http://qc.embarcadero.com/wc/qcmain.aspx?d=119501

It has been firmly ignored. And you can turn yourself upside down
but you cannot get any yes, no maybe answer from Embarcadero.
Believe me, I have tried...

You can't even get a "what is the correct approach" answer.

1. Require 8 bit strings in Windows <-- Fact
2. Require no 8 bit strings in iOS <-- Fact
3. 1+2 -> Require 8 bit/unicode interaction in code <- Conclusion 1

Current answer - upgrade the legacy code. LOL, as if it is my code to
upgrade :)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 28, 2014 1:51 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

You can't even get a "what is the correct approach" answer.

Simple: treat 8-bit strings as binary.

1. Require 8 bit strings in Windows <-- Fact

What do you mean with "require"? If you want to be compatible with
mobile, simply don't use them.

2. Require no 8 bit strings in iOS <-- Fact

Well, yes.

3. 1+2 -> Require 8 bit/unicode interaction in code <- Conclusion 1

Current answer - upgrade the legacy code.

Indeed. If it is not your code, then inform the vendors that they
should.

--
Rudy Velthuis http://www.rvelthuis.de

"I have a spelling checker,
It came with my PC;
It plainly marks four my revue
Mistakes I cannot sea.
I've run this poem threw it,
I'm sure your pleased too no,
Its letter perfect in it's weigh,
My checker tolled me sew."
-- Janet Minor, "Spellbound"
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 28, 2014 4:31 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Christopher Burke wrote:

You can't even get a "what is the correct approach" answer.

Simple: treat 8-bit strings as binary.

Have you ever tried to read what is in array of bytes, it will take you
ages even though it's content is pure ASCII data. With string you can
read it in split second. Debugging binary data is nightmare.

If you think that it handling textual data in binary containers is no big
deal, then I vote that we get rid of all string types. We don't need them
because we can always treat them as binary data.

--
Dalija Prasnikar
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 28, 2014 6:55 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar <> wrote in news:707120 at forums dot embarcadero dot com:

Rudy Velthuis (TeamB) wrote:
Christopher Burke wrote:

You can't even get a "what is the correct approach" answer.

Simple: treat 8-bit strings as binary.

Have you ever tried to read what is in array of bytes, it will take you
ages even though it's content is pure ASCII data. With string you can
read it in split second. Debugging binary data is nightmare.

It is also silly - that string data should be treated as binary just
because some dufus in Embarcadero decided that a fully function system had
to be discontinuted.

But - that decision has been made, all I need now is a supported mechanism
for interfacing strings to ansistrings and back, even that seems beyond the
scope of allowed questions.

Or entire attempt to write a mobile version of our app is dead in the water
as Delphi is incapable of doing it at this stage.

I suppose if I had working documentation, I might be able to find an answer
- but when I have to rely on google for all my Delphi documentation
requirements it does slow down the process a little.

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 6, 2015 2:23 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

It is also silly - that string data should be treated as binary just
because some dufus in Embarcadero decided that a fully function
system had to be discontinuted.

You don't have to treat them as binary. Only if you want to keep them
in binary form, you should do that. There are several ways to read in
ASCII or other encodings into strings. But if you want to process the
text as text, then use strings. <shrug>

And you may not like the decision to have only one type of string, but
it is certainly not one made by "some dufus". It is actually what most
modern languages have, and what most programmers have no problem using.
--
Rudy Velthuis http://www.rvelthuis.de

"'Abstinence-only sex education' is a little like saying
'Just-hold-it potty training'." -- Roy Zimmerman
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 6, 2015 8:21 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| and what most programmers have no problem using.

As long as it's AnsiString. ;-)

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 6, 2015 5:09 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:707980
@forums.embarcadero.com:

Christopher Burke wrote:

It is also silly - that string data should be treated as binary just
because some dufus in Embarcadero decided that a fully function
system had to be discontinuted.

ASCII or other encodings into strings. But if you want to process the
text as text, then use strings. <shrug>

I'm talking about text strings with 'binary' inserts etc.

But at this stage, I've gone behind trying to get Ansi strings back....
just trying to work out the best approach to interface string and
ansistring code 'correctly.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 6, 2015 11:17 PM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

I'm talking about text strings with 'binary' inserts etc.

Then they are binary. Unless you mean control characters that are also
present in Unicode. Then they can easily be converted to
(Unicode)strings. You have been told how.

--
Rudy Velthuis http://www.rvelthuis.de

"Why of course the people don't want war. Why should some poor
slob on a farm want to risk his life in a war when the best he
can get out of it is to come back to his farm in one piece?
Naturally, the common people don't want war; neither in Russia,
nor in England, nor for that matter in Germany. That is
understood. But after all, it is the leaders of the country who
determine the policy, and it is always a simple matter to drag
the people along, whether it is a democracy, or a fascist
dictatorship, or a parliament, or a communist dictatorship...
Voice or no voice, the people can always be brought to the
bidding of the leaders. That is easy. All you have to do is to
tell them they are being attacked, and denounce the pacifists
for lack of patriotism and exposing the country to danger."
-- Nazi Hermann Goering
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 7, 2015 1:06 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708139
@forums.embarcadero.com:

Christopher Burke wrote:

I'm talking about text strings with 'binary' inserts etc.

Then they are binary.

NO - they are TEXT. ASCII TEXT.

Unless you mean control characters that are also
present in Unicode. Then they can easily be converted to
(Unicode)strings. You have been told how.

LOL.... I've been given a PDF document to look through, adding a few
guesses - I'm still pretty much just hacking together a solution with lots
of compiler warnings to boot.

I've been told lots of things - mostly that I need to get other people to
rewrite their code, or to write my own string handling - but no, haven't
been given anything specific I can use in practice.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 7, 2015 1:22 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

I'm talking about text strings with 'binary' inserts etc.

Then they are binary.

NO - they are TEXT. ASCII TEXT.

If they have "binary" inserts, then it is binary. Sheesh.

If it is plain ASCII, then it is very easy to convert that to a string
(and back).

Unless you mean control characters that are also
present in Unicode. Then they can easily be converted to
(Unicode)strings. You have been told how.

LOL.... I've been given a PDF document to look through

Take a look at TEncoding and the Marshalling classes. No need for a
.pdf. It is actually quite simple, especially with TEncoding. There are
methods that convert a buffer (with a certain encoding, e.g. plain
ASCII, or UTF-8, or Ansi 1252, or whatever) to a string, and methods
that do the opposite.

--
Rudy Velthuis http://www.rvelthuis.de

"My current job sucks so hard, black holes are going green with
envy." -- Liz Kimber, in borland...*.delphi.win32
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 7, 2015 7:10 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708157
@forums.embarcadero.com:

Christopher Burke wrote:

I'm talking about text strings with 'binary' inserts etc.

Then they are binary.

NO - they are TEXT. ASCII TEXT.

If they have "binary" inserts, then it is binary. Sheesh.

Ok - ONCE MORE WITH FEELING.

It is ASCII Text.... ASCII Text

ASCII Text

ASCII Text

ASCII Text

ASCII Text

ASCII Text <--- this


Take a look at TEncoding and the Marshalling classes. No need for a
.pdf.

Of course there is a need for a PDF, google didn't give me much in the way
of help - and my Delphi help hasn't worked for over 2 years (error 1180
anyone).

Simple question:

Some of my code REQUIRED ansistrings this is an immutable fact.
Most of my code uses strings.

All I need to know is how to get the ansistrings containing ASCII text into
and out of the normal strings safely and correctly.

That's pretty much it you know.
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 7, 2015 10:23 AM   in response to: Christopher Burke in response to: Christopher Burke
Am 07.01.2015 um 16:10 schrieb Christopher Burke:


Simple question:

Some of my code REQUIRED ansistrings this is an immutable fact.
Most of my code uses strings.

All I need to know is how to get the ansistrings containing ASCII text into
and out of the normal strings safely and correctly.

That's pretty much it you know.

Hello,

what's wrong with TEncoding then?
And for the help: you do not yet seem to know that help is available
online as well in form of a wiki which contains the very same contents
your local help contains.

Just us google and search for Delphi docwiki or use this URL for XE7 help:

http://docwiki.embarcadero.com/RADStudio/XE7/en/Main_Page

I'm leaving the guessing how to access docwiki for older versions to
you... ;-)

Greetings

Markus
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 7, 2015 2:23 PM   in response to: Markus Humm in response to: Markus Humm
Markus Humm <markus dot humm at freenet dot de> wrote in news:708235
@forums.embarcadero.com:

what's wrong with TEncoding then?

So far I haven't worked out how to use it to convert between string types,
it seems to just be a way of determining codepage info (etc) for unicode
strings.

e.g.

procedure RoutineThatCallsOldstuff(Input:string);
var
S:ansistring;
begin
S:=PrepareData(Input); <----- THIS
SendDataToAPI(S);
end;

function FunctionThatCallsOldstuff:string;
var
S:ansistring;
begin
S:=GetDataFromAPI;
Result:= UnPrepareData(S); <----- THIS
end;

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 7, 2015 11:29 PM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Markus Humm <markus dot humm at freenet dot de> wrote in news:708235
@forums.embarcadero.com:

what's wrong with TEncoding then?

So far I haven't worked out how to use it to convert between string
types

From memory:

MyEncoding := TEncoding.Create(CodePage);
S := MyEncoding.GetString(MyBinaryContent);

Just read the help.

--
Rudy Velthuis http://www.rvelthuis.de

"The reasonable man adjusts himself to the world, the
unreasonable one persists in trying to adapt the world to
himself; therefore all progress depends on the unreasonable
man."
-- George Bernard Shaw

Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 12:13 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708340
@forums.embarcadero.com:

Christopher Burke wrote:

Markus Humm <markus dot humm at freenet dot de> wrote in news:708235
@forums.embarcadero.com:

what's wrong with TEncoding then?

So far I haven't worked out how to use it to convert between string
types

From memory:

MyEncoding := TEncoding.Create(CodePage);
S := MyEncoding.GetString(MyBinaryContent);

Just read the help.


Yeah, this isn't binary content. It is ASCII text inside ansi strings.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 12:36 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Yeah, this isn't binary content. It is ASCII text inside ansi strings.

If that "ASCII text" contains binary parts, it is not plain ASCII.

Then you do:

myUnicodeString := UnicodeString(myAnsiString);

But I thought you wanted a solution for when there are NO AnsiStrings
available? Then you read the codepaged data into a TBytes and use an
instance of TEncoding to convert that to a string, more or less like my
example code.

Or you simply use a TStringList with the proper encoding. That will do
all the conversions you need. It can also read and write text (using
ReadFromFile and WriteToFile) using that encoding.

--
Rudy Velthuis http://www.rvelthuis.de

"You ask me if I keep a notebook to record my great ideas. I've
only ever had one." -- Albert Einstein.
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 2:53 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708354
@forums.embarcadero.com:

Christopher Burke wrote:

Yeah, this isn't binary content. It is ASCII text inside ansi strings.

If that "ASCII text" contains binary parts, it is not plain ASCII.

Correct, it has special modifications for the API at hand...


Then you do:

myUnicodeString := UnicodeString(myAnsiString);

This genrates compiler warnings - is that ok>


But I thought you wanted a solution for when there are NO AnsiStrings
available?

I do - but that isn't going to happen. So next step is to isolate all the
non-mobile (ansi string required) parts down to a low level set of calls,
so that the majority of my code can be pure strings.

Or you simply use a TStringList with the proper encoding. That will do
all the conversions you need. It can also read and write text (using
ReadFromFile and WriteToFile) using that encoding.

Stringlist doesn't help as it isn't ansistring.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 3:09 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708354
@forums.embarcadero.com:

Christopher Burke wrote:

Yeah, this isn't binary content. It is ASCII text inside ansi
strings.

If that "ASCII text" contains binary parts, it is not plain ASCII.

Correct, it has special modifications for the API at hand...


Then you do:

myUnicodeString := UnicodeString(myAnsiString);

This genrates compiler warnings - is that ok>

Not if you cast.

I do - but that isn't going to happen. So next step is to isolate all
the non-mobile (ansi string required) parts down to a low level set
of calls, so that the majority of my code can be pure strings.

Good.

Or you simply use a TStringList with the proper encoding. That will
do all the conversions you need. It can also read and write text
(using ReadFromFile and WriteToFile) using that encoding.

Stringlist doesn't help as it isn't ansistring.

I still don't understand what kind of (serious) vendor would sell an
API that requires AnsiString.

--
Rudy Velthuis http://www.rvelthuis.de

"Believe those who are seeking the truth; doubt those who find
it."
-- Andre Gide
Tom Brunberg

Posts: 329
Registered: 12/27/04
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 3:34 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:

Christopher Burke wrote:

Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708354
@forums.embarcadero.com:

Christopher Burke wrote:

Yeah, this isn't binary content. It is ASCII text inside ansi
strings.

If that "ASCII text" contains binary parts, it is not plain ASCII.

Correct, it has special modifications for the API at hand...


Then you do:

myUnicodeString := UnicodeString(myAnsiString);

This genrates compiler warnings - is that ok>

Not if you cast.

I do - but that isn't going to happen. So next step is to isolate all
the non-mobile (ansi string required) parts down to a low level set
of calls, so that the majority of my code can be pure strings.

Good.

Or you simply use a TStringList with the proper encoding. That will
do all the conversions you need. It can also read and write text
(using ReadFromFile and WriteToFile) using that encoding.

Stringlist doesn't help as it isn't ansistring.

I still don't understand what kind of (serious) vendor would sell an
API that requires AnsiString.

The vendor Christopher is talking about, specifies the communication to be ascii, Christopher is
just interpreting that erroneously, that he would "have to" use ansistring.
All solutions provided for him work good, he is just stubborn, that's all.

--
Tom Brunberg
firstname.lastname@welho.com
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 3:47 AM   in response to: Tom Brunberg in response to: Tom Brunberg
Tom Brunberg wrote:
Rudy Velthuis (TeamB) wrote:


I still don't understand what kind of (serious) vendor would sell an
API that requires AnsiString.

The vendor Christopher is talking about, specifies the communication to be ascii, Christopher is
just interpreting that erroneously, that he would "have to" use ansistring.
All solutions provided for him work good, he is just stubborn, that's all.

Whether or not it is vendor's fault or Christopher's is besides the point. Fact is that
removing 8-bit strings has been very questionable decision that is making move
towards mobile very hard for some people.

As far as Christopher is concerned, we can try to help but without having access to
his code and libraries he is using it is not easy thing to do.

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 10:21 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| Fact is that removing 8-bit strings has been [a] very questionable
| decision that is making mov[ing] towards mobile very hard for some
people.

For some of us - impossible!

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 12:41 PM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

| Fact is that removing 8-bit strings has been [a] very questionable
| decision that is making mov[ing] towards mobile very hard for some
people.

For some of us - impossible!

I think I have said that many times before, but I will say it once again.

Since 8-bit strings do not stand in a way of any language improvements
and can be implemented on mobile with very little effort (actually, I think
that EMB developers have already spent more time removing them than
they would have spent doing full implementation support), just the fact
that lack of 8-bit string poses a problem for number of people that should
be reason enough for bringing them back.

Even, if we do not have proper use cases, and our code is the most horrible
code in the world, and we completely suck as programmers, it should be in
vendor's best interest to provide us with tools that we are accustomed using
or misusing.

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 1:40 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| Even, if we do not have proper use cases, and our code is the most
| horrible code in the world, and we completely suck as programmers, it
| should be in vendor's best interest to provide us with tools that we
| are accustomed using or misusing.

I completely agree!

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 9, 2015 12:04 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

I think I have said that many times before, but I will say it once
again.

Since 8-bit strings do not stand in a way of any language
improvements and can be implemented on mobile with very little effort
(actually, I think that EMB developers have already spent more time
removing them than they would have spent doing full implementation
support), just the fact that lack of 8-bit string poses a problem for
number of people that should be reason enough for bringing them back.

They have given their reasons why they are not in the new mobile
compilers. I am pretty sure they stand behind these reasons (and
personally, I agree) and will not falter just because some users don't
want to update their code. And I don't agree it is impossible to do
without 8 bit strings. It is just some work to make code
char-size-agnostic.

A plethora of legacy string types DOES stand in the way of innovation,
BTW.

--
Rudy Velthuis http://www.rvelthuis.de

"All religions are founded on the fear of the many and the
cleverness of the few."
-- Stendhal
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 9, 2015 10:43 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| A plethora of legacy string types DOES stand in the way of innovation,
| BTW.

No, it ENHANCES innovation.

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 6:15 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

Rudy,

A plethora of legacy string types DOES stand in the way of
innovation, BTW.

No, it ENHANCES innovation.

No, it doesn't. I know you see this differently, but what counts is how
Embarcadero sees it. <g>

--
Rudy Velthuis http://www.rvelthuis.de

"Ö The biggest detractors of communism and socialism always
seem to want to embrace the worst excesses of both."
-- <Skullhunter>
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 10:16 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 12.01.2015 um 15:15 schrieb Rudy Velthuis (TeamB):
Quentin Correll wrote:

Rudy,

A plethora of legacy string types DOES stand in the way of
innovation, BTW.

No, it ENHANCES innovation.

No, it doesn't. I know you see this differently, but what counts is how
Embarcadero sees it. <g>

Depends. If you sell something it counts what your customers want. If
your products doesn't offer those features people will most likely not
buy it (if there are substitute products available offering at least
most of the wanted features). You'll end bankrupt one fine day with that
strategy.

Or do you pull the theeth of your customers without their consent? ;-)

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 11:14 PM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

A plethora of legacy string types DOES stand in the way of
innovation, BTW.

No, it ENHANCES innovation.

No, it doesn't. I know you see this differently, but what counts is
how Embarcadero sees it. <g>

Depends.

It all depends on them, indeed. It is their language.
--
Rudy Velthuis http://www.rvelthuis.de

"They show you how detergents take out bloodstains. I think if
you've got a T-shirt with bloodstains all over it, maybe your
laundry isn't your biggest problem." -- George Carlin
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 11:22 PM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Am 12.01.2015 um 15:15 schrieb Rudy Velthuis (TeamB):
Quentin Correll wrote:

Rudy,

A plethora of legacy string types DOES stand in the way of
innovation, BTW.

No, it ENHANCES innovation.

No, it doesn't. I know you see this differently, but what counts is
how Embarcadero sees it. <g>

Depends. If you sell something it counts what your customers want.

And I bet that was one of their motives to try to unify the string type
into one. The fact that some don't want to do without their legacy
types and voice it very loudly doesn't mean that they are "the
customers". They are customers (probably). But so are many others who
may think otherwise.

So your strawman is that they are not listening to their customers. You
don't know that.

Fact is that many many people using many different languages manage to
do all the things these people say are impossible without AnsiString
(they never ask for anything else, BTW). So there is no need for
AnsiString.

The presence of the many string types is confusing for many, even for
existing users. Just take a look at the many errors people are making.
--
Rudy Velthuis http://www.rvelthuis.de

Sausage Principle: People who love sausage and respect the law
should never watch either one being made.
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 13, 2015 10:25 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| The fact that some don't want to do without their legacy
| types and voice it very loudly doesn't mean that they are "the
| customers". They are customers (probably).

DAMN straight we're their customers!!!

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2015 11:07 PM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

Rudy,

The fact that some don't want to do without their legacy
types and voice it very loudly doesn't mean that they are "the
customers". They are customers (probably).

DAMN straight we're their customers!!!

You are, sure. But is everyone complaining? And what about the other
customers?
--
Rudy Velthuis http://www.rvelthuis.de

"If a patient cannot clean his teeth, no dentist can clean them
for him." -- Martin H. Fischer
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 12:25 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Quentin Correll wrote:

Rudy,

The fact that some don't want to do without their legacy
types and voice it very loudly doesn't mean that they are "the
customers". They are customers (probably).

DAMN straight we're their customers!!!

You are, sure. But is everyone complaining? And what about the other
customers?

Other customers would not be in any way affected if mobile platforms
would support 8-bit strings. They just don't have to use it if they don't want to.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 12:33 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile platforms
would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too? You'd
have the same mess they are trying to get rid off.

They want to get rid of the plethora of different legacy string types.
That is exactly why they did not publicly port them to mobile. Sure,
due to decisions made in the past, some internal functionality still
relies on some of these types, but I bet they are trying to get rid of
that.
--
Rudy Velthuis http://www.rvelthuis.de

"If Al Gore invented the Internet, I invented spell check."
-- Dan Quayle
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 12:42 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile platforms
would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too? You'd
have the same mess they are trying to get rid off.

You are just being dense. WideStrings are Windows specific, PAnsiChar exists
but is renamed to MarshaledAString (or something). Having ShortStrings would be
nice, for compatibility, but if 8-bit COW strings would be there ShortStrings
functionality could be replaced with more ease.


They want to get rid of the plethora of different legacy string types.
That is exactly why they did not publicly port them to mobile. Sure,
due to decisions made in the past, some internal functionality still
relies on some of these types, but I bet they are trying to get rid of
that.

UTF8String is not legacy. It is needed on other platforms because Unicode is in
no way legacy.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 1:07 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile
platforms would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too?
You'd have the same mess they are trying to get rid off.

You are just being dense.

On the contrary, I am very clear about this. It is a slippery slope
issue. If they add AnsiStrings, then the next request will be for
ShortStrings, or WideStrings, or whatever, and before you know it, they
have the same legacy mess again.

They wanted to get rid of that mess, and they did. I fully understand
their motivation and I fully agree. I would get rid of a few other
things as well, e.g. "absolute", "with" (at least as it is now), etc.
and I'm sure we would have similar arguments about people "requiring"
them and that having them would "only enhance" etc.etc.

And all this nonsense about re-implementing the functionality is pure
humbug. If you want to process strings, then process them using the
existing string type. If you don't want to process text, but binary
blobs, then do it properly, by separating the different types into
matching variables. If part of those are text, then use strings.

Keeping the mess alive would only propagate the many existing bad
practices, e.g. using 8-bit strings as some kind of TBytes-ersatz. And
those who claim they need functionality like Pos() etc. on byte arrays
as well have never properly parsed such binary blobs and should start
doing that now.

IMO.

--
Rudy Velthuis http://www.rvelthuis.de

"Good people do not need laws to tell them to act responsibly,
while bad people will find a way around the laws."
-- Plato (427-347 B.C.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 1:17 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile
platforms would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too?
You'd have the same mess they are trying to get rid off.

You are just being dense.

On the contrary, I am very clear about this. It is a slippery slope
issue. If they add AnsiStrings, then the next request will be for
ShortStrings, or WideStrings, or whatever, and before you know it, they
have the same legacy mess again.

I never said I want AnsiStrings, I requested 8-bit COW strings and they
include way more than AnsiStrings. If nothing else than UTF8String and
RawByteString would cover most of the needs for 8-bit string processing
on mobile platforms. I don't think that anyone would really need ANSI encoding
on mobile.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 1:24 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

On the contrary, I am very clear about this. It is a slippery slope
issue. If they add AnsiStrings, then the next request will be for
ShortStrings, or WideStrings, or whatever, and before you know it,
they have the same legacy mess again.

I never said I want AnsiStrings

You want what finally amounts to AnsiStrings, no matter how you call
them. <g>

--
Rudy Velthuis http://www.rvelthuis.de

"It is curious that physical courage should be so common in the
world and moral courage so rare."
-- Mark Twain
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 12:26 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| You want what finally amounts to AnsiStrings, no matter how you call
| them. <g>

<chuckling OL>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 11:13 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija wrote:

I never said I want AnsiStrings, I requested 8-bit COW strings and
they include way more than AnsiStrings. If nothing else than
UTF8String and RawByteString would cover most of the needs for
8-bit string processing on mobile platforms.

UTF8String would be useful, but if they bring back RawByteString than they
are effectively bringing back AnsiString as well (which is essentially RawByteString
using codepage 0), as well as the entire AnsiString RTL support.

I don't think that anyone would really need ANSI encoding on mobile.

Which is an argument against bringing RawByteString back.

--
Remy Lebeau (TeamB)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 12:28 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
Dalija wrote:

I never said I want AnsiStrings, I requested 8-bit COW strings and
they include way more than AnsiStrings. If nothing else than
UTF8String and RawByteString would cover most of the needs for
8-bit string processing on mobile platforms.

UTF8String would be useful, but if they bring back RawByteString than they
are effectively bringing back AnsiString as well (which is essentially RawByteString
using codepage 0), as well as the entire AnsiString RTL support.

I don't think that anyone would really need ANSI encoding on mobile.

Which is an argument against bringing RawByteString back.

RawByteString is useful for using it as parameter type in string functions that are
code page agnostic. If we would have UTF8String on the mobile, without RawByteString
string processing functions that can work on both AnsiString and UTF8String on
desktop compiler would have to have different signatures to be able to work
on both mobile and desktop compilers.

What mobile platform does need are ANSI string and RTL support that caters for code page
changes and conversions and AnsiString RTL functions that are Windows specific.

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 12:26 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| I never said I want AnsiStrings, ...

I did. ;-)

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 12:30 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

| I never said I want AnsiStrings, ...

I did. ;-)

But do you really need ANSI or would UTF8String or RawByteString do?
In plenty of cases people are using AnsiStrings when they actually need
RawByteString.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 12:40 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

Quentin Correll wrote:
Dalija,

I never said I want AnsiStrings, ...

I did. ;-)

But do you really need ANSI or would UTF8String or RawByteString do?
In plenty of cases people are using AnsiStrings when they actually
need RawByteString.

I assume you mean AnsiString as it was before Delphi 2009?

--
Rudy Velthuis http://www.rvelthuis.de

"There's no trick to being a humorist when you have the whole
government working for you." -- Will Rogers (1879-1935)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 2:05 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

Quentin Correll wrote:
Dalija,

I never said I want AnsiStrings, ...

I did. ;-)

But do you really need ANSI or would UTF8String or RawByteString do?
In plenty of cases people are using AnsiStrings when they actually
need RawByteString.

I assume you mean AnsiString as it was before Delphi 2009?

Yes. There are times when you really need AnsiString because you really
store ANSI encoded string in it, but when you don't care about encodings
and you just need to do something with string that does not care about
encoding and you want to preserve whatever encoding your string has
then RawByteString is a way to go.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 2:51 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

I assume you mean AnsiString as it was before Delphi 2009?

Yes. There are times when you really need AnsiString

You mean "when you really want AnsiString". You don't need it. In
AnsiStrings before D2009, you could store anything. It didn't matter
whether it was ANSI, EBCDIC, UTF-8, UTF-7 or even no text at all.

You can store such data in any byte array. No need for AnsiString.

--
Rudy Velthuis http://www.rvelthuis.de

"Generosity is not giving me that which I need more than you
do, but it is giving me that which you need more than I do."
-- Kahlil Gibran
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 4:23 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

I assume you mean AnsiString as it was before Delphi 2009?

Yes. There are times when you really need AnsiString

You mean "when you really want AnsiString". You don't need it. In
AnsiStrings before D2009, you could store anything. It didn't matter
whether it was ANSI, EBCDIC, UTF-8, UTF-7 or even no text at all.

You can store such data in any byte array. No need for AnsiString.

Yes you need 8-bit string if it is textual data, but at some point for some
processing it does not matter what encoding you have. For instance
if at some point you have number in string, you can convert it to float
using string processing functions and you don't care what string encoding
you have because numbers do not care. This is simple example so please
do not try to tell me that I can freely convert such string to unicode before
I get the float out of it.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 5:46 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:
You mean "when you really want AnsiString". You don't need it. In
AnsiStrings before D2009, you could store anything. It didn't matter
whether it was ANSI, EBCDIC, UTF-8, UTF-7 or even no text at all.

You can store such data in any byte array. No need for AnsiString.

Yes you need 8-bit string if it is textual data,

You need something that can store bytes. Well, lots of things can. If
you must manipulate and the data is text in an 8-bit encoding, it
should be easy to convert that to the vehicle that is meant to
manipulate text: string (aka UnicodeString).

--
Rudy Velthuis http://www.rvelthuis.de

"Few things are harder to put up with than a good example."
- Mark Twain (1835-1910)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 5:51 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:
You mean "when you really want AnsiString". You don't need it. In
AnsiStrings before D2009, you could store anything. It didn't matter
whether it was ANSI, EBCDIC, UTF-8, UTF-7 or even no text at all.

You can store such data in any byte array. No need for AnsiString.

Yes you need 8-bit string if it is textual data,

You need something that can store bytes. Well, lots of things can. If
you must manipulate and the data is text in an 8-bit encoding, it
should be easy to convert that to the vehicle that is meant to
manipulate text: string (aka UnicodeString).

I told you do not say that I can convert to unicode string, that is pure
waste of memory and time (unnecessary conversion cost time).

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 9:22 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| I told you do not say that I can convert to unicode string, that is
| pure waste of memory and time (unnecessary conversion cost time).

Damn straight!

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 2:48 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

Dalija,

I told you do not say that I can convert to unicode string, that is
pure waste of memory and time (unnecessary conversion cost time).

Damn straight!

Unnecessary complaints about a lack of a certain feautre cost a lot of
time too. And they do not get you anywhere.

--
Rudy Velthuis http://www.rvelthuis.de

"Yes, my friends, I too am prepared to die for a cause, but
there is no cause for which I am prepared to kill."
--Mohandas Gandhi
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 10:10 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| Unnecessary complaints about a lack of a certain feautre cost a lot of
| time too. And they do not get you anywhere.

Unfortunaltey true. But they do make us feel that we're trying to
help! ;-P

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 2:46 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

I told you do not say that I can convert to unicode string, that is
pure waste of memory and time (unnecessary conversion cost time).

It is what people in other languages would do. It is, therefore, what
most programmers worldwide would do. So I don't think it is such a bad
suggestion.

And if you want to manipulate text when AnsiString is not available, it
is not unnecessary either.

--
Rudy Velthuis http://www.rvelthuis.de

"Never forget that everything Hitler did in Germany was legal."
-- Martin Luther King, Jr.
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 3:21 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

I told you do not say that I can convert to unicode string, that is
pure waste of memory and time (unnecessary conversion cost time).

It is what people in other languages would do. It is, therefore, what
most programmers worldwide would do. So I don't think it is such a bad
suggestion.

It is bad. Java strings are also UTF16, and you have to bend over backwards
doing all kinds of crappy things when you have slightly larger textual data to work
with in order to avoid out of memory errors on Android instead of just plain focusing
on what you have to do.

Working around platform or language deficiencies takes precious developer time
they could spend doing some real work.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 3:30 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

It is what people in other languages would do. It is, therefore,
what most programmers worldwide would do. So I don't think it is
such a bad suggestion.

It is bad. Java strings are also UTF16

Java is probably a bad example. And Objective-C even more. String
handling in the latter is the worse I can imagine.

Almost all strings in all languages are UTF-16, and most of them ONLY
HAVE ONE STRING TYPE. Some of these languages (and I don't mean Java or
C#) are chosen by very many programmers just because of their string
handling functionality. And yet these languages have only one string
type, and it is most of the time UTF-16.

These people not only manage to get by with that one string type, they
seem to excel in handling strings and all kinds of other data.

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

--
Rudy Velthuis http://www.rvelthuis.de

"Basically, I no longer work for anything but the sensation I
have while working."
-- Albert Giacometti (sculptor)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 5:25 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:

Java is probably a bad example. And Objective-C even more. String
handling in the latter is the worse I can imagine.

Er... worst, not worse.

--
Rudy Velthuis http://www.rvelthuis.de

"Why tell me that a man is a fine speaker, if it is not the
truth that he is speaking?"
-- Thomas Carlyle
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 11:07 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 20.01.2015 um 12:30 schrieb Rudy Velthuis (TeamB):
Dalija Prasnikar wrote:

It is what people in other languages would do. It is, therefore,
what most programmers worldwide would do. So I don't think it is
such a bad suggestion.

It is bad. Java strings are also UTF16

Java is probably a bad example. And Objective-C even more. String
handling in the latter is the worse I can imagine.

Almost all strings in all languages are UTF-16, and most of them ONLY
HAVE ONE STRING TYPE. Some of these languages (and I don't mean Java or
C#) are chosen by very many programmers just because of their string
handling functionality. And yet these languages have only one string
type, and it is most of the time UTF-16.

These people not only manage to get by with that one string type, they
seem to excel in handling strings and all kinds of other data.

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

Hello,

not all of them might develop for mobile and thus memory constrained
platforms and not all might process as many strings as Dalija does.
And some might just not be properly aware that UTF8 might be the better
choice for their tasks.

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 6:06 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

These people not only manage to get by with that one string type,
they seem to excel in handling strings and all kinds of other data.

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

Hello,

not all of them might develop for mobile

Then look at the languages used for mobile. Objective-C and Java are
the topmost ones. <g>

--
Rudy Velthuis http://www.rvelthuis.de

"Never mistake motion for action."
-- Ernest Hemingway (1899-1961)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 12:04 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dalija Prasnikar wrote:

It is what people in other languages would do. It is, therefore,
what most programmers worldwide would do. So I don't think it is
such a bad suggestion.

It is bad. Java strings are also UTF16

Java is probably a bad example. And Objective-C even more. String
handling in the latter is the worse I can imagine.

I know. You have to go to hell and back just to concatenate two strings.

Almost all strings in all languages are UTF-16, and most of them ONLY
HAVE ONE STRING TYPE. Some of these languages (and I don't mean Java or
C#) are chosen by very many programmers just because of their string
handling functionality. And yet these languages have only one string
type, and it is most of the time UTF-16.

These people not only manage to get by with that one string type, they
seem to excel in handling strings and all kinds of other data.

Like I said. You think they get by. You don't know what kind of troubles
they have if you haven't used any of those languages for real work in
constrained environment.

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

It is not. We have really nice string toolset and it is advantage Delphi had
over some other languages. Instead of cashing in on those advantages
Embarcadero has chosen "if others don't have it we don't need it too" approach.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 6:09 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

These people not only manage to get by with that one string type,
they seem to excel in handling strings and all kinds of other data.

Like I said. You think they get by.

The main languages used for mobile are... Java and Objective-C (and
perhaps Swift).

And I know they get by. Look at the things they can do with strings!

--
Rudy Velthuis http://www.rvelthuis.de

"Civil disobedience, thatís not our problem. Our problem is
that people are obedient all over the world in the face of
poverty and starvation and stupidity, and war, and cruelty. Our
problem is that people are obedient while the jails are full of
petty thieves, and all the while the grand thieves are running
the country. That's our problem."
-- Howard Zinn
Brandon Staggs

Posts: 683
Registered: 3/3/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 5:20 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
"Rudy Velthuis" wrote on Tue, 20 Jan 2015 03:30:22 -0800:

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

So, remove luxuries from Delphi? Regardless, the requirement to
re-write existing, tested, and working code just because somebody
doesn't think there should be a "luxury" of string types is what some
people have a hard time accepting.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 6:09 AM   in response to: Brandon Staggs in response to: Brandon Staggs
Brandon Staggs wrote:

"Rudy Velthuis" wrote on Tue, 20 Jan 2015 03:30:22 -0800:

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

So, remove luxuries from Delphi?

That is not what I said. I said the complaints are a luxury problem.

--
Rudy Velthuis http://www.rvelthuis.de

"Statistically one hundred percent of the shots you don't take
don't go in."
-- Wayne Gretsky
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 10:07 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 22.01.2015 um 15:09 schrieb Rudy Velthuis (TeamB):
Brandon Staggs wrote:

"Rudy Velthuis" wrote on Tue, 20 Jan 2015 03:30:22 -0800:

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

So, remove luxuries from Delphi?

That is not what I said. I said the complaints are a luxury problem.

So the need to rewrite things and retest them is a luxury problem?

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 23, 2015 2:10 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

ISTM that the complaints about a lack of AnsiString are a luxury
problem.

So, remove luxuries from Delphi?

That is not what I said. I said the complaints are a luxury problem.

So the need to rewrite things and retest them is a luxury problem?

If you move to a new version, you must retest anyway. But if you stay
on desktop, there is no need to rewrite anything.

But if you move to a totally different platform, you must probably
rewrite a lot and most definitely re-test everything.

But even without AnsiString, if you separated binary and text properly
anyway, the need to rewrite those parts should be pretty low. Compared
to all the other stuff you'll have to consider, strings should be one
of your minor problems, if any at all.

So yes, the complaints are a luxury problem.

--
Rudy Velthuis http://www.rvelthuis.de

"I'd give my right arm to be ambidextrous." -- Brian Kernighan
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 10:13 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| So I don't think it is such a bad suggestion.

In some cases, such as ours, it is an ignorant, TOTALLY and TERRIBLELY
BAD, suggestion!!!

<SHEESE>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 9:11 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| But do you really need ANSI or would UTF8String or RawByteString do?
| In plenty of cases people are using AnsiStrings when they actually
| need RawByteString.

It's not about what might work!!!!!!!

I'm not about to WASTE my time even looking! All of my "old code" apps
use AnsiStrings and I do NOT have either the time nor inclination to
mess with that code!!! It was enough work when I had to Ansify the
code when Unicode strings became the "standard" string. I'm not about
to go though such again because of AnsiStrings not being available.
And I've written a LOT more AnsiString based code since Unicode came on
the Delphi scene!!! I refuse to screw with it. <sigh>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 1:11 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

| But do you really need ANSI or would UTF8String or RawByteString do?
| In plenty of cases people are using AnsiStrings when they actually
| need RawByteString.

It's not about what might work!!!!!!!

I'm not about to WASTE my time even looking! All of my "old code" apps
use AnsiStrings and I do NOT have either the time nor inclination to
mess with that code!!! It was enough work when I had to Ansify the
code when Unicode strings became the "standard" string. I'm not about
to go though such again because of AnsiStrings not being available.
And I've written a LOT more AnsiString based code since Unicode came on
the Delphi scene!!! I refuse to screw with it. <sigh>

Q, you are not making our case easier.

One of the first objections you will have when you mention AnsiStrings on mobile
is that ANSI is Windows thing.

When people continue to insist on absolutely everything, it might very well happen
that we get nothing.

What I am trying to say is that your code probably does not need AnsiString and
you could replace all AnsiString in your code with RawByteString and all would
still work. That is far smaller change than reimplementing all 8-bit string support
on mobile.

And if we ever do get 8-bit strings on mobile only in form of RawByteString and
UTF8String I will make all string adjustments in your code ;-)

--
Dalija Prasnikar
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 10:01 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:
Quentin Correll wrote:
Dalija,

| But do you really need ANSI or would UTF8String or RawByteString do?
| In plenty of cases people are using AnsiStrings when they actually
| need RawByteString.

It's not about what might work!!!!!!!

I'm not about to WASTE my time even looking! All of my "old code" apps
use AnsiStrings and I do NOT have either the time nor inclination to
mess with that code!!! It was enough work when I had to Ansify the
code when Unicode strings became the "standard" string. I'm not about
to go though such again because of AnsiStrings not being available.
And I've written a LOT more AnsiString based code since Unicode came on
the Delphi scene!!! I refuse to screw with it. <sigh>

Q, you are not making our case easier.

One of the first objections you will have when you mention AnsiStrings on mobile
is that ANSI is Windows thing.

When people continue to insist on absolutely everything, it might very well happen
that we get nothing.

What I am trying to say is that your code probably does not need AnsiString and
you could replace all AnsiString in your code with RawByteString and all would
still work. That is far smaller change than reimplementing all 8-bit string support
on mobile.

And if we ever do get 8-bit strings on mobile only in form of RawByteString and
UTF8String I will make all string adjustments in your code ;-)

I agree it sounds easy. It's not, unless the behavior of the new target string is exactly (as in exactly) the same as what you're replacing. You are faced with debugging/testing all the code, some of which was written by someone else. Most times performing business or technical functions you may or may not remember the basis of.

Rewriting a large code base is nontrivial, add to that task the need to continue development. Fact is, it's incredibly difficult. Worse that that, it's scary because you don't know when one of those "minor" conversion helpers will corrupt data (yes, I ran into that as well). Sleeping well at night doesn't come easy.

Q is correct in his assessment, and his reaction.

If you could make those string adjustments easily, then all you'd really have to do is assign "ansistring" to "RawByteString", no? If you could do that, so could Embarcadero. Arrays and elements of arrays of the new critters would just work in procedures, as parameters, properties... all around. The reason they haven''t offered that solution is that it won't work without having what we know of today as ansistring. You don't even know what behavior of ansistring is being used deep in the code. The real solution is for them to retain this base functionality that has become a part of the language.

All that, and now you've lost confidence in the language. Note Q's reaction to the fact that he's made "that kind of change" already... and now a few releases later "here we go again".

The question his mind is asking is "can I trust this thing"??? You hear that question screaming out of his response. That's the thing I don't think Emb "gets". They haven't listened to me, maybe they will listen to Q.

Dan
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 10:07 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:
Dalija Prasnikar wrote:
Quentin Correll wrote:
Dalija,

| But do you really need ANSI or would UTF8String or RawByteString do?
| In plenty of cases people are using AnsiStrings when they actually
| need RawByteString.

It's not about what might work!!!!!!!

I'm not about to WASTE my time even looking! All of my "old code" apps
use AnsiStrings and I do NOT have either the time nor inclination to
mess with that code!!! It was enough work when I had to Ansify the
code when Unicode strings became the "standard" string. I'm not about
to go though such again because of AnsiStrings not being available.
And I've written a LOT more AnsiString based code since Unicode came on
the Delphi scene!!! I refuse to screw with it. <sigh>

Q, you are not making our case easier.

One of the first objections you will have when you mention AnsiStrings on mobile
is that ANSI is Windows thing.

When people continue to insist on absolutely everything, it might very well happen
that we get nothing.

What I am trying to say is that your code probably does not need AnsiString and
you could replace all AnsiString in your code with RawByteString and all would
still work. That is far smaller change than reimplementing all 8-bit string support
on mobile.

And if we ever do get 8-bit strings on mobile only in form of RawByteString and
UTF8String I will make all string adjustments in your code ;-)

I agree it sounds easy. It's not, unless the behavior of the new target string is exactly (as in exactly) the same as what you're replacing. You are faced with debugging/testing all the code, some of which was written by someone else. Most times performing business or technical functions you may or may not remember the basis of.

Rewriting a large code base is nontrivial, add to that task the need to continue development. Fact is, it's incredibly difficult. Worse that that, it's scary because you don't know when one of those "minor" conversion helpers will corrupt data (yes, I ran into that as well). Sleeping well at night doesn't come easy.

Q is correct in his assessment, and his reaction.

If you could make those string adjustments easily, then all you'd really have to do is assign "ansistring" to "RawByteString", no? If you could do that, so could Embarcadero. Arrays and elements of arrays of the new critters would just work in procedures, as parameters, properties... all around. The reason they haven''t offered that solution is that it won't work without having what we know of today as ansistring. You don't even know what behavior of ansistring is being used deep in the code. The real solution is for them to retain this base functionality that has become a part of the language.

All that, and now you've lost confidence in the language. Note Q's reaction to the fact that he's made "that kind of change" already... and now a few releases later "here we go again".

The question his mind is asking is "can I trust this thing" (Delphi itself)??? What will they do next??? I hear that question screaming out of his response. That's the thing I don't think Emb "gets". They haven't listened to me, maybe they will listen to Q.

Dan
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 10:19 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:
Dalija Prasnikar wrote:
Quentin Correll wrote:
Dalija,

| But do you really need ANSI or would UTF8String or RawByteString do?
| In plenty of cases people are using AnsiStrings when they actually
| need RawByteString.

It's not about what might work!!!!!!!

I'm not about to WASTE my time even looking! All of my "old code" apps
use AnsiStrings and I do NOT have either the time nor inclination to
mess with that code!!! It was enough work when I had to Ansify the
code when Unicode strings became the "standard" string. I'm not about
to go though such again because of AnsiStrings not being available.
And I've written a LOT more AnsiString based code since Unicode came on
the Delphi scene!!! I refuse to screw with it. <sigh>

Q, you are not making our case easier.

One of the first objections you will have when you mention AnsiStrings on mobile
is that ANSI is Windows thing.

When people continue to insist on absolutely everything, it might very well happen
that we get nothing.

What I am trying to say is that your code probably does not need AnsiString and
you could replace all AnsiString in your code with RawByteString and all would
still work. That is far smaller change than reimplementing all 8-bit string support
on mobile.

And if we ever do get 8-bit strings on mobile only in form of RawByteString and
UTF8String I will make all string adjustments in your code ;-)

I agree it sounds easy. It's not, unless the behavior of the new target string is exactly (as in exactly) the same as what you're replacing. You are faced with debugging/testing all the code, some of which was written by someone else. Most times performing business or technical functions you may or may not remember the basis of.

Rewriting a large code base is nontrivial, add to that task the need to continue development. Fact is, it's incredibly difficult. Worse that that, it's scary because you don't know when one of those "minor" conversion helpers will corrupt data (yes, I ran into that as well). Sleeping well at night doesn't come easy.

Q is correct in his assessment, and his reaction.

If you could make those string adjustments easily, then all you'd really have to do is assign "ansistring" to "RawByteString", no? If you could do that, so could Embarcadero. Arrays and elements of arrays of the new critters would just work in procedures, as parameters, properties... all around. The reason they haven''t offered that solution is that it won't work without having what we know of today as ansistring. You don't even know what behavior of ansistring is being used deep in the code. The real solution is for them to retain this base functionality that has become a part of the language.

All that, and now you've lost confidence in the language. Note Q's reaction to the fact that he's made "that kind of change" already... and now a few releases later "here we go again".

The question his mind is asking is "can I trust this thing"??? You hear that question screaming out of his response. That's the thing I don't think Emb "gets". They haven't listened to me, maybe they will listen to Q.

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

--
Dalija Prasnikar
David Erbas-White

Posts: 202
Registered: 10/11/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 10:58 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
On 1/17/2015 10:19 AM, Dalija Prasnikar wrote:

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

They shouldn't have been changed in the first place.

The very fact that it is an ISSUE is what has caused lost of trust in
EMBT moving forward. Add that to all the previous 'losses of trust' in
Delphi, and one has to wonder what it really takes for developers to
feel they're not being heard...

David Erbas-White
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 11:36 AM   in response to: David Erbas-White in response to: David Erbas-White
David,

| But that's exactly the point.
|
| This shouldn't be a war.
|
| This shouldn't be a battle.
|
| They shouldn't have been changed in the first place.
|
| The very fact that it is an ISSUE is what has caused lost of trust in
| EMBT moving forward. Add that to all the previous 'losses of trust'
| in Delphi, and one has to wonder what it really takes for developers
| to feel they're not being heard...

On-the-mark!!!

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 11:50 AM   in response to: David Erbas-White in response to: David Erbas-White
David Erbas-White wrote:
On 1/17/2015 10:19 AM, Dalija Prasnikar wrote:

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

They shouldn't have been changed in the first place.

The very fact that it is an ISSUE is what has caused lost of trust in
EMBT moving forward. Add that to all the previous 'losses of trust' in
Delphi, and one has to wonder what it really takes for developers to
feel they're not being heard...

I know. But what to do now? Give up?

--
Dalija Prasnikar
David Erbas-White

Posts: 202
Registered: 10/11/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 12:38 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
On 1/17/2015 11:50 AM, Dalija Prasnikar wrote:
David Erbas-White wrote:
On 1/17/2015 10:19 AM, Dalija Prasnikar wrote:

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

They shouldn't have been changed in the first place.

The very fact that it is an ISSUE is what has caused lost of trust in
EMBT moving forward. Add that to all the previous 'losses of trust' in
Delphi, and one has to wonder what it really takes for developers to
feel they're not being heard...

I know. But what to do now? Give up?

Pragmatically, I have legacy apps that MUST be supported with RAD
Studio. But there is no way on this earth that I can afford to put new
projects into EMBT's hands.

When I look back at the history of my primary legacy app, it was
originally fully developed using Borland C++. When they dropped C++,
and went to C++ Builder, it was 'faster' to go the RAD Studio route
(with the hope, and belief, that C++ would be well supported over the
life of the program, due to the tremendous reputation that Borland C++
had engendered over the years).

Flash forward to many years later, and it was one of the biggest
mistakes of my career. Should have taken the time to move the program
to another vendor at the time, and kept the program 'pure'. Now it's a
hodge-podge of C++ and Delphi, which means it can be maintained IN NO
OTHER SYSTEM.

Using FMX looks like EXACTLY the same type of future, and they've
already destroyed any possibility of trust by requiring that any Delphi
VCL apps be 're-written' in FMX. Sorry, but if I'm going to need to
re-write it, EMBT hasn't engendered the trust that makes me believe the
program is in safe hands.

So, my (one remaining major 'RAD Studio') legacy program will continue
to need to be supported by EMBTs products, I'd have to be an idiot to
trust them for any future development. I'll stick with well-supported,
well-documented, widely-used languages and IDEs for future use...

David Erbas-White
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 1:38 AM   in response to: David Erbas-White in response to: David Erbas-White
David Erbas-White wrote:
On 1/17/2015 11:50 AM, Dalija Prasnikar wrote:
David Erbas-White wrote:
On 1/17/2015 10:19 AM, Dalija Prasnikar wrote:

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

They shouldn't have been changed in the first place.

The very fact that it is an ISSUE is what has caused lost of trust in
EMBT moving forward. Add that to all the previous 'losses of trust' in
Delphi, and one has to wonder what it really takes for developers to
feel they're not being heard...

I know. But what to do now? Give up?

Using FMX looks like EXACTLY the same type of future, and they've
already destroyed any possibility of trust by requiring that any Delphi
VCL apps be 're-written' in FMX. Sorry, but if I'm going to need to
re-write it, EMBT hasn't engendered the trust that makes me believe the
program is in safe hands.

Yep. Once you lose trust it is gone.

So, my (one remaining major 'RAD Studio') legacy program will continue
to need to be supported by EMBTs products, I'd have to be an idiot to
trust them for any future development. I'll stick with well-supported,
well-documented, widely-used languages and IDEs for future use...

Right now, I don't have compelling reasons to move away from Delphi
for Windows native apps, even the new ones. But, if they start messing
around with desktop compilers, who knows...

--
Dalija Prasnikar
Eduardo Elias

Posts: 319
Registered: 9/20/12
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 3:26 AM   in response to: David Erbas-White in response to: David Erbas-White
I usually do not enter in this type of comment, however there is a terrible
mistake spread everywhere and part of your comment:


Using FMX looks like EXACTLY the same type of future, and they've
already destroyed any possibility of trust by requiring that any
Delphi VCL apps be 're-written' in FMX. Sorry, but if I'm going to
need to re-write it, EMBT hasn't engendered the trust that makes me
believe the program is in safe hands.

This is clearly your total lack of knowledge of what VCL is and FMX is. There
is no other thing here.

VCL as stated since Delphi 1 is a light wrapper around WINDOWS CONTROLS.

How are you going to port WINDOWS CONTROLS to other platforms? They tried
that on CLX and you see what happened.

They made it correctly on creating a new platform that is not based on wrapping
the windows. It is more an adapter of the FMX framework to the targeted platform.

This is the only way to compile to Android, iOS etc. For each platform it
will be implemented what TEdit looks like and what it means.

You can argue other things based on the platform targeting, but the only
way to have crossplatform is like that.

Saying that, your lack of knowledge on how things are done, not only on Delphi
but in MANY other tools and libraries is causing you a problem, and you are
helping spreading this ignorance.

I have gave up to VCL after 15years to start with FMX with a big ERP project
that is cross platform and it is working. Some bumps due the maturity level
of FMX and my lack of knowledge but right now the resul is better than VCL.

What is the problem them?

On 1/17/2015 11:50 AM, Dalija Prasnikar wrote:

David Erbas-White wrote:
On 1/17/2015 10:19 AM, Dalija Prasnikar wrote:
Don't get me wrong. I fully agree with what you are saying, and I
completely understand Q. My primary position on this is that 8-bit
strings should have never been removed from mobile compilers in the
first place.

What I am trying to say right now is that it looks like we are
losing war for 8-bit strings, so if we can at least win one battle
things would be less grim.
But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

They shouldn't have been changed in the first place.

The very fact that it is an ISSUE is what has caused lost of trust
in EMBT moving forward. Add that to all the previous 'losses of
trust' in Delphi, and one has to wonder what it really takes for
developers to feel they're not being heard...
I know. But what to do now? Give up?
Pragmatically, I have legacy apps that MUST be supported with RAD
Studio. But there is no way on this earth that I can afford to put
new projects into EMBT's hands.

When I look back at the history of my primary legacy app, it was
originally fully developed using Borland C++. When they dropped C++,
and went to C++ Builder, it was 'faster' to go the RAD Studio route
(with the hope, and belief, that C++ would be well supported over the
life of the program, due to the tremendous reputation that Borland C++
had engendered over the years).

Flash forward to many years later, and it was one of the biggest
mistakes of my career. Should have taken the time to move the program
to another vendor at the time, and kept the program 'pure'. Now it's
a hodge-podge of C++ and Delphi, which means it can be maintained IN
NO OTHER SYSTEM.

Using FMX looks like EXACTLY the same type of future, and they've
already destroyed any possibility of trust by requiring that any
Delphi VCL apps be 're-written' in FMX. Sorry, but if I'm going to
need to re-write it, EMBT hasn't engendered the trust that makes me
believe the program is in safe hands.

So, my (one remaining major 'RAD Studio') legacy program will continue
to need to be supported by EMBTs products, I'd have to be an idiot to
trust them for any future development. I'll stick with
well-supported, well-documented, widely-used languages and IDEs for
future use...

David Erbas-White
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 3:01 AM   in response to: David Erbas-White in response to: David Erbas-White
David Erbas-White wrote:

What I am trying to say right now is that it looks like we are
losing war for 8-bit strings, so if we can at least win one battle
things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

Well, indeed. Embarcadero should just do what a few loud protesters
want, and then there is no war.

--
Rudy Velthuis http://www.rvelthuis.de

'What our ancestors would really be thinking, if they were alive
today, is: "Why is it so dark in here?"'
-- Terry Pratchett, (Pyramids)
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 2:07 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 19.01.2015 um 12:01 schrieb Rudy Velthuis (TeamB):
David Erbas-White wrote:

What I am trying to say right now is that it looks like we are
losing war for 8-bit strings, so if we can at least win one battle
things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

Well, indeed. Embarcadero should just do what a few loud protesters
want, and then there is no war.

No.But since it's in their hands to do a poll on all their customers
based on the customer contact information they have before implementing
such big changes they should have asked before.

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 2:49 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Am 19.01.2015 um 12:01 schrieb Rudy Velthuis (TeamB):
David Erbas-White wrote:

What I am trying to say right now is that it looks like we are
losing war for 8-bit strings, so if we can at least win one battle
things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

Well, indeed. Embarcadero should just do what a few loud protesters
want, and then there is no war.

No.But since it's in their hands to do a poll on all their customers

Who says they didn't take the necessary steps required to make a
decision (and that is not necessary a poll)?

--
Rudy Velthuis http://www.rvelthuis.de

Weinberg's Law: If builders built buildings the way programmers
write programs, then the first woodpecker that came along would
destroy civilization.

Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 11:09 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 20.01.2015 um 11:49 schrieb Rudy Velthuis (TeamB):
Markus Humm wrote:

Am 19.01.2015 um 12:01 schrieb Rudy Velthuis (TeamB):
David Erbas-White wrote:

What I am trying to say right now is that it looks like we are
losing war for 8-bit strings, so if we can at least win one battle
things would be less grim.

But that's exactly the point.

This shouldn't be a war.

This shouldn't be a battle.

Well, indeed. Embarcadero should just do what a few loud protesters
want, and then there is no war.

No.But since it's in their hands to do a poll on all their customers

Who says they didn't take the necessary steps required to make a
decision (and that is not necessary a poll)?


Hello,

why shouldn't they do some automated poll? They're the only ones having
exact contact data for nearly all of their developer base.

They do surveys now and then (just in this minute I got an e-mail from
them with survey result). Why not before such important decissions?
I don't claim they decided lightly, but they simply didn't get all
information about it they could get.

Greetings

Markus
Anders Gustavsson

Posts: 26
Registered: 9/26/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 12:05 PM   in response to: Markus Humm in response to: Markus Humm
Markus Humm skrev den 2015-01-20 20:09:
but they simply didn't get all
information about it they could get.

Could you give us the source for that?

/Anders
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 21, 2015 10:53 AM   in response to: Anders Gustavsson in response to: Anders Gustavsson
Am 20.01.2015 um 21:05 schrieb Anders Gustavsson:
Markus Humm skrev den 2015-01-20 20:09:
but they simply didn't get all
information about it they could get.

Could you give us the source for that?

Hello,

did they do a survey on all customers about it back then?
I'm not aware.

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 6:04 PM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Who says they didn't take the necessary steps required to make a
decision (and that is not necessary a poll)?

why shouldn't they do some automated poll?

I don't know what they should do or not do, but ISTM that neither do
you, since this is not our expertise. I guess they have access to
people who have that expertise.
--
Rudy Velthuis http://www.rvelthuis.de

"The right things to do are those that keep our violence in
abeyance; the wrong things are those that bring it to the
fore."
-- Robert J. Sawyer
Brandon Staggs

Posts: 683
Registered: 3/3/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 7:22 AM   in response to: David Erbas-White in response to: David Erbas-White
"David Erbas-White" wrote on Sat, 17 Jan 2015 10:58:20 -0800:

The very fact that it is an ISSUE is what has caused lost of trust in
EMBT moving forward. Add that to all the previous 'losses of trust' in
Delphi, and one has to wonder what it really takes for developers to
feel they're not being heard...

Yes.

As much as I like Delphi, I often find myself regretting starting
certain projects with it, precisely because I do not trust Embarcadero
with its future because of the bizarre things they've done in its
present.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 3:11 AM   in response to: Brandon Staggs in response to: Brandon Staggs
Brandon Staggs wrote:

As much as I like Delphi, I often find myself regretting starting
certain projects with it, precisely because I do not trust Embarcadero
with its future because of the bizarre things they've done in its
present.

Such as?

What kind of breaking changes have they made, on the desktop, except
Unicode? Sure, the mobile compilers are different, but they are a new
line.

--
Rudy Velthuis http://www.rvelthuis.de

"Learning is what most adults will do for a living in the 21st
century." -- Perelman
Lajos Juhasz

Posts: 801
Registered: 3/14/14
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 21, 2015 2:01 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:

Brandon Staggs wrote:

As much as I like Delphi, I often find myself regretting starting
certain projects with it, precisely because I do not trust
Embarcadero with its future because of the bizarre things they've
done in its present.

Such as?

What kind of breaking changes have they made, on the desktop, except
Unicode? Sure, the mobile compilers are different, but they are a new
line.

They introduced and finally made mandatory to use FormatSettings
record. I agree with that and they made that change in the right way.
First introduced the global record to have a default values and was
available before they removed the global variables. But still every
year we have a question about that as developers didn't adapted their
code in time.

Rudy we have to accept that for some developers the only thing that
matters that they doesn't have to rewrite their code no matter how
badly it was written and how much hacks are used.

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 6:11 AM   in response to: Lajos Juhasz in response to: Lajos Juhasz
Lajos Juhasz wrote:

Rudy Velthuis (TeamB) wrote:

Brandon Staggs wrote:

As much as I like Delphi, I often find myself regretting starting
certain projects with it, precisely because I do not trust
Embarcadero with its future because of the bizarre things they've
done in its present.

Such as?

What kind of breaking changes have they made, on the desktop, except
Unicode? Sure, the mobile compilers are different, but they are a
new line.

They introduced and finally made mandatory to use FormatSettings
record.

But that was a slow change, and it is, AFAICT, not a breaking change at
all.

Rudy we have to accept that for some developers the only thing that
matters that they doesn't have to rewrite their code no matter how
badly it was written and how much hacks are used.

Perhaps these developers should accept that one doesn't always get what
one wants. <g>

--
Rudy Velthuis http://www.rvelthuis.de

"Sometimes when reading Goethe I have the paralyzing suspicion
that he is trying to be funny."
-- Guy Davenport
Lajos Juhasz

Posts: 801
Registered: 3/14/14
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 10:13 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:

They introduced and finally made mandatory to use FormatSettings
record.

But that was a slow change, and it is, AFAICT, not a breaking change
at all.

It was a breaking change as it required some search and replace in
files.

Rudy we have to accept that for some developers the only thing that
matters that they doesn't have to rewrite their code no matter how
badly it was written and how much hacks are used.

Perhaps these developers should accept that one doesn't always get
what one wants. <g>

I can also remember a breaking changes thanks to Galileo IDE and .NET
as now the object inspector become unicode aware. In Delphi 5 IDE it
used ansi string and you could in one label have east european charset
and on another one russian charset. However in Galileo the text entered
in the inspector was converted from unicode to ANSI using the language
definied for non unicode programs. A workaround for this was to move
from ANSI to widestring properties using TNT controls.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 24, 2015 6:53 PM   in response to: Lajos Juhasz in response to: Lajos Juhasz
Lajos Juhasz wrote:

Rudy Velthuis (TeamB) wrote:

They introduced and finally made mandatory to use FormatSettings
record.

But that was a slow change, and it is, AFAICT, not a breaking change
at all.

It was a breaking change as it required some search and replace in
files.

It finally broke, but you could/should have changed your code to do it
the new way in previous versions.

I can also remember a breaking changes thanks to Galileo IDE and .NET
as now the object inspector become unicode aware. In Delphi 5 IDE it
used ansi string and you could in one label have east european charset
and on another one russian charset.

I meant breaking changes in the language.

--
Rudy Velthuis http://www.rvelthuis.de

"Twenty years from now you will be more disappointed by the
things that you didn't do than by the ones you did do."
-- Samuel Clemens
Brandon Staggs

Posts: 683
Registered: 3/3/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 5:16 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
"Rudy Velthuis" wrote on Tue, 20 Jan 2015 03:11:17 -0800:

with its future because of the bizarre things they've done in its
present.

Such as?

Telling us that UTF8String is excluded from mobile compiler support
because newbies are too stupid to get past having more than one string
type, at the same time they add a compiler switch for changing string
indexing. That's bizarre to me.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 22, 2015 9:44 AM   in response to: Brandon Staggs in response to: Brandon Staggs
Brandon Staggs wrote:

"Rudy Velthuis" wrote on Tue, 20 Jan 2015 03:11:17 -0800:

with its future because of the bizarre things they've done in its
present.

Such as?

Telling us that UTF8String is excluded from mobile compiler support
because newbies are too stupid to get past having more than one string
type, at the same time they add a compiler switch for changing string
indexing. That's bizarre to me.

Actually, it is probably also to get rid of a legacy problem: that
strings are 1-based while all other indexed items are 0-based.

The default for mobile is 0-based, which seems to support the above.

FWIW, why are Pascal strings 1-based? Could it be because the old
Pascal strings used index 0 for the length byte? Now that is legacy.

--
Rudy Velthuis http://www.rvelthuis.de

"If you would be a real seeker after truth, it is necessary
that at least once in your life you doubt, as far as possible,
all things."
-- Rene Descartes
Brandon Staggs

Posts: 683
Registered: 3/3/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 23, 2015 5:29 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
"Rudy Velthuis" wrote on Thu, 22 Jan 2015 09:44:26 -0800:

Actually, it is probably also to get rid of a legacy problem: that
strings are 1-based while all other indexed items are 0-based.

The default for mobile is 0-based, which seems to support the above.

FWIW, why are Pascal strings 1-based? Could it be because the old
Pascal strings used index 0 for the length byte? Now that is legacy.

Who cares if the reason is legacy? Pascal strings are 1-based.
Anyone using Pascal knows it. (And of course I knew why, I have been
programming with Pascal long enough.) By adding a compiler switch to
make them 0-based and (worse) changing the default to be 0-based for
some platforms (leaving it 1-based for others) proves what it was I
originally said: the language is unstable and they are doing bizarre
things.

Indexes to characters in a string do not exist in a vacuum. Not being
able to rely on consistent basing for them is crazy. That's why all
of this talk about how they are "simplifying" the language and
removing old junk is just a lot of talk, not much reality.

I still use and love Delphi, and it is very frustrating to see stuff
like this happening to it.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 24, 2015 6:54 PM   in response to: Brandon Staggs in response to: Brandon Staggs
Brandon Staggs wrote:

FWIW, why are Pascal strings 1-based? Could it be because the old
Pascal strings used index 0 for the length byte? Now that is legacy.

Who cares if the reason is legacy?

You know the answer.
--
Rudy Velthuis http://www.rvelthuis.de

"The trouble with the Internet is that it's replacing
masturbation as a leisure activity." -- Patrick Murray.
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 11:35 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| My primary position on this is that 8-bit strings should have
| never been removed from mobile compilers in the first place.

On-the-mark.

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 5:18 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:
Dan Barclay wrote:

I agree it sounds easy. It's not, unless the behavior of the new target string is exactly (as in exactly) the same as what you're replacing. You are faced with debugging/testing all the code, some of which was written by someone else. Most times performing business or technical functions you may or may not remember the basis of.

Rewriting a large code base is nontrivial, add to that task the need to continue development. Fact is, it's incredibly difficult. Worse that that, it's scary because you don't know when one of those "minor" conversion helpers will corrupt data (yes, I ran into that as well). Sleeping well at night doesn't come easy.

Q is correct in his assessment, and his reaction.

If you could make those string adjustments easily, then all you'd really have to do is assign "ansistring" to "RawByteString", no? If you could do that, so could Embarcadero. Arrays and elements of arrays of the new critters would just work in procedures, as parameters, properties... all around. The reason they haven''t offered that solution is that it won't work without having what we know of today as ansistring. You don't even know what behavior of ansistring is being used deep in the code. The real solution is for them to retain this base functionality that has become a part of the language.

All that, and now you've lost confidence in the language. Note Q's reaction to the fact that he's made "that kind of change" already... and now a few releases later "here we go again".

The question his mind is asking is "can I trust this thing"??? You hear that question screaming out of his response. That's the thing I don't think Emb "gets". They haven't listened to me, maybe they will listen to Q.

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

What may not be clear to most at this point is that this is not just some concern about ansistrings, or some other battle. This is about language stability of Delphi (whether you call the language Pascal, Object Pascal, Delphi or whatever). In the case of ansistrings you're talking about a fundamental, core, datatype being mangled and then removed.

Basically: can you count on Delphi as a place for your ideas... for your code... for your product.

It's looking grim, to be honest. They took a bad turn some time back and I thought they'd recognize that and get back on track. Instead, my disappointment has grown over the last few years.

I predict they're going to see more and more people failing to upgrade to new versions <shrug>. That hurts us all, including those of us who have decided it's not worth it. It's not some sort of threat, it's just a fact and an observation.

Dan
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 1:52 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:
Dalija Prasnikar wrote:
Dan Barclay wrote:

I agree it sounds easy. It's not, unless the behavior of the new target string is exactly (as in exactly) the same as what you're replacing. You are faced with debugging/testing all the code, some of which was written by someone else. Most times performing business or technical functions you may or may not remember the basis of.

Rewriting a large code base is nontrivial, add to that task the need to continue development. Fact is, it's incredibly difficult. Worse that that, it's scary because you don't know when one of those "minor" conversion helpers will corrupt data (yes, I ran into that as well). Sleeping well at night doesn't come easy.

Q is correct in his assessment, and his reaction.

If you could make those string adjustments easily, then all you'd really have to do is assign "ansistring" to "RawByteString", no? If you could do that, so could Embarcadero. Arrays and elements of arrays of the new critters would just work in procedures, as parameters, properties... all around. The reason they haven''t offered that solution is that it won't work without having what we know of today as ansistring. You don't even know what behavior of ansistring is being used deep in the code. The real solution is for them to retain this base functionality that has become a part of the language.

All that, and now you've lost confidence in the language. Note Q's reaction to the fact that he's made "that kind of change" already... and now a few releases later "here we go again".

The question his mind is asking is "can I trust this thing"??? You hear that question screaming out of his response. That's the thing I don't think Emb "gets". They haven't listened to me, maybe they will listen to Q.

Don't get me wrong. I fully agree with what you are saying, and I completely
understand Q. My primary position on this is that 8-bit strings should have
never been removed from mobile compilers in the first place.

What I am trying to say right now is that it looks like we are losing war for
8-bit strings, so if we can at least win one battle things would be less grim.

What may not be clear to most at this point is that this is not just some concern about ansistrings, or some other battle. This is about language stability of Delphi (whether you call the language Pascal, Object Pascal, Delphi or whatever). In the case of ansistrings you're talking about a fundamental, core, datatype being mangled and then removed.

Basically: can you count on Delphi as a place for your ideas... for your code... for your product.

It's looking grim, to be honest. They took a bad turn some time back and I thought they'd recognize that and get back on track. Instead, my disappointment has grown over the last few years.

My thoughts exactly.

I predict they're going to see more and more people failing to upgrade to new versions <shrug>. That hurts us all, including those of us who have decided it's not worth it. It's not some sort of threat, it's just a fact and an observation.

Agreed.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 3:06 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:

What may not be clear to most at this point is that this is not just
some concern about ansistrings, or some other battle. This is about
language stability of Delphi

Bull. Delphi is one of the most stable languages in use. And well, the
original desktop compiler has not changed a lot anyway, except for the
Unicode change. Oh, there have been changes, but the last large one was
the introduction of long strings.

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

So yes, this is all about AnsiString. Some people simply want it on the
mobile compilers too.

--
Rudy Velthuis http://www.rvelthuis.de

"Well done is better than well said."
-- Benjamin Franklin (1706-1790)
Brandon Staggs

Posts: 683
Registered: 3/3/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 7:27 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
"Rudy Velthuis" wrote on Mon, 19 Jan 2015 03:06:16 -0800:

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

The fact that you have to tack "anytime soon" on there is what raises
red flags for many of us who are not hobbyists but have legacy
projects that must be maintained and work into the future in order to
pay bills and earn livings.

8-bit strings were excluded from Mobile support without so much as a
deprecation in the language*. Delphi is a mess because of a mix of
"baseness" (seriously, what a bad joke that is) and things that are
basic RTL on desktop don't exist (well, are hidden) on mobile. It's
not stable. It's a mess.

*Loss of trust factor 100%. Without warning, something significant can
be changed.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 11:32 AM   in response to: Brandon Staggs in response to: Brandon Staggs
Brandon Staggs wrote:
"Rudy Velthuis" wrote on Mon, 19 Jan 2015 03:06:16 -0800:

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

The fact that you have to tack "anytime soon" on there is what raises
red flags for many of us who are not hobbyists but have legacy
projects that must be maintained and work into the future in order to
pay bills and earn livings.

8-bit strings were excluded from Mobile support without so much as a
deprecation in the language*. Delphi is a mess because of a mix of
"baseness" (seriously, what a bad joke that is) and things that are
basic RTL on desktop don't exist (well, are hidden) on mobile. It's
not stable. It's a mess.

*Loss of trust factor 100%. Without warning, something significant can
be changed.

Anybody know what happened to VB?? Free clues here:

http://vb.mvps.org/vfred/Trust.asp

Dan
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 2:54 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:

8-bit strings were excluded from Mobile support without so much as a
deprecation in the language*. Delphi is a mess because of a mix of
"baseness" (seriously, what a bad joke that is) and things that are
basic RTL on desktop don't exist (well, are hidden) on mobile. It's
not stable. It's a mess.

*Loss of trust factor 100%. Without warning, something significant
can be changed.

Anybody know what happened to VB?? Free clues here:

Compare that to Delphi. Even the .NET version was more compatible with
the original than anyone had though possible. UNLIKE VB --> VB.NET.

--
Rudy Velthuis http://www.rvelthuis.de

"An API that isn't comprehensible isn't usable." -- James Gosling
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 2:52 AM   in response to: Brandon Staggs in response to: Brandon Staggs
Brandon Staggs wrote:

"Rudy Velthuis" wrote on Mon, 19 Jan 2015 03:06:16 -0800:

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

The fact that you have to tack "anytime soon" on there is what raises
red flags for many of us

Well, if you think the world will never change, then you must live in a
bubble. Yes, one day they may change that, perhaps because no one needs
them anymore. They removed inline byte codes from the language, but no
one cried, because people got a better alternative: a real assembler.
So while they removed something, no one missed it. One day perhaps, no
one will miss AnsiStrings. They will be regarded a thing from the past.

--
Rudy Velthuis http://www.rvelthuis.de

"Raymond's Law of Software: Given a sufficiently large number of
eyeballs, all bugs are shallow." -- Eric S. Raymond
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 10:15 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| One day perhaps, no one will miss AnsiStrings.

Not as long as I'm alive!

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 11:28 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dan Barclay wrote:

What may not be clear to most at this point is that this is not just
some concern about ansistrings, or some other battle. This is about
language stability of Delphi

Bull. Delphi is one of the most stable languages in use. And well, the
original desktop compiler has not changed a lot anyway, except for the
Unicode change. Oh, there have been changes, but the last large one was
the introduction of long strings.

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

So yes, this is all about AnsiString. Some people simply want it on the
mobile compilers too.

You are living in the past. What you say was, at one time, correct. I moved to Delphi years ago on account of it. A description of my assessment, and reason for the move, here:
http://vb.mvps.org/tips/stability.asp

Deja vu all over again.

If you define "expert" as one who has a lot of experience with the subject, I'm one of those who qualifies.

Dan
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 2:55 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:

Rudy Velthuis (TeamB) wrote:
Dan Barclay wrote:

What may not be clear to most at this point is that this is not
just some concern about ansistrings, or some other battle. This
is about language stability of Delphi

Bull. Delphi is one of the most stable languages in use. And well,
the original desktop compiler has not changed a lot anyway, except
for the Unicode change. Oh, there have been changes, but the last
large one was the introduction of long strings.

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

So yes, this is all about AnsiString. Some people simply want it on
the mobile compilers too.

You are living in the past.

On the contrary. I look forward. I can see a future without all the
lagacy crap.

--
Rudy Velthuis http://www.rvelthuis.de

"The trouble with the world is that the stupid are cocksure and
the intelligent are full of doubt."
-- Bertrand Russell
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 1:26 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:
Dan Barclay wrote:

Rudy Velthuis (TeamB) wrote:
Dan Barclay wrote:

What may not be clear to most at this point is that this is not
just some concern about ansistrings, or some other battle. This
is about language stability of Delphi

Bull. Delphi is one of the most stable languages in use. And well,
the original desktop compiler has not changed a lot anyway, except
for the Unicode change. Oh, there have been changes, but the last
large one was the introduction of long strings.

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

So yes, this is all about AnsiString. Some people simply want it on
the mobile compilers too.

You are living in the past.

On the contrary. I look forward. I can see a future without all the
lagacy crap.

--
Rudy Velthuis http://www.rvelthuis.de

"The trouble with the world is that the stupid are cocksure and
the intelligent are full of doubt."
-- Bertrand Russell

You are quite the sage, and your tagline speaks volumes (thanks for posting that)!

It is apparent that you and Embarcadero are on the same page. I am apparently wrong when I think "new adopters" aren't expecting their new apps with new code to become legacy libraries they can reuse. I know, it was a silly thought.

Dan
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 6:04 PM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:

It is apparent that you and Embarcadero are on the same page.

In this respect, yes.

I am apparently wrong when I think "new adopters" aren't expecting
their new apps with new code to become legacy libraries they can
reuse. I know, it was a silly thought.

Not sure how what you write contradicts what I am saying. New apps can
still become legacy libraries.

But you'll agree with me that some of the code you wrote (or I wrote)
10 or more years ago looks terrible on review, and that if you would
wrtie it these days, you would do things differently. I know that it is
the the case for me.

That kind of code is the kind of "legacy crap" I mean. Some decisions
about strings have been borne out of a momentary necessity, and have
been dragged along for ages. Not only is that a support nightmare, it
is also a pretty confusing mess. That is why they decided to streamline
the string system and not to drag the legacy mess along in the new
compilers.

--
Rudy Velthuis http://www.rvelthuis.de

"A sense of humor is part of the art of leadership, of getting
along with people, of getting things done."
-- Dwight D. Eisenhower (1890-1969)
Matthew Jones

Posts: 337
Registered: 1/25/98
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 21, 2015 7:01 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) wrote:

But you'll agree with me that some of the code you wrote (or I wrote)
10 or more years ago looks terrible on review, and that if you would
wrtie it these days, you would do things differently. I know that it
is the the case for me.

That kind of code is the kind of "legacy crap" I mean. Some decisions
about strings have been borne out of a momentary necessity, and have
been dragged along for ages. Not only is that a support nightmare, it
is also a pretty confusing mess. That is why they decided to
streamline the string system and not to drag the legacy mess along in
the new compilers.

FWIW, I wrote an application in 1988, and it is still sold and in use
today. Basic C/C++ code, using the Windows API. Started on Windows 2,
and not change substantially since. As it happens, I upgraded the VM I
build it in from C++Builder 6 to C++BUilder XE2 recently, and it built
without fuss. Handy that no one had removed any basic types since then.

And handy that it still pays its way and didn't become uneconomic
through language maintenance.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 3:09 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:

Bull. Delphi is one of the most stable languages in use. And well,
the original desktop compiler has not changed a lot anyway, except
for the Unicode change. Oh, there have been changes, but the last
large one was the introduction of long strings.

There is no sign or indication that AnsiStrings will be removed from
the dekstop compilers anytime soon.

So yes, this is all about AnsiString. Some people simply want it on
the mobile compilers too.

You are living in the past. What you say was, at one time, correct.

It is still correct. Delphi is an extremely stable language and
backward compatibility is still guarded as much as possible.

Now, if MS had continued VB for Windows and had only made the changes
for VB.NET, I'm sure not so many people would have had a problem with
it, even if the compilers had been quite different.

And one day, AnsiStrings will be a relict from the past and no one will
need them anymore. And then they can be removed from the desktop
compilers (if there still are desktop compilers, then).


--
Rudy Velthuis http://www.rvelthuis.de

Deadline-Dan's Demon: Every task takes twice as long as you think
it will take. If you double the time you think it will take, it
will actually take four times as long.

Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 11:34 AM   in response to: Dan Barclay in response to: Dan Barclay
Dan,

You've understood my position precisely!

| They haven't listened to me, maybe they will listen to Q.

<LOL!> I doubt it. The old days of "the Nick Hodges" are essentially
gone forever. We ol'timers are a dying breed in the "modern" mobile
world. Our "requirements" preferences aren't even a drop-in-the-bucket
in the new grand-scheme of things they want to invest in.

And I DO understand that. But it still p*isses me off. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 5:00 PM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dan,

You've understood my position precisely!

| They haven't listened to me, maybe they will listen to Q.

<LOL!> I doubt it. The old days of "the Nick Hodges" are essentially
gone forever. We ol'timers are a dying breed in the "modern" mobile
world. Our "requirements" preferences aren't even a drop-in-the-bucket
in the new grand-scheme of things they want to invest in.

And I DO understand that. But it still p*isses me off. <g>

It's a situation in which developers consider that their own code has been "molested".

What folks don't seem to understand is that, it's not just us. This is about how reliable Delphi is, as a development tool. To the point: Can those who want to use "the new mobile stuff" count on their code libraries working for the next 10 releases of Delphi?

Probably not, would be my assessment. Do you think that affects how seriously they treat Delphi as a tool? Should they use it for anything more than throwaway code?

The issue is MUCH larger than whether they drop ansistrings. The issue is whether they drop a major, widely used, primary data type from the language. That, right after having mangled its use a few releases prior.

I've posted links to my view regarding Language Stability before, it's still available if someone cares what it says.

Dan
(sorry my last post double posted, I think I edited incorrectly)
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 11:25 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| Q, you are not making our case easier.

Yeah.

| One of the first objections you will have when you mention
| AnsiStrings on mobile is that ANSI is Windows thing.

I'm still p*ssed at not being able to "go mobile" with Delphi. <g>

| And if we ever do get 8-bit strings on mobile only in form of
| RawByteString and UTF8String I will make all string adjustments in
| your code ;-)

<chuckle> Thanks for the offer. <g> However, at this point I think
I've decided that I'll probably never bother about "going mobile" with
my old apps.

I spent a bunch of $$$ for Apple cr*p when we were first introduced to
"mobile" in Delphi. I've since given it all away and am in no mood to
re-visit the issue.

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 11:58 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

I spent a bunch of $$$ for Apple cr*p when we were first introduced to
"mobile" in Delphi. I've since given it all away and am in no mood to
re-visit the issue.

In your case Apple was probably wrong decision anyway. Android is more
flexible as platform and you don't need to get your apps approved by anyone.

Also, for Android you just need device and your PC as is. With Apple you
also need Mac machine to build, and the whole setup is rather clumsy, whether
you are developing in VM or connect to Mac remotely.

I am currently using Xcode for iOS development and Android Studio for Android,
but I have also tested Delphi for mobile on both platforms and Android part
worked with less hick-ups.

--
Dalija Prasnikar
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 12:07 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Am 17.01.2015 um 20:58 schrieb Dalija Prasnikar:
Quentin Correll wrote:

I spent a bunch of $$$ for Apple cr*p when we were first introduced to
"mobile" in Delphi. I've since given it all away and am in no mood to
re-visit the issue.

In your case Apple was probably wrong decision anyway. Android is more
flexible as platform and you don't need to get your apps approved by anyone.

Also, for Android you just need device and your PC as is. With Apple you
also need Mac machine to build, and the whole setup is rather clumsy, whether
you are developing in VM or connect to Mac remotely.

I am currently using Xcode for iOS development and Android Studio for Android,
but I have also tested Delphi for mobile on both platforms and Android part
worked with less hick-ups.

I guess he started at a time where Android support was not there yet.

Greetings

Markus
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 2:02 PM   in response to: Markus Humm in response to: Markus Humm
Markus,

| I guess he started at a time where Android support was not there yet.

Yep.

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 17, 2015 2:01 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

I'll know better how to re-think the entire issue IF I ever decide
again to try to go-mobile. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 1:41 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

I'll know better how to re-think the entire issue IF I ever decide
again to try to go-mobile. <g>

I think that in your case best thing would be to go mobile with
Windows tablets.

I recently got one 7" with Windows 8.1 for 200$ and all my Delphi
apps run perfectly. The only thing I will have to adjust a bit is
UI in some places because some buttons are too small for mobile.

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 2:06 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| | I'll know better how to re-think the entire issue IF I ever decide
| | again to try to go-mobile. <g>
 

| I think that in your case best thing would be to go mobile with
| Windows tablets.
 

| I recently got one 7" with Windows 8.1 for 200$ and all my Delphi
| apps run perfectly. The only thing I will have to adjust a bit is
 

| UI in some places because some buttons are too small for mobile.

That sounds like GOOD advice at this time! I will move that to the top
of my list. Since I haven't kept up with the fiasco since I dumped my
futile "mobil" attempt that idea wasn't even in my view.

Thanks!

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Van Swofford

Posts: 397
Registered: 6/28/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 8:54 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

Dalija,

| I'll know better how to re-think the entire issue IF I ever
decide
  again to try to go-mobile. <g>



I think that in your case best thing would be to go mobile with
Windows tablets.

I recently got one 7" with Windows 8.1 for 200$ and all my Delphi
apps run perfectly. The only thing I will have to adjust a bit is
UI in some places because some buttons are too small for mobile.

That sounds like GOOD advice at this time! I will move that to the
top of my list. Since I haven't kept up with the fiasco since I
dumped my futile "mobil" attempt that idea wasn't even in my view.

Thanks!

Hi Quentin,

Yeah, that's definitely a good thing to consider. After all the effort
and money spent on rewriting my app for iPad, Apple killed it with
their mandate for 64 bit support. My business logic library was built
with FPC, which is 32 bit only on iOS, and would have required
rewriting with another language. I've put that project on the shelf
now, and am updating my Windows version to fully support Windows
tablets. Heaven help me if my customers decide it's either iPad or the
highway...

--
Cheers,
Van

"Good judgment comes from experience, and a lot of that comes from bad
judgment." - Will Rogers
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 2:14 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

[Second reply.]

| I recently got one 7" with Windows 8.1 ...

What brand did you buy?

I just Googled and it seems HP, Dello and Toshiba all have Win 8.1
versions in 7" or 8" packages.

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 3:01 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

[Third reply.]

You can ignore my other replies. <g>

I did some deep research and wound-up buying an Acer Iconia W4-820-2466
8-Inch 64 GB Windows Tablet unit to play with.

--

Q

1.19.1.372 (Q's Broken Toolbar.)

John Treder

Posts: 349
Registered: 8/2/02
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 18, 2015 8:44 PM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

Dalija,

[Third reply.]

You can ignore my other replies. <g>

I did some deep research and wound-up buying an Acer Iconia W4-820-2466
8-Inch 64 GB Windows Tablet unit to play with.

Prolly be fun. You'll probably have to go back to thinking in terms of how much can you fit on a 1024x768 screen, as the screen is small, despite having high resolution. Eyes like ours have problems with "8 point" type that actually measures out to less than 6 points.

--
nhoJ
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 9:28 AM   in response to: John Treder in response to: John Treder
John,

| Prolly be fun. You'll probably have to go back to thinking in terms
| of how much can you fit on a 1024x768 screen, as the screen is small,
| despite having high resolution. Eyes like ours have problems with "8
| point" type that actually measures out to less than 6 points.

Yeah,... I'll most likely have to do some display "restructuring." I
have TONS of cr... stuff on my screens as it is now. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
John Treder

Posts: 349
Registered: 8/2/02
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 9:32 PM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

John,

Prolly be fun. You'll probably have to go back to thinking in terms
of how much can you fit on a 1024x768 screen, as the screen is small,
despite having high resolution. Eyes like ours have problems with "8
point" type that actually measures out to less than 6 points.

Yeah,... I'll most likely have to do some display "restructuring." I
have TONS of cr... stuff on my screens as it is now. <g>

It's an opportunity to think about what's really needed in any given situation, and what is almost never used. Very difficult and can make a screen easier or harder to use. Depends how clever you are.

--
nhoJ

Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 10:16 AM   in response to: John Treder in response to: John Treder
John,

| It's an opportunity to think about what's really needed in any given
| situation, and what is almost never used. Very difficult and can
| make a screen easier or harder to use. Depends how clever you are.

I'll keep you apprised when I "get into it."

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 1:54 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

[Third reply.]

You can ignore my other replies. <g>

I did some deep research and wound-up buying an Acer Iconia W4-820-2466
8-Inch 64 GB Windows Tablet unit to play with.

You are fast :)

I made error when writing about my tablet, it is not 7" but 8", I have bunch
of Android 7" tablets so I got confused. It is some unknown Made in China
brand, but it is rather nice. I cannot find anything seriously wrong with it.
This was just exploratory purchase, to see what really low end Windows
devices are capable of doing.

--
Dalija Prasnikar
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 9:29 AM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija,

| This was just exploratory purchase, to see what really low end
| Windows devices are capable of doing.

So was my purchase.

We can compare notes sometime in the not to far distan future. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Dalija Prasnikar

Posts: 2,325
Registered: 11/9/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 11:14 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:
Dalija,

| This was just exploratory purchase, to see what really low end
| Windows devices are capable of doing.

So was my purchase.

We can compare notes sometime in the not to far distan future. <g>

Yep.

--
Dalija Prasnikar
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 24, 2015 6:51 PM   in response to: Dalija Prasnikar in response to: Dalija Prasnikar
Dalija Prasnikar wrote:

What I am trying to say is that your code probably does not need
AnsiString and you could replace all AnsiString in your code with
RawByteString

RawByteString is AnsiString. It just did not obtain a codepage yet.

And you know what they say about RawByteString, don't you?
--
Rudy Velthuis http://www.rvelthuis.de

"Everybody's worried about stopping terrorism. Well, there's a
really easy way; stop participating in it."
-- Noam Chomsky
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 1:04 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 15.01.2015 um 09:33 schrieb Rudy Velthuis (TeamB):
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile platforms
would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too? You'd
have the same mess they are trying to get rid off.

They want to get rid of the plethora of different legacy string types.
That is exactly why they did not publicly port them to mobile. Sure,
due to decisions made in the past, some internal functionality still
relies on some of these types, but I bet they are trying to get rid of
that.

You write as if you wouldn't have any clue about why those types do
exist on Win32. But who on a mobile platform would want to or even be
able to call a win32 API directly or use a COM/DCOM server?

=> PAnsiChar and WideString fall of already. Esp. as the latter one can
easily be replaced with the standard string type. COW shouldn't come
into one's way I guess.

What's left?
ShortString.

Now one can make a survey (that survey EMBT didn't make when deciding to
drop AnsiString on mobile platform) how many still use ShortString for
any purpose.

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 1:23 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Am 15.01.2015 um 09:33 schrieb Rudy Velthuis (TeamB):
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile
platforms >> would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too?
You'd have the same mess they are trying to get rid off.

They want to get rid of the plethora of different legacy string
types. That is exactly why they did not publicly port them to
mobile. Sure, due to decisions made in the past, some internal
functionality still relies on some of these types, but I bet they
are trying to get rid of that.

You write as if you wouldn't have any clue about why those types do
exist on Win32.

I know why they exist: as stop-gaps for certain problems with DOS and
later Windows. ShortStrings were the result of scarceness of memory in
older computers, PChars were introduced (together with extended syntax)
to help use certain Windows APIs, etc. WideStrings were introduced to
be able to use COM, etc.etc. This mess has grown since the DOS days,
and now was the right time to prune away the "Wildwuchs".

In other words, they are legacy types that have lost most of their
raison d'être in a modern language. The few types that are still
required to interface with older APIs still exist: TMarshaledString and
TMarshaledAString (aka PWideChar and PAnsiChar).

But AnsiStrings are not required for any of that (nor are WideStrings
or ShortStrings). They were fully replaced by UnicodeStrings and all
text processing can conventiently and efficiently be done with that
type.

You'll see that most of those who complain ar those who have been using
AnsiStrings as some kind of convenient Tbytes-ersatz for many years,
and now find that such practices have finally turned out to be bad
after all, but are unwilling to finally do the right thing and use
proper types for the task. And doing the right thing can mean that
binary blobs may have to be parsed a little more intelligently than
with "Pos(marker, myBlob)" to find certain parameters.

The fact that the designers of the language have decided to finally fix
a number of historic ad-hoc decisions to streamline the language should
be a signal for others to do the same with their code

--
Rudy Velthuis http://www.rvelthuis.de

"Liberty and democracy become unholy when their hands are dyed
red with innocent blood." -- Mahatma Gandhi
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 5:07 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 15.01.2015 um 10:23 schrieb Rudy Velthuis (TeamB):
Markus Humm wrote:

Am 15.01.2015 um 09:33 schrieb Rudy Velthuis (TeamB):
Dalija Prasnikar wrote:

Other customers would not be in any way affected if mobile
platforms >> would support 8-bit strings.

And what else? WideStrings too? PAnsiChars too? ShortStrings too?
You'd have the same mess they are trying to get rid off.

They want to get rid of the plethora of different legacy string
types. That is exactly why they did not publicly port them to
mobile. Sure, due to decisions made in the past, some internal
functionality still relies on some of these types, but I bet they
are trying to get rid of that.

You write as if you wouldn't have any clue about why those types do
exist on Win32.

I know why they exist: as stop-gaps for certain problems with DOS and
later Windows. ShortStrings were the result of scarceness of memory in
older computers, PChars were introduced (together with extended syntax)
to help use certain Windows APIs, etc. WideStrings were introduced to
be able to use COM, etc.etc. This mess has grown since the DOS days,
and now was the right time to prune away the "Wildwuchs".

In other words, they are legacy types that have lost most of their
raison d'être in a modern language. The few types that are still
required to interface with older APIs still exist: TMarshaledString and
TMarshaledAString (aka PWideChar and PAnsiChar).

But AnsiStrings are not required for any of that (nor are WideStrings
or ShortStrings). They were fully replaced by UnicodeStrings and all
text processing can conventiently and efficiently be done with that
type.

You'll see that most of those who complain ar those who have been using
AnsiStrings as some kind of convenient Tbytes-ersatz for many years,
and now find that such practices have finally turned out to be bad
after all, but are unwilling to finally do the right thing and use
proper types for the task. And doing the right thing can mean that
binary blobs may have to be parsed a little more intelligently than
with "Pos(marker, myBlob)" to find certain parameters.

The fact that the designers of the language have decided to finally fix
a number of historic ad-hoc decisions to streamline the language should
be a signal for others to do the same with their code

Hello,

1. ShortStrings do not really stem from having less memory. Afaik
they're constant leght in memory anyway.

2. PChars did exist before Delphi: Turbo Pascal 7 brought them on the
table for DOS. Don't really know why, but it did.

3. I didn't request support for PChar, as that nowdays is really only
for accessing Windows APIs, which don't have any relevance on mobile
platforms.

=> your partialy delivering the wrong argument or trying to answer the
wrong questions.

And memory is sometimes rare on mobile platforms as well. Having
UTF8String would be of help for some applications I guess.

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 6:42 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:


1. ShortStrings do not really stem from having less memory. Afaik
they're constant leght in memory anyway.

Yes, they do. Most people would use the shortest string possible (i.e.
string[17], etc.), in order to get by with the memory limitations in DOS.
Hardly anyone actually used the full strings in large arrays. For
one-off local strings, it didn't matter that much, of course.


2. PChars did exist before Delphi: Turbo Pascal 7 brought them on the
table for DOS. Don't really know why, but it did.

Yes, as I said: in order to call Windows DLLs (e.g. in protected mode
or whatever it was called). PChar was merely ^Char, but extended syntax
allowed simple pointer arithmetic with them.

3. I didn't request support for PChar, as that nowdays is really only
for accessing Windows APIs, which don't have any relevance on
mobile platforms.

PChar can be used for any kind of C API, and these exist on any OS, including Android and iOS.

=> your partialy delivering the wrong argument or trying to answer the
wrong questions.

The argument is: they try to get rid of the legacy string types and
streamline the string system. Not continuing AnsiString is part of that
strategy.

--
Rudy Velthuis http://www.rvelthuis.de

"Capitalism is the astounding belief that the most wickedest of
men will do the most wickedest of things for the greatest good
of everyone."
-- John Maynard Keynes

Edited by: Rudy Velthuis (TeamB) on Jan 15, 2015 5:07 PM
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 12:36 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 15.01.2015 um 17:10 schrieb Rudy Velthuis (TeamB):
Markus Humm wrote:


1. ShortStrings do not really stem from having less memory. Afaik
they're constant leght in memory anyway.

Yes, they do. Most people would use the shortest string possible (i.e.
string[17], etc.), in order to get by with the memory limitations in DOS.
Hardly anyone actually used the full strings in large arrays. For
one-off local strings, it didn't matter that much, of course.

Hello,

you might want to read that up again: if I'm not mistaken string[17]
still reserves 256 Bytes of memory in contrast to a short string without
length limitation specifier. See for example this information:

http://www.codexterity.com/delphistrings.htm



2. PChars did exist before Delphi: Turbo Pascal 7 brought them on the
table for DOS. Don't really know why, but it did.

Yes, as I said: in order to call Windows DLLs (e.g. in protected mode
or whatever it was called). PChar was merely ^Char, but extended syntax
allowed simple pointer arithmetic with them.

3. I didn't request support for PChar, as that nowdays is really only
for accessing Windows APIs, which don't have any relevance on
mobile platforms.

PChar can be used for any kind of C API, and these exist on any OS, including Android and iOS.

Might be: but for accessing platform APIs on mobile platforms other
techniques are already established by EMBT and I don't think much code
written as Windows agnostic (means heavily relying on accessing C-style
Windows APIs) would be useable on those mobile platforms without a major
rewrite anyway.


=> your partialy delivering the wrong argument or trying to answer the
wrong questions.

The argument is: they try to get rid of the legacy string types and
streamline the string system. Not continuing AnsiString is part of that
strategy.

That is their argument. But they're throwing out the child with the bath
with that. If we loose to much compatibility the cost of adopting the
mobile side of Delphi increases, reputation decreases and people will
use other development platforms. And not asking before doing such big
changes is not good either. The same goes for zero based strings.

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 12:46 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

you might want to read that up again: if I'm not mistaken string[17]
still reserves 256 Bytes of memory

Wrong. It is exactly 18 bytes of memory. That is a fact. Try it:

program TestString17;
{$APPTYPE CONSOLE}
var
A: string[17];
begin
Writeln(SizeOf(A));
Readln;
end.

That gives me 18.

Believe me, the reason for many features those days were limited memory
and the lack of processing power.

--
Rudy Velthuis http://www.rvelthuis.de

"A husband is what is left of the lover after the nerve has been
extracted."
-- Helen Rowland (1876-1950)
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 4:41 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 16.01.2015 um 09:46 schrieb Rudy Velthuis (TeamB):
Markus Humm wrote:

you might want to read that up again: if I'm not mistaken string[17]
still reserves 256 Bytes of memory

Wrong. It is exactly 18 bytes of memory. That is a fact. Try it:

program TestString17;
{$APPTYPE CONSOLE}
var
A: string[17];
begin
Writeln(SizeOf(A));
Readln;
end.

That gives me 18.

Believe me, the reason for many features those days were limited memory
and the lack of processing power.

Hello,

where did you declare a ShortString?
You don't show any compiler defines for that nor do you name the version
of the compiler you did your test with.

And a normal string will be a bit bigger I guess because of the
mamagement information stored in the negative offsets. But I'm not sure
SizeOf will really reflect this, as the mamagement information afaik is
only interesting at runtime and only for the compiler/RTL. The bytes
needed for the chars is what us developers interests most I guess.

Greetings

Markus

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 11:49 AM   in response to: Markus Humm in response to: Markus Humm
Markus wrote:

where did you declare a ShortString?

Rudy's example declares a SmallString (String[N] where N < 255) rather than
a ShortString (String[N] where N = 255). But either way, they are implemented
the same way, as far as the compiler and RTL are concerned.

You don't show any compiler defines for that

Why are you asking about defined? There is no defines used in Rudy's example.

nor do you name the version of the compiler you did your test with.

Rudy's example works the exact same on all Delphi versions.

And a normal string will be a bit bigger I guess because of the
mamagement information stored in the negative offsets.

A normal String, yes. But a ShortString does not have any metadata at a
negative offset. It is essentially just a fixed-length array, where the
first element contains the string "length". That is all there is to it.

But I'm not sure SizeOf will really reflect this

SizeOf(String) is meaningless (it is the same as SizeOf(Pointer)). But SizeOf(String[N])
is meaningful, it returns N+1. Here is another example that proves the compiler
only allocates N+1 bytes:

type
  TTest1 = record
    Field1: String[19]; // 20 bytes
    Field2: Integer;
  end;
 
  TTest2 = record
    Field1: ShortString; // 256 bytes
    Field2: Integer;
  end;
 
Writeln(SizeOf(TTest1)); // outputs 24
Writeln(SizeOf(TTest2)); // outputs 260


--
Remy Lebeau (TeamB)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 2:55 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:

Markus wrote:

where did you declare a ShortString?

Rudy's example declares a SmallString (String[N] where N < 255)
rather than a ShortString (String[N] where N = 255).

ISTM you are confusing Smallint and Shortint with SmallString and
ShortString. <g>

I have never heard of SmallString. Fact is that string[n] is a
shortstring type, and that the declared ShortString is in fact
string[255].

--
Rudy Velthuis http://www.rvelthuis.de

"If suffering brought wisdom, the dentist’s office would be
full of luminous ideas." -- Mason Cooley

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: QC119501 (722 votes) - What is Embas position now after nearly2years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 1:49 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy wrote:

ISTM you are confusing Smallint and Shortint with SmallString and
ShortString. <g>

Actually, I'm basing my comment on the fact that C++Builder makes the distinction
I described, and C++Builder tends to follow Delphi semantics when it comes
to the RTL/VCL:

dstring.h:

template <unsigned char sz> class SmallStringBase
{
protected:
  unsigned char Len;
  char Data[sz];
};
 
template <unsigned char sz> class SmallString : SmallStringBase<sz>
{
// all the SmallString functionality (constructors and operators) is implemented 
here ...
};

sysmac.h:

template <unsigned char sz> class SmallString;
...
typedef SmallString<255>     ShortString;


--
Remy Lebeau (TeamB)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly2years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 20, 2015 3:15 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:

Rudy wrote:

ISTM you are confusing Smallint and Shortint with SmallString and
ShortString. <g>

Actually, I'm basing my comment on the fact that C++Builder makes the
distinction I described

But AFAIK, the Delphi docs don't. They are all so called "Pascal
strings": one byte for the length, and 8-bit textual data, up to 255
characters. Even the OS X and some older Windows docs call them "Pascal
strings".

In Delphi, all such "Pascal" strings were called short strings, as
opposed to the new long (Ansi-) strings.

--
Rudy Velthuis http://www.rvelthuis.de

"The United States is not nearly so concerned that its acts be
kept secret from its intended victims as it is that the
American people not know of them."
-- Ramsey Clark
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 19, 2015 2:52 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Hello,

where did you declare a ShortString?

string[17] is a short string.

--
Rudy Velthuis http://www.rvelthuis.de

"The secret of happiness is to admire without desiring."
-- F. H. Bradley
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years? [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 9:19 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

Markus typed "without length limitation specifier," such as A:
shortString; Your var declaration example used A: string[17];

You're both right. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 15, 2015 12:24 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| And what about the other
| customers?

Damifino. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 12:32 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll wrote:

Rudy,

And what about the other
customers?

Damifino. <g>

And his brother, Damifudontno.

--
Rudy Velthuis http://www.rvelthuis.de

"Any fool can use a computer. Many do." -- Ted Nelson
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 16, 2015 9:20 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| | Damifino. <g>
|
| And his brother, Damifudontno.

;-)

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 12:53 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy,

| | No, it ENHANCES innovation.
|
| No, it doesn't. I know you see this differently, but what counts is
| how Embarcadero sees it. <g>

I was just being a wise*ss. ;-)

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 4:42 AM   in response to: Tom Brunberg in response to: Tom Brunberg
Tom Brunberg <nospam@to.me> wrote in news:708410 at forums dot embarcadero dot com:
The vendor Christopher is talking about, specifies the communication
to be ascii, Christopher is just interpreting that erroneously,

Incorrect - I'm interpreting it just fine.

I require ansistrings for the functionality they provide, rewriting my own
ansistring as you suggest doesn't do away with the requirement for it.
Tom Brunberg

Posts: 329
Registered: 12/27/04
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 4:46 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Tom Brunberg <nospam@to.me> wrote in news:708410 at forums dot embarcadero dot com:
The vendor Christopher is talking about, specifies the communication
to be ascii, Christopher is just interpreting that erroneously,

Incorrect - I'm interpreting it just fine.

No, you are not. The vendor doesn't require you to use AnsiString types.

--
Tom Brunberg
firstname.lastname@welho.com

Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 8:51 AM   in response to: Tom Brunberg in response to: Tom Brunberg
Tom Brunberg <nospam@to.me> wrote in news:708437 at forums dot embarcadero dot com:


Incorrect - I'm interpreting it just fine.

No, you are not. The vendor doesn't require you to use AnsiString
types.

You are correct, I said they require me to use modified ASCII string types.

Ansistring types are the only way Delphi provides I can access those APIs.
Asbjørn Heid

Posts: 267
Registered: 11/12/12
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 1:18 PM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:
You are correct, I said they require me to use modified ASCII string types.

Ansistring types are the only way Delphi provides I can access those APIs.

What prevents you from using TBytes? Just curious.

Cheers
- Asbjørn
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 1:41 PM   in response to: Asbjørn Heid in response to: Asbjørn Heid
Asbjørn,

| | Ansistring types are the only way Delphi provides I can access
| | those APIs.

| What prevents you from using TBytes? Just curious.

I have been wondering the same thing but didn't want to involve myself
in the thread. <g>

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 3:47 PM   in response to: Quentin Correll in response to: Quentin Correll
Quentin Correll <qcorrell at pacNObell dot net> wrote in news:708565
@forums.embarcadero.com:

Asbjørn,

| | Ansistring types are the only way Delphi provides I can access
| | those APIs.

| What prevents you from using TBytes? Just curious.

I have been wondering the same thing but didn't want to involve myself
in the thread. <g>


No need to wonder, I've repetedly said why.
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 8, 2015 11:22 PM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Quentin Correll <qcorrell at pacNObell dot net> wrote in news:708565
@forums.embarcadero.com:

Asbjørn,

| Ansistring types are the only way Delphi provides I can access
| those APIs.

What prevents you from using TBytes? Just curious.

I have been wondering the same thing but didn't want to involve
myself in the thread. <g>


No need to wonder, I've repetedly said why.

No, you haven't. You said you needed ASCII. One can easily store
ASCII in bytes. If you want to do text manipulation, then use
TEncoding.ASCII.GetString to turn it into a string. That is as easy as
can be.

So no, you have never explained why you need ANSISTRINGS.

--
Rudy Velthuis http://www.rvelthuis.de

"All warfare is based on deception."
-- Sun tzu
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 9, 2015 12:04 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708631
@forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality, copy/pos/assignment etc to
process what are in fact strings.

Over and over and over we go.
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 9, 2015 10:14 AM   in response to: Christopher Burke in response to: Christopher Burke
Am 09.01.2015 um 09:04 schrieb Christopher Burke:
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708631
@forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality, copy/pos/assignment etc to
process what are in fact strings.

Over and over and over we go.

And?
Why can't you convert this TBytes you've read in to a Unicode string, do
your pos/copy and assignements tasks on those (if the chars contained
are all in the ASCII range from 0.127 you should be fine as that's
mapped 1:1 to Unicode) and then convert back?

Have you already tried that?

Greetings

Markus
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 9, 2015 11:30 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm <markus dot humm at freenet dot de> wrote in
news:708743 at forums dot embarcadero dot com:

Am 09.01.2015 um 09:04 schrieb Christopher Burke:
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708631
@forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality, copy/pos/assignment
etc to process what are in fact strings.

Over and over and over we go.

And?
Why can't you convert this TBytes you've read in to a Unicode string,

Because I need to tear the thing apart using string functions before I can
make it acceptable to a unicode string.

Which is what I do.
david hoke

Posts: 616
Registered: 2/9/07
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 9, 2015 11:50 AM   in response to: Christopher Burke in response to: Christopher Burke
"Christopher Burke" <newsgroups at craznar dot com> wrote in message
news:708755 at forums dot embarcadero dot com...
Markus Humm <markus dot humm at freenet dot de> wrote in
news:708743 at forums dot embarcadero dot com:

Am 09.01.2015 um 09:04 schrieb Christopher Burke:
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708631
@forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality, copy/pos/assignment
etc to process what are in fact strings.

Over and over and over we go.

And?
Why can't you convert this TBytes you've read in to a Unicode string,

Because I need to tear the thing apart using string functions before I can
make it acceptable to a unicode string.

Which is what I do.

IIRC, You have elsewhere said (probably paraphased here) "the string is
entirely ASCII, having byte values in range 0..127".

If that was an accurate statement (the string is entirely ASCII, with byte
values in range 0..127), then it should be entirely compatible with UNICODE
with no need to tear it apart first.

IIRC, you have elsewhere said ('tho' not in your Ansi String Challenge) that
you had to be able to handle 8-bit values, thus extending the value of bytes
you need to handle to 0..255.

Which range of values do you actually have to handle - (0..127), or
(0..255)?
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 10, 2015 5:45 AM   in response to: david hoke in response to: david hoke
david hoke <dhoke.nojunk@east-shore.com> wrote in
news:708760 at forums dot embarcadero dot com:

IIRC, You have elsewhere said (probably paraphased here) "the string
is entirely ASCII, having byte values in range 0..127".

I've said a few times it is ASCII with extras.

Which range of values do you actually have to handle - (0..127), or
(0..255)?

A mixture of both
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 6:20 AM   in response to: david hoke in response to: david hoke
david hoke wrote:

"Christopher Burke" <newsgroups at craznar dot com> wrote in message
news:708755 at forums dot embarcadero dot com... >Markus Humm
<markus dot humm at freenet dot de> wrote in
news:708743 at forums dot embarcadero dot com:

Am 09.01.2015 um 09:04 schrieb Christopher Burke:
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in
news:708631
@forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality,
copy/pos/assignment etc to process what are in fact strings.

Over and over and over we go.

And?
Why can't you convert this TBytes you've read in to a Unicode
string,

Because I need to tear the thing apart using string functions
before I can make it acceptable to a unicode string.

Which is what I do.

IIRC, You have elsewhere said (probably paraphased here) "the string
is entirely ASCII, having byte values in range 0..127".

If that was an accurate statement (the string is entirely ASCII, with
byte values in range 0..127), then it should be entirely compatible
with UNICODE with no need to tear it apart first.

Exactly.
--
Rudy Velthuis http://www.rvelthuis.de

"I never miss a chance to have sex or appear on television."
-- Gore Vidal
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 10, 2015 12:03 AM   in response to: Christopher Burke in response to: Christopher Burke
Am 09.01.2015 um 20:30 schrieb Christopher Burke:
Markus Humm <markus dot humm at freenet dot de> wrote in
news:708743 at forums dot embarcadero dot com:

Am 09.01.2015 um 09:04 schrieb Christopher Burke:
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708631
@forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality, copy/pos/assignment
etc to process what are in fact strings.

Over and over and over we go.

And?
Why can't you convert this TBytes you've read in to a Unicode string,

Because I need to tear the thing apart using string functions before I can
make it acceptable to a unicode string.

Which is what I do.

Hello,

does this mean the thing contains bytes not in the 0-127 range?
If you have Delphi XE7 the new array functions might be helpful to you.
They should be useable on TBytes as well and can for example delete
things from the middle of the array. Copy should be included as well
afaik, I'm just unsure about pos, but if that's the only missing thing,
that shouldn't be too hard to write in 2 minutes...

Greetings

Markus
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 10, 2015 5:54 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm <markus dot humm at freenet dot de> wrote in
news:708791 at forums dot embarcadero dot com:

does this mean the thing contains bytes not in the 0-127 range?

It contains sequences of 7bit and/or 8bit characters on which I need to
perform string functions.

SOme of the main things used pos, copy, uppercase, left/right pad, s[x]
syntax, ord and char and trim.

For example, I might have a 200 character ascii string, except for an
embedded 2 byte CRC encoded somewhere in there, which is calculated on a
portion of the rest of the string and needs to be compared.
Robert Evans

Posts: 114
Registered: 10/16/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 10, 2015 8:18 AM   in response to: Christopher Burke in response to: Christopher Burke
In article <708823 at forums dot embarcadero dot com>, Christopher Burke
<newsgroups at craznar dot com> wrote
For example, I might have a 200 character ascii string, except for an
embedded 2 byte CRC encoded somewhere in there, which is calculated on a
portion of the rest of the string and needs to be compared.

In other words, what you actually have is a stream of 198 bytes (or a
stream of 1584 bits) plus a 16 bit CRC value that need to be checked
against each other. The fact that the values in the 198 bytes may be
treated elsewhere as representing characters is irrelevant to the CRC
operation.

Usually it makes sense to use the CRC to validate the incoming data at
the byte/bit level before doing any other work on the data itself. After
that you can discard the CRC bytes and then start to regard the data as
characters that might be part of, say, a command string.

Therefore in Delphi it would be quite natural to hold the incoming
serial data from the hardware in some sort of byte array, CRC them and
only then parse into strings of characters if that is what is needed for
the next stage of the process.

Incidentally it not always realised that with several commonly used CRC
schemes, the resulting byte/bit streams have an interesting property: if
both the received message data to be checked and the accompanying CRC
are processed in turn through the same CRC calculation, the result is a
constant (whose value is a characteristic of the CRC scheme being used).

Thus for the example above, one might either compute the CRC value for
the 198 bytes and compare the result against the two check bytes, or
compute the CRC over all 200 bytes and then compare the result against a
constant.

[Sorry, this is getting way too technical for non-tech. I'll get my
coat!]
--
Bob Evans
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 10, 2015 6:50 PM   in response to: Robert Evans in response to: Robert Evans
Robert Evans <newsabuse036 at deleteifspam dot lichtech dot co dot uk> wrote in
news:708833 at forums dot embarcadero dot com:

Therefore in Delphi it would be quite natural to hold the incoming
serial data from the hardware in some sort of byte array, CRC them and
only then parse into strings of characters if that is what is needed for
the next stage of the process.

If TBytes had all the functinality of ansistrings, for locating, splitting,
parsing the so called 'bytes' which are for the most part ASCII - then I'd
be using TBytes.

TBytes does not - why doesn't it, because it isn't designed for the string
handling I need to do.
Robert Evans

Posts: 114
Registered: 10/16/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 11, 2015 4:48 AM   in response to: Christopher Burke in response to: Christopher Burke
In article <708855 at forums dot embarcadero dot com>, Christopher Burke
<newsgroups at craznar dot com> wrote
Robert Evans <newsabuse036 at deleteifspam dot lichtech dot co dot uk> wrote in
news:708833 at forums dot embarcadero dot com:

Therefore in Delphi it would be quite natural to hold the incoming
serial data from the hardware in some sort of byte array, CRC them and
only then parse into strings of characters if that is what is needed for
the next stage of the process.

If TBytes had all the functinality of ansistrings, for locating, splitting,
parsing the so called 'bytes' which are for the most part ASCII - then I'd
be using TBytes.

TBytes does not - why doesn't it, because it isn't designed for the string
handling I need to do.

Which is what I was implying in "...then parse into strings of
characters..." - just write a simple state machine (or whatever) to fish
out the relevant character streams and put them into Delphi strings if
you wish.

This is basic bread and butter stuff for folk who have to deal with
serial datacomms with remote peripherals. Simple enough to do in
assembler for 8-bit microcontrollers, ten times easier in Delphi :)

--
Bob Evans
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 6:22 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Markus Humm <markus dot humm at freenet dot de> wrote in
news:708791 at forums dot embarcadero dot com:

does this mean the thing contains bytes not in the 0-127 range?

It contains sequences of 7bit and/or 8bit characters on which I need
to perform string functions.

SOme of the main things used pos, copy, uppercase, left/right pad,
s[x] syntax, ord and char and trim.

Uppercase on byte values > 127? What do you expect to get? Padding is
easy: just send enough #32 bytes.

--
Rudy Velthuis http://www.rvelthuis.de

"Whenever I climb I am followed by a dog called 'Ego'."
- Friedrich Nietzsche (1844-1900)

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 6:24 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

For example, I might have a 200 character ascii string, except for an
embedded 2 byte CRC encoded somewhere in there

Somewhere in there? How do you know where? I mean, if they are at the
end (which would make most sense) or at the very beginning, it can't be
too hard to read them as bytes and use the rest as text data to convert.
--
Rudy Velthuis http://www.rvelthuis.de

"No one has ever had an idea in a dress suit."
-- Sir Frederick G. Banting
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 7:45 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708955
@forums.embarcadero.com:

Christopher Burke wrote:

For example, I might have a 200 character ascii string, except for an
embedded 2 byte CRC encoded somewhere in there

Somewhere in there? How do you know where?

By using pos('ABC') etc...
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 9:09 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708955
@forums.embarcadero.com:

Christopher Burke wrote:

For example, I might have a 200 character ascii string, except for
an >> embedded 2 byte CRC encoded somewhere in there

Somewhere in there? How do you know where?

By using pos('ABC') etc...

OMG! Even assuming the real code is different, I can't understand how
you can be serious about using Pos() and perhaps even UpperCase() etc.
for this. Especially using things like Pos() etc. seems like putting
the cart before the horse, to me.

--
Rudy Velthuis http://www.rvelthuis.de

"Every day people are straying away from the church and going
back to God."
-- Lenny Bruce
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 6:19 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Markus Humm <markus dot humm at freenet dot de> wrote in
news:708743 at forums dot embarcadero dot com:

Am 09.01.2015 um 09:04 schrieb Christopher Burke:
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in
news:708631 >> @forums.embarcadero.com:

No need to wonder, I've repetedly said why.

No, you haven't.

Yes I have, I said I need string functionality, copy/pos/assignment
etc to process what are in fact strings.

Over and over and over we go.

And?
Why can't you convert this TBytes you've read in to a Unicode
string,

Because I need to tear the thing apart using string functions before
I can make it acceptable to a unicode string.

Not the data you have shown in your "challenge". That was immediately
convertible to UnicodeString.

--
Rudy Velthuis http://www.rvelthuis.de

"One word sums up probably the responsibility of any Governor,
and that one word is 'to be prepared'." -- George W. Bush
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 7:47 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708952
@forums.embarcadero.com:

Not the data you have shown in your "challenge". That was immediately
convertible to UnicodeString.

The challenge was a tiny subset of the problems, to set a small challenge.

That challenge went without a solution that didn't involve string handling
functionality.

You do realise that real world problems don't easily translate 10 line
samples, that challenge was to attempt to do that WITHOUT strings.

One person did it using a state machine, however that technique isn't
general enough and would involve writing 10 or more individual state
machines, each uniquely designed for that interface.

Even the state machine approach is just replicating string functionality
anyway.

Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 8:39 AM   in response to: Christopher Burke in response to: Christopher Burke
Christopher Burke wrote:

Rudy Velthuis (TeamB) <newsgroups at rvelthuis dot de> wrote in news:708952
@forums.embarcadero.com:

Not the data you have shown in your "challenge". That was
immediately convertible to UnicodeString.

The challenge was a tiny subset of the problems, to set a small
challenge.

That challenge went without a solution that didn't involve string
handling functionality.


Your claim was that you needed AnsiString functionality for the
challenge. You did not. You could easily use UnicodeString, which has
all necessary string handling.

So your challenge did certainly not show that you needed AnsiStrings.

Even what you explain about your data does not show you need them. It
also does not show you need "string handling" for bytes. It merely
shows you need to write a few routines that separate your binary from
your textual data.

Heck, a while ago, I wrote an entire binary .plist parser and writer
(because I wanted to interface with an iOS program that wrote .plist
files to DropBox) in a few hours. So you may have to parse some of your
data. <shrug>

--
Rudy Velthuis http://www.rvelthuis.de

The Last One's Law Of Program Generators: A program generator
creates programs that are more "buggy" than the program
generator.
david hoke

Posts: 616
Registered: 2/9/07
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 9:39 AM   in response to: Christopher Burke in response to: Christopher Burke
"Christopher Burke" <newsgroups at craznar dot com> wrote in message
news:708968 at forums dot embarcadero dot com...
That challenge went without a solution that didn't involve string handling
functionality.

That is false.

String handling functionality was not used in this solution, nor was it
replicated, nor was it a state machine:
https://forums.embarcadero.com/message.jspa?messageID=673962#673962

I'd like you to point out where you think you see string handling being used
or replicated. (The return value pieces do not count, as those return value
datatypes could be any form that you might choose to put them in, and have
nothing to do with the identifying and extraction of the data payload.)

FWIW, here it is again, hopefully with formatting intact:
(*
 
compile with:
dcc32 -D+ -L+ -V -CC acc.pas
 
*)
 
program trychallenge(input,output);
{$apptype console}
 
const
  maxpktsz = 128 ;
  initcrcval = 0 ;
 
type
  rawpkt = array[0..maxpktsz-1] of byte ;
  pktpiece = record
    len : integer ;
    data : array [0..maxpktsz-1] of byte ;
  end ;
 
procedure calccrc(var crcval:cardinal;abyte:byte);
begin
 crcval := crcval+abyte ; //lazy way out for now.
end;
 
procedure extractpieces
(var senderinfo:String;
 var data1:String;
 var data2:String;
 var flag:String;
 var resultinfo:String;
 var ok:boolean;
 var errval:integer;
 var errloc:integer;
 var formno:integer;
 const pkt:rawpkt
);
var
  i : integer ;
  crc1 : cardinal ;
  missingtwo : boolean;
begin
  i := 0 ;
  if((pkt[i] > 4) or (pkt[i]=0)) then begin
    errval := 1 ; //invalid beginning of packet
    errloc := i ;
    ok := false ;
    exit ;
  end ;
  if(pkt[i] <> 1)then begin
    errloc := i ;
    errval := 2 ; //missing <1> at beginning of packet
    ok := false ;
    exit ;
  end;
  inc(i) ;
  if(i>=maxpktsz)then begin errval:=99; exit; end;
  senderinfo := '' ;
  while((pkt[i] <> 2)and(pkt[i]<>3)and(i<maxpktsz))do begin
    senderinfo := senderinfo + chr(pkt[i]);
    inc(i);
  end;
  if(i>=maxpktsz)then begin errval:=99; exit; end;
  data1 := '' ;
  data2 := '' ;
  crc1 := initcrcval ;
  if(pkt[i] = 2)then begin //process <2> section
    formno := 1 ;
    missingtwo := false ;
    inc(i);
    if(i>=maxpktsz)then begin errval:=99; exit; end;
    while((pkt[i] > 4) and (pkt[i] <> ord(','))and(i<maxpktsz)) do begin
      data1 := data1 + chr(pkt[i]) ;
      calccrc(crc1,pkt[i]) ;
      inc(i) ;
    end;
    if(i>=maxpktsz)then begin errval:=99; exit; end;
    if(pkt[i]<=4)then begin
      errloc := i ;
      errval := 3 ; //protocol error
      ok := false ;
      exit ;
    end;
    if(pkt[i]=ord(','))then begin calccrc(crc1,pkt[i]);inc(i);end;
    if(i>=maxpktsz)then begin errval:=99; exit; end;
    while((pkt[i] > 4) and (pkt[i] <> ord(','))and(i<maxpktsz)) do begin
      data2 := data2 + chr(pkt[i]) ;
      calccrc(crc1,pkt[i]) ;
      inc(i) ;
    end;
    if(i>=maxpktsz)then begin errval:=99; exit; end;
    if(pkt[i]<=4)then begin
      errloc := i ;
      errval := 3 ; //protocol error
      ok := false ;
      exit ;
    end;
    if(pkt[i]=ord(','))then begin
      calccrc(crc1,pkt[i]);
      inc(i);//past comma before FLAG
      end
    else begin
      errloc := i ;
      errval := 4 ; //missing flag
      ok := false ;
      exit ;
    end;
    //inc(i); //past comma before FLAG
    flag := chr(pkt[i]);
    if (flag <> 'y') and (flag <> 'Y') and (flag <> 'n') and (flag <> 'N')
      and (flag<>'e') and (flag <> 'E') then begin
      errloc := i ;
      errval := 6 ; //invalid flag value
      ok := false ;
      exit ;
    end;
    calccrc(crc1,pkt[i]);
    inc(i);
    if(i>=maxpktsz)then begin errval:=99; exit; end;
    //validate the computed crc - match value to come from ?
    //if(crc1 <> expectedcrc)then crcerror;
  end
  else begin
    missingtwo := true ;
    formno := 2 ;
  end;
  if(pkt[i] <> 3)then begin
    errloc := i ;
    errval := 5 ; //protocol error, <3> expected
    ok := false ;
    exit ;
  end;
  inc(i);
  if(i>=maxpktsz)then begin errval:=99; exit; end;
  //handle <3> section
  while((pkt[i] > 4) and (pkt[i] <> ord(','))and(i<maxpktsz)) do begin
    resultinfo := resultinfo + chr(pkt[i]);
    inc(i);
  end;
  if(i>=maxpktsz)then begin errval:=99; exit; end;
  if(pkt[i]=4) and (missingtwo)then begin
    errloc := i ;
    errval := 7 ; //protocol error, ',' expected when section <2> missing
    ok := false ;
    exit ;
  end;
  if( missingtwo )then begin
    if(pkt[i]<>ord(',')) then begin
      errloc := i ;
      errval := 8 ; //internal error, should not occur
      ok := false ;
      exit ;
    end
    else begin
      inc(i);//past comma
      if(i>=maxpktsz)then begin errval:=99; exit; end;
      flag := chr(pkt[i]);
      inc(i);
      if(i>=maxpktsz)then begin errval:=99; exit; end;
      end;
  end;
  if(pkt[i] <> 4)then begin
    errloc := i ;
    errval := 9 ; //protocol error, expected <4>
    ok := false ;
    exit ;
  end;
 
  ok:=true;
end;
 
var
   teststr1 : String;
   teststr2 : String;
var senderinfo:String;
 var data1:String;
 var data2:String;
 var flag:String;
 var resultinfo:String;
 var ok:boolean;
 var errval,errloc:integer;
  formno:integer;
  bytepkt : rawpkt;
  i : integer ;
 
 
begin
   writeln('starting...');
   teststr1 := #$1+'senderinfo'+#$2+'data1,data2,Y'+#$3'resultinfo'+#$4;
 
   for i := 1 to length(teststr1) do
     bytepkt[i-1] := ord(teststr1[i]);
 
 
   extractpieces(senderinfo,data1,data2,flag,resultinfo,ok,errval,errloc,formno,bytepkt);
   if(not ok) then begin
     writeln('PROTOCOL ERROR ',errval); //error tells crudely where/why in 
source
   end
   else begin
     if(formno=1)then 
writeln('VALID:',senderinfo,',',data1,',',data2,',',resultinfo)
     else writeln('ERROR: ',senderinfo,',',resultinfo);
   end;
 
 
   teststr2 := 
#$1+'XsenderinfoX'+#$2+'Xdata1X,Ydata2Y,Y'+#$3+'YresultinfoY'+#$4;
   for i := 1 to length(teststr2) do
     bytepkt[i-1] := ord(teststr2[i]);
 
   extractpieces(senderinfo,data1,data2,flag,resultinfo,ok,errval,errloc,formno,bytepkt);
   if(not ok) then begin
     writeln('PROTOCOL ERROR ',errval); //error tells crudely where/why in 
source
   end
   else begin
     if(formno=1)then 
writeln('VALID:',senderinfo,',',data1,',',data2,',',resultinfo)
     else writeln('ERROR: ',senderinfo,',',resultinfo);
   end;
 
end.
Christopher Burke

Posts: 580
Registered: 9/25/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2 years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 1:23 PM   in response to: david hoke in response to: david hoke
david hoke <dhoke.nojunk@east-shore.com> wrote in
news:708996 at forums dot embarcadero dot com:

"Christopher Burke" <newsgroups at craznar dot com> wrote in message
news:708968 at forums dot embarcadero dot com...
That challenge went without a solution that didn't involve string
handling functionality.

That is false.

I'm outa here folks - I feel like I'm trying to explain string theory to
six year olds, when what I'm saying is so damned simple it isn't funny.

Summary of FACTS:

1. I require ANSIstrings for several low level APIs
2. No alternative was found that didn't involve replicating string
functionality.

Summary of opinions:

1. There seems to be a lot of theoretical programmers here that don't work
in the real world.
2. There seems to be a lot of trolls in here, and I admit I don't go well
in response to trolls.

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 1:47 PM   in response to: Christopher Burke in response to: Christopher Burke
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly require ANSISTRING
specifically. Use of AnsiString for 8bit data is a convenience, not a
requirement.

2. No alternative was found that didn't involve replicating string
functionality.

Granted. Processing 8-bit data as raw bytes may require some manual work,
but nothing that cannot be implemented with a few custom functions. Again,
you are trying to take a shortcut instead of doing the right thing.

--
Remy Lebeau (TeamB)
Dan Barclay

Posts: 889
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 7:06 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly require ANSISTRING
specifically. Use of AnsiString for 8bit data is a convenience, not a
requirement.

Just to be clear, programming in Delphi (or any other high level language... including MASM) is a "convenience", not a "requirement".

Unfortunately, those who learned by setting opcodes and data as bits are few these days. Or they forgot it.

File the difference under "Theory of Relativity".

The issue isn't really convenience or requirement, but whether you write your code in a convenient form that does or does not require rewrite based on someone else's whim. That's the simple part of it.

Dan
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 11:33 PM   in response to: Dan Barclay in response to: Dan Barclay
Dan Barclay wrote:

Remy Lebeau (TeamB) wrote:
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly
require ANSISTRING specifically. Use of AnsiString for 8bit data
is a convenience, not a requirement.

Just to be clear, programming in Delphi (or any other high level
language... including MASM) is a "convenience", not a "requirement".

That can be said about almost any language.

Fact is that to achieve what he wants, he does not need AnsiStrings.
Many developers using languges that only have one string type (and NOT
AnsiString) manage to do the same without any trouble.

--
Rudy Velthuis http://www.rvelthuis.de

"There are worse things in life than death. Have you ever spent
an evening with an insurance salesman?" -- Woody Allen
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2015 11:51 PM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 13.01.2015 um 08:33 schrieb Rudy Velthuis (TeamB):
Dan Barclay wrote:

Remy Lebeau (TeamB) wrote:
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly
require ANSISTRING specifically. Use of AnsiString for 8bit data
is a convenience, not a requirement.

Just to be clear, programming in Delphi (or any other high level
language... including MASM) is a "convenience", not a "requirement".

That can be said about almost any language.

Fact is that to achieve what he wants, he does not need AnsiStrings.
Many developers using languges that only have one string type (and NOT
AnsiString) manage to do the same without any trouble.

But it looks like he'd need to duplicate some of the already existing
functionality to handle his 8 bit data.

Why should we have to "reinvent" the wheel?
Yes, some of those functions are now available in XE7 for arrays, but
not all. Programming is also about doing a thing only once and not
everybody needing to "roll his own".

Greetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 13, 2015 12:21 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Am 13.01.2015 um 08:33 schrieb Rudy Velthuis (TeamB):
Dan Barclay wrote:

Remy Lebeau (TeamB) wrote:
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly
require ANSISTRING specifically. Use of AnsiString for 8bit data
is a convenience, not a requirement.

Just to be clear, programming in Delphi (or any other high level
language... including MASM) is a "convenience", not a
"requirement".

That can be said about almost any language.

Fact is that to achieve what he wants, he does not need AnsiStrings.
Many developers using languges that only have one string type (and
NOT AnsiString) manage to do the same without any trouble.

But it looks like he'd need to duplicate some of the already existing
functionality to handle his 8 bit data.

To me, it doesn't look like that at all. It may be what he is currently
doing, i.e. by treating binary data as AnsiStrings, but that is not a
necessity, and actually not the usual way to handle this at all.

Why should we have to "reinvent" the wheel?

No one is talking about re-inventing the wheel. All Delphi compilers
have a string type and string handling functions. So what is there to
re-invent?
--
Rudy Velthuis http://www.rvelthuis.de

"One word sums up probably the responsibility of any Governor,
and that one word is 'to be prepared'." -- George W. Bush
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2015 4:14 AM   in response to: Rudy Velthuis (... in response to: Rudy Velthuis (...
Am 13.01.2015 um 09:21 schrieb Rudy Velthuis (TeamB):
Markus Humm wrote:

Am 13.01.2015 um 08:33 schrieb Rudy Velthuis (TeamB):
Dan Barclay wrote:

Remy Lebeau (TeamB) wrote:
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly
require ANSISTRING specifically. Use of AnsiString for 8bit data
is a convenience, not a requirement.

Just to be clear, programming in Delphi (or any other high level
language... including MASM) is a "convenience", not a
"requirement".

That can be said about almost any language.

Fact is that to achieve what he wants, he does not need AnsiStrings.
Many developers using languges that only have one string type (and
NOT AnsiString) manage to do the same without any trouble.

But it looks like he'd need to duplicate some of the already existing
functionality to handle his 8 bit data.

To me, it doesn't look like that at all. It may be what he is currently
doing, i.e. by treating binary data as AnsiStrings, but that is not a
necessity, and actually not the usual way to handle this at all.

Why should we have to "reinvent" the wheel?

No one is talking about re-inventing the wheel. All Delphi compilers
have a string type and string handling functions. So what is there to
re-invent?

String like functions for byte arrays.
Like Pos...

GHreetings

Markus
Rudy Velthuis (...


Posts: 7,731
Registered: 9/22/99
Re: QC119501 (722 votes) - What is Embas position now after nearly 2years?
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2015 11:08 PM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

Am 13.01.2015 um 09:21 schrieb Rudy Velthuis (TeamB):
Markus Humm wrote:

Am 13.01.2015 um 08:33 schrieb Rudy Velthuis (TeamB):
Dan Barclay wrote:

Remy Lebeau (TeamB) wrote:
Christopher wrote:

1. I require ANSIstrings for several low level APIs

No, you require 8-bit data processing, which does not strictly
require ANSISTRING specifically. Use of AnsiString for 8bit
data >>>>> is a convenience, not a requirement.

Just to be clear, programming in Delphi (or any other high level
language... including MASM) is a "convenience", not a
"requirement".

That can be said about almost any language.

Fact is that to achieve what he wants, he does not need
AnsiStrings. >>> Many developers using languges that only have one
string type (and >>> NOT AnsiString) manage to do the same without
any trouble.

But it looks like he'd need to duplicate some of the already
existing >> functionality to handle his 8 bit data.

To me, it doesn't look like that at all. It may be what he is
currently doing, i.e. by treating binary data as AnsiStrings, but
that is not a necessity, and actually not the usual way to handle
this at all.
Why should we have to "reinvent" the wheel?

No one is talking about re-inventing the wheel. All Delphi compilers
have a string type and string handling functions. So what is there
to re-invent?

String like functions for byte arrays.
Like Pos...

They exist for strings. So convert properly, and use Pos for strings.

--
Rudy Velthuis http://www.rvelthuis.de

"Why am I so good at playing bitches? I think it's because
I'm not a bitch. Maybe that's why Miss Crawford always plays
ladies." -- Bette Davis
Markus Humm

Posts: 5,113
Registered: 1