I don't believe that the values are correct.
Your memo field may have a terminating character that you cannot see.
Sometimes this is a Chr(0) or a Chr(26) character.
This is why you should compare the LENGTH of each string (after the Alltrim()).
Thanks, Roger!
Now I know what you mean. Be sure to compare the length of values when the "C" and when "M".
***
I put directly in the output forms of the length of the names of clusters in the cases when C255, M4, M10: still they were the same... http://aidos.byethost6.com/C255M4M10/page_01.htm
Last edited by Eugene Lutsenko on Tue Apr 17, 2018 9:37 pm, edited 2 times in total.
Eugene Lutsenko wrote:Then I replaced "C" with "M" and the program stopped working. In the program I didn't change a thing. When you change back "M" to "C", the program starts working correctly again.
how do you change Type "C" to "M" ?
create new DBF or using DBU etc ?
what Type of DBF are you using ? DBFNTX oder FOXCDX ?
how have you transfer old "C" Value into "M" Memo ?
Hello, Auge_Ohr!
I change "C" to " M " directly in the structure of the database being created. Different databases are obtained. I'm using the DBFNDX, because already accustomed to. But sometimes (but not in this case), and use FOXCDX. I can't stand the values from the base "C" base with "M" or Vice versa. I generate them by calculation.
Eugene Lutsenko wrote:I change "C" to " M " directly in the structure of the database being created.
so you create NEW Database and APPEND fields from old DBF
do you have *.DBT or *.FPT in your Data Directory
I change "C" to " M " not programmatically, but manually in the very structure of the database on which it is based. More than anything in the source code of the program I do not change. When " C "works correctly and when" M " works incorrectly. file dbt of course there is.
Eugene Lutsenko wrote:I change "C" to " M " not programmatically, but manually in the very structure of the database on which it is based. More than anything in the source code of the program I do not change. When " C "works correctly and when" M " works incorrectly. file dbt of course there is.
so which Size does DBT have ?
i want to know how you "M" Type are filled. as Roger say you might have Chr(0) or a Chr(26) character.
did you use CHR(13) or CHR(13)+CHR(10) or CHR(141) ?
Eugene Lutsenko wrote:I change "C" to " M " not programmatically, but manually in the very structure of the database on which it is based. More than anything in the source code of the program I do not change. When " C "works correctly and when" M " works incorrectly. file dbt of course there is.
so which Size does DBT have ?
i want to know how you "M" Type are filled. as Roger say you might have Chr(0) or a Chr(26) character.
did you use CHR(13) or CHR(13)+CHR(10) or CHR(141) ?
I fill it in exactly the same way as with "C". No special characters specifically it is not inserted. I checked with Roger. They're not there
When you say "it doesn't work", the only thing that can be happening is that you are not getting the same string of data from the database when using a M vs a C field.
Check the HEX value of the string to be sure:
cString := DC_Var2HexString()
The eXpress train is coming - and it has more cars.
rdonnay wrote:When you say "it doesn't work", the only thing that can be happening is that you are not getting the same string of data from the database when using a M vs a C field.
Check the HEX value of the string to be sure:
cString := DC_Var2HexString()
I understand it, because nothing else in the program changes. The program works in the sense that it does not crash by mistake, but it does not work correctly. In this sense, it does not work. Verify
This means that I change the structure in the source code of the program. Nothing else in the program do not change. Then I compile and check how it works. When " C "works as intended, and when" M " works too, but incorrectly. Can't understand why this is so. I would like to use "M" because "C" imposes a restriction on the ability of the regime.