Subject: | Re: backslash in dynarray
| Date: | Wed, 15 Mar 2023 16:25:40 -0700
| From: | Peter <peterspammenot@whiteknight.email>
| Newsgroups: | pnews.paradox-programming
|
think I solved the backslash problem
the code below can be plugged into a button, or whatever
var
smicntansi smallint
strchar string
aryansi array[]string
endVar
;//build array of ansi characters
for smiCntAnsi from 32 to 126
StrChar = string(smiCntAnsi)
aryAnsi.addLast(chrOEM(StrChar))
endFor
;//replace backslash with another character beyond range of 126
aryAnsi[61] = chrOEM("230")
view(aryAnsi)
Actually, it seems replacing cahracters in the array would be another
level of complexity to breaking the cipher. I think I've gone far enough.
-----------------------
On 03/15/2023 09:22 a.m., Kevin Zawicki wrote:
> *but TAB can actually be seen
>
>
> "Kevin Zawicki" <numberjack@wi.rr.com> wrote:
>>
>> Interesting...
>>
>>
>> Comment out all but
>> dynName["_\T`3e"] = 11
>>
>> Add at end of code:
>>
>> dynName.view()
>> foreach s in dynName
>> s.view()
>> endforeach
>>
>>
>>
>>
>> s.view() shows _`3e value 11
>>
>> The T is gone, and now a (invisible) TAB is between underscore and `
>>
>> \T is a tab, so you created a dynarray element with a TAB in middle.
>>
>> It does work.
>>
>> If you want
>> _\T`3e
>> You have to escape it with a \
>> _\\T`3e
>>
>>
>> Try
>> dynName["_\R`3e"] = 11
>> then
>> dynName["_\\R`3e"] = 11
>> R is similar to T, BUT
>> Cannot see it as easily
>> When viewing s set to _\R`3e
>> copy the viewing of _\R`3e which looks like _\`3e to clipboard and
>> paste into notepad
>>
>> you will see
>>
>> _
>> `3e
>>
>> A line break after the underscore. The string is two lines.
>>
>> The control character is viewable in a string, but TAB can actually be scene,
>> line break, etc cannot.
>>
>> a,b,f,n,r,t,v
>> \a = Alert (bell)
>> \b = backspace?
>> \f = form feed ?
>> \n = newline or line feed
>> \r = carriage return
>> \t = tab
>> \v = vertical tab?
>>
>> You would have to parse and add two backslashes for these letters, I think.
>>
>> Best practice is to not use them in dynarray elements, even though they
> can
>> work because any string can work.
>> I avoid backslashes altogether in such things. It creates headaches when
>> reading / translating.
>>
>> Curious, why the need for backslashes here?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Peter <peterspammenot@whiteknight.email> wrote:
>>>
>>> Ran into a a problem with a backslash in a dynarray element. Sometimes
> I
>>
>>> get a "Error: identifier expected" and other instances it does work
>>> dynName dynarray[]smallint
>>>
>>> These examples work
>>> dynName["_\T`3e"] = 20
>>> dynName["T_i\a"] = 10
>>>
>>> These do not work
>>> dynName["c[\_"] = 5
>>> dynName["WTi\W3Z"] = 21
>>>
>>> I did more testing and found the only letters that will work after a
>>> backslash are: a,b,f,n,r,t,v. Case insensitive.
>>>
>>> All numers work and single quote (")
>>>
>>> Does anyone know the reason for the ones that fail? Thanks.
>>>
>>> I have attached a form that contains a dynarray defined in the form:open
>>
>>> event. It shows what I am talking aboout
>>>
>>> ps
>>> I know for the ones that fail, it can be solved by using a double
>>> backslash but that causes other problems.
>>>
>>>
>>
>
|